openapi: 3.1.0 info: title: ENS Resolver description: Look up an ENS name or an Ethereum address and get back the matching one, automatically figuring out which direction you need. version: 1.0.0 contact: name: _done url: https://forms.gle/5KzuSFH7p8hHtDmz7 email: info@underscoredone.com x-openapi-url: https://ens-resolver.underscoredone.com/openapi.json x-logo: url: https://underscoredone.com/logo.png altText: _done x-guidance: 'Send the query field with either an ENS name ending in .eth or a 0x Ethereum address. The service auto-detects direction: names resolve forward to addresses, addresses resolve backward to their primary ENS name. If nothing is found, resolved will be false and address or name may be null, but this is not an error. Only malformed input causes a 400 error.' x-ai-instructions: 'Send the query field with either an ENS name ending in .eth or a 0x Ethereum address. The service auto-detects direction: names resolve forward to addresses, addresses resolve backward to their primary ENS name. If nothing is found, resolved will be false and address or name may be null, but this is not an error. Only malformed input causes a 400 error.' x-provider: _done — single-purpose utility APIs for developers and AI agents. Pay per call with USDC on Base Mainnet or Solana Mainnet. x-pricing: model: pay-per-call currency: USDC network: Base Mainnet or Solana Mainnet price: $0.01 x-keywords: - network - ens - resolver - ethereum - wallet address - ens name lookup - blockchain identity - reverse resolve - utility - api - ai-agent - pay-per-call - usdc - x402 x-category: ens x-provider-url: https://underscoredone.com x-agentcash-auth: mode: paid x-402: price: $0.01 network: eip155:8453 asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913' pay_to: '0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08' facilitator: https://api.cdp.coinbase.com/platform/v2/x402 scheme: exact description: Look up an ENS name or an Ethereum address and get back the matching one, automatically figuring out which direction you need. mime_type: application/json networks: - network: eip155:8453 asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913' pay_to: '0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08' - network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp asset: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v pay_to: 8ugAWAXDB8V18kiUrGZTq1oMvU3C6Fxs8hfC6rvzQT3b paths: /resolve: post: tags: - ens - ens resolver - ethereum name service - resolve ens name - ens to address - address to ens - .eth domain - ens lookup - reverse ens - onchain identity - web3 identity - wallet name lookup - ethereum address name - name resolution summary: Look up an ENS name or address and get back the matching one. description: Look up an ENS name or address. Send a name like vitalik.eth to get its address, or send an address starting with 0x to get its friendly name, if it has one. If nothing matches, resolved will simply be false rather than an error. operationId: handler_resolve_post requestBody: content: application/json: schema: $ref: '#/components/schemas/Request' required: true responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/Response' examples: success: summary: Successful response value: api_version: 1.0.0 '422': description: Unprocessable — a required field is missing or the wrong type. Check the detail field for specifics. content: application/json: schema: type: object properties: detail: type: array '402': description: Payment required. Send a signed USDC payment on Base Mainnet or Solana Mainnet using the x402 protocol. headers: X-Payment-Response: description: x402 payment challenge — base64-encoded JSON with payment details. schema: type: string '400': description: Bad request — your input failed validation or could not be processed. Check the detail field for specifics. content: application/json: schema: type: object properties: detail: type: string x-ai-instructions: 'Send the query field with either an ENS name ending in .eth or a 0x Ethereum address. The service auto-detects direction: names resolve forward to addresses, addresses resolve backward to their primary ENS name. If nothing is found, resolved will be false and address or name may be null, but this is not an error. Only malformed input causes a 400 error.' x-guidance: 'Send the query field with either an ENS name ending in .eth or a 0x Ethereum address. The service auto-detects direction: names resolve forward to addresses, addresses resolve backward to their primary ENS name. If nothing is found, resolved will be false and address or name may be null, but this is not an error. Only malformed input causes a 400 error.' x-payment-info: price: fixed: mode: fixed currency: USD amount: '0.01' protocols: - x402: {} components: schemas: HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError Request: properties: query: type: string title: Query description: An ENS name like vitalik.eth, or an Ethereum address starting with 0x. The service automatically figures out which one you gave it. type: object required: - query title: Request example: query: vitalik.eth Response: properties: api_version: type: string title: Api Version description: The version of this service that produced the answer. default: 1.0.0 query: type: string title: Query description: The exact text you sent in, cleaned of extra spaces. direction: type: string title: Direction description: 'Which way the lookup went: forward means a name was turned into an address, reverse means an address was turned into a name.' name: anyOf: - type: string - type: 'null' title: Name description: The ENS name that was found, or empty if none was found. address: anyOf: - type: string - type: 'null' title: Address description: The Ethereum address that was found, or empty if none was found. resolved: type: boolean title: Resolved description: True if a matching name or address was found, false if nothing was found. type: object required: - query - direction - resolved title: Response example: address: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045' api_version: 1.0.0 direction: forward name: vitalik.eth query: vitalik.eth resolved: true ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError securitySchemes: siwx: type: apiKey in: header name: SIGN-IN-WITH-X description: CAIP-122 wallet signature for repeat access after payment servers: - url: https://ens-resolver.underscoredone.com description: Production tags: - name: ens - name: ens resolver - name: ethereum name service - name: resolve ens name - name: ens to address - name: address to ens - name: .eth domain - name: ens lookup - name: reverse ens - name: onchain identity - name: web3 identity - name: wallet name lookup - name: ethereum address name - name: name resolution x402Version: 2 x-payment-accepts: - scheme: exact network: eip155:8453 payTo: '0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08' asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913' - scheme: exact network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp payTo: 8ugAWAXDB8V18kiUrGZTq1oMvU3C6Fxs8hfC6rvzQT3b asset: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v