ENS & Basename resolver (both ways, with profile records) ($0.0027)
ens_resolvePAID ($0.0027 USDC via x402). ENS both ways: a name (vitalik.eth, or a Basename like jesse.base.eth) to its address, or an address to its primary name — which the Universal Resolver verifies resolves back — plus the profile records the name's owner published: url, X/Twitter, GitHub, description and the raw avatar record (not fetched). Read from Ethereum mainnet over public RPCs; Basenames resolve through ENS's off-chain lookup, whose gateway URLs are fetched through FiatDock's SSRF guard. ASCII names only (letters, digits, hyphens). A name with no address, or an address with no primary name, answers 404 and is not charged. Without payment this returns the 402 challenge; the fiatdock-mcp npm package pays automatically. Any answer the tool cannot produce is >= 400 and is NOT charged.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | An ENS name to resolve (vitalik.eth, jesse.base.eth …) — ASCII letters, digits and hyphens | |
| address | No | Or an address, to find its primary ENS name (0x + 40 hex) | |
| payment | No | Base64 of a single x402 v2 PaymentPayload (EIP-3009 transferWithAuthorization on Base USDC). OMIT it on the first call: the 402 you get back carries `howToPay.payloadTemplate` — the exact envelope to fill in — plus the price and the EIP-712 domain. Send it on the second call to complete the purchase; it is forwarded as the PAYMENT-SIGNATURE header, never as body data. Nothing is charged for the 402 itself, and a call that fails after payment settles nothing. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| asOf | Yes | ISO time of the read | |
| name | Yes | The ENS name | |
| note | Yes | What the records are, and the limits | |
| chain | Yes | Where ENS was read (Ethereum mainnet) | |
| query | Yes | What was asked: a name or an address | |
| address | Yes | The address it resolves to (checksummed) | |
| records | Yes | Profile records the name's owner published (their words, unverified); avatar is the raw record and is not fetched | |
| defaulted | No | Present only when the body was empty: which subject the answer is for, and why | |
| elapsedMs | Yes | Time taken, in ms | |
| primaryName | Yes | The address's own primary (reverse) name, verified to resolve back, or null | |
| resolvedVia | Yes | How the name was resolved | |
| isPrimaryName | Yes | True when the address's primary name is this name |