# ENS + Basename Bidirectional Resolver

> ENS + Basename Bidirectional Resolver is a paid API for AI agents from api.x402node.dev, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-14).

Resolves ENS names (e.g. vitalik.eth) to Ethereum addresses and reverse-resolves addresses to their primary ENS or Base basename, using L1 ENS Universal Resolver with CCIP-read support.

## Facts

- Endpoint: GET https://api.x402node.dev/wallet/ens-resolve
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/api-x402node-dev-d6e0204f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_K511xaDHLI6tB0PJHx1Ii

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability api-x402node-dev-d6e0204f
```

Example prompt: What Ethereum address does vitalik.eth resolve to? Also, does the address 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 have a registered primary ENS name or Base basename?

## When to prefer this

Use this endpoint when you need to resolve ENS names or Base basenames to addresses (or vice versa) and require full L1 ENS Universal Resolver support with CCIP-read/ENSIP-19, which a Base-only RPC cannot provide. Ideal for labeling counterparties before transacting, validating human-readable addresses, or enriching wallet data with identity information.

## Known failure modes

- Name not registered or expired — returns null or error indicating no resolver found
- Address has no primary name set — returns null for reverse lookup
- Invalid ENS name format — returns validation error
- CCIP-read gateway timeout for off-chain records — returns resolution failure
- Unsupported name format — only .eth and .base.eth are handled

## How this service works

Bidirectional ENS + Basename resolution: POST { name } (e.g. vitalik.eth or jesse.base.eth) to resolve its address, or POST { address } to resolve its primary name (checks both Base basename and Ethereum .eth). Uses the L1 ENS Universal Resolver with ENSIP-19, CCIP-read, which a Base-only RPC cannot do. For AI agents resolving human-readable names to addresses and labeling counterparties before transacting. Accepts payment on Base or Solana — either network works.

## Output

Returns the resolved Ethereum address for a given ENS or Base basename, or the primary ENS/.base.eth name registered for a given address. Handles both forward and reverse resolution including CCIP-read for off-chain ENS records used by Base basenames.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "name"
     ],
     "properties": {
      "name": {
       "type": "string",
       "description": "ENS name e.g. vitalik.eth (required)"
      },
      "address": {
       "type": "string",
       "description": "EVM/chain address (optional)"
      }
     }
    }
   },
   "additionalProperties": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/api-x402node-dev-d6e0204f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.x402node.dev](https://www.zero.xyz/host/api.x402node.dev/llms.txt)
