# ENS Name Forward Resolution

> ENS Name Forward Resolution is a paid API for AI agents from chain.openverbs.com, paid per call via x402, $0.003/call, status unknown (last checked 2026-09-14).

Resolves an ENS name (e.g. alice.eth, *.base.eth) to its Ethereum address by reading live from the ENS resolver on Ethereum mainnet

## Facts

- Endpoint: POST https://chain.openverbs.com/v1/ens-resolve
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ens-name-forward-resolution-31c48b51
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_2_KHYKrWOfbYboM7EXo-P

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-name-forward-resolution-31c48b51 -d '<json body>'
```

Example prompt: What Ethereum address does vitalik.eth resolve to? Look it up live from the ENS resolver on mainnet.

## When to prefer this

Use this endpoint when you need a live, authoritative forward resolution of an ENS name to its Ethereum address, especially when offchain names like *.base.eth are involved. Prefer this over cached or third-party ENS APIs when freshness and correctness matter (e.g., before sending a transaction). It explicitly signals found:false rather than throwing an error, making it safe and easy to handle unregistered names.

## Known failure modes

- ENS name has no address record set — returns found:false (not an error)
- Malformed or non-existent ENS name — may return found:false or an error
- Mainnet RPC congestion — automatic fallback to secondary endpoint mitigates this
- Name exists but only has text records, not an address — returns found:false

## How this service works

Resolve an ENS name (like alice.eth) to its Ethereum address, read live from the ENS resolver on Ethereum mainnet. Offchain names such as *.base.eth resolve too. Returns `found:false` (a real answer, not an error) when the name has no address record. Live reads with automatic endpoint fallback.

## Output

Returns the resolved Ethereum address for the given ENS name if found, along with a 'found' boolean. When the name has no address record, returns found:false (a definitive answer, not an error). Supports both mainnet .eth names and offchain names like *.base.eth, with automatic RPC endpoint fallback for reliability.

## Request schema (JSON Schema)

```json
{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "type": "object",
 "properties": {
  "input": {
   "type": "object",
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "type": "string",
     "enum": [
      "POST"
     ]
    },
    "bodyType": {
     "type": "string",
     "enum": [
      "json",
      "form-data",
      "text"
     ]
    },
    "body": {
     "type": "object",
     "properties": {
      "name": {
       "type": "string",
       "description": "ENS name to resolve, e.g. vitalik.eth."
      }
     },
     "required": [
      "name"
     ],
     "additionalProperties": false
    }
   },
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "additionalProperties": false
  }
 },
 "required": [
  "input"
 ]
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ens-name-forward-resolution-31c48b51/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from chain.openverbs.com](https://www.zero.xyz/host/chain.openverbs.com/llms.txt)
