# ENS Resolver

> ENS Resolver is a paid API for AI agents from ens-resolver.underscoredone.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-13).

Resolves an ENS name to its Ethereum address, or reverse-resolves an Ethereum address to its ENS name.

## Facts

- Endpoint: POST https://ens-resolver.underscoredone.com/resolve
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ens-resolver-2163cf79
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_hec0yKZXD1zygyAmpDmSG

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 ens-resolver-2163cf79 -d '<json body>'
```

Example prompt: What Ethereum address does vitalik.eth resolve to? Also, can you do the reverse and look up the ENS name for 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?

## When to prefer this

Use this endpoint when an AI agent needs to resolve ENS names to Ethereum addresses or perform reverse resolution in a lightweight, pay-per-call manner without managing RPC infrastructure. Ideal for agents that occasionally need ENS lookups without a persistent Ethereum node connection.

## Known failure modes

- ENS name does not exist or has no resolver set — returns error or null address
- Ethereum address has no reverse ENS record registered — returns empty or null name
- Malformed input (invalid ENS name or non-0x address) — returns validation error
- ENS resolution temporarily unavailable due to Ethereum node issues — returns 5xx error
- Payment not processed correctly via x402 protocol — returns 402 Payment Required

## How this service works

Look up an ENS name or an Ethereum address and get back the matching one, automatically figuring out which direction you need.

## Output

Returns the resolved counterpart: if given an ENS name like vitalik.eth, returns the corresponding Ethereum address; if given a 0x Ethereum address, returns the matching ENS name. Response is a JSON object with API version metadata.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "query": {
   "type": "string",
   "description": "An ENS name like vitalik.eth, or an Ethereum address starting with 0x. The service automatically figures out which one you gave it."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "api_version": "1.0.0"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ens-resolver-2163cf79/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from ens-resolver.underscoredone.com](https://www.zero.xyz/host/ens-resolver.underscoredone.com/llms.txt)
