# skills.onesource.io ENS Forward Resolver

> skills.onesource.io ENS Forward Resolver is a paid API for AI agents from skills.onesource.io, paid per call via x402, $0.005000/call, status unknown (last checked 2026-09-16).

Resolves an ENS name (e.g. vitalik.eth) to its Ethereum address and on-chain metadata across multiple networks

## Facts

- Endpoint: GET https://skills.onesource.io/api/chain/ens/vitalik.eth
- Price: $0.005000/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/skills-onesource-io-67870069
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_MZuL0aPuMFjvTUfhj1H6G

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 skills-onesource-io-67870069
```

Example prompt: What Ethereum address does vitalik.eth resolve to on the Ethereum mainnet?

## When to prefer this

Use this endpoint when you need to forward-resolve a .eth ENS name to its underlying Ethereum address across multiple chains including mainnet, Base, Avalanche, and testnets. Prefer this over generic ENS libraries when you need a simple HTTP API call without running a full node or web3 library, and when multi-network support (Base, Avalanche, MegaETH) is required.

## Known failure modes

- ENS name not registered or has no resolver — returns null address or error
- Invalid input format (not a valid .eth name or 0x address) — validation error
- Network not supported or unavailable — enum validation error
- ENS name exists but has no address record set — partial result
- RPC node timeout or chain unavailability — 5xx server error
- Payment not included or insufficient — 402 payment required

## How this service works

Resolves ENS names like vitalik.eth to on-chain data.

## Output

Returns the resolved Ethereum address (0x...), the ENS name, the resolver contract address, and boolean flags indicating whether forward and reverse resolution are set, along with request metadata including the endpoint path and a request ID.

## Example request

```json
{}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {},
 "description": "No body parameters required. The ENS name is passed as a path parameter in the URL (e.g. /api/chain/ens/vitalik.eth). Optionally, a 'network' query parameter may be supported (e.g. ethereum, sepolia, avax, megaeth, megaeth-testnet, base), but the request body should be empty."
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "data",
  "meta"
 ],
 "properties": {
  "data": {
   "type": "object",
   "required": [
    "name",
    "address",
    "resolver",
    "is_forward",
    "is_reverse"
   ],
   "properties": {
    "name": {
     "type": "string"
    },
    "address": {
     "type": "string"
    },
    "resolver": {
     "type": "string"
    },
    "is_forward": {
     "type": "boolean"
    },
    "is_reverse": {
     "type": "boolean"
    }
   }
  },
  "meta": {
   "type": "object",
   "required": [
    "endpoint",
    "request_id"
   ],
   "properties": {
    "endpoint": {
     "type": "string"
    },
    "request_id": {
     "type": "string"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/skills-onesource-io-67870069/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from skills.onesource.io](https://www.zero.xyz/host/skills.onesource.io/llms.txt)
