# ENS Name & Address Lookup

> ENS Name & Address Lookup is a paid API for AI agents from x402-gateway.blackwoodstate8.workers.dev, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-23).

Resolves an ENS name to an Ethereum address (or reverse-resolves an address to its primary ENS name) and returns avatar, profile text records, and metadata in one call.

## Facts

- Endpoint: POST https://x402-gateway.blackwoodstate8.workers.dev/v1/ens-lookup?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-23
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ens-name-address-lookup-ae60ee9b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_dgDkHcYXjdrOx6anogjfY

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-address-lookup-ae60ee9b -d '<json body>'
```

Example prompt: Look up vitalik.eth for me — I need its Ethereum address, avatar, and also grab its Twitter and GitHub text records.

## When to prefer this

Use this endpoint when you need to resolve ENS names to Ethereum addresses, reverse-resolve addresses to human-readable ENS names, or fetch ENS profile data (avatar, social links, URLs) in a single low-latency call. Do not use for registering or renewing ENS names, for Solana SNS or other non-Ethereum naming systems, or for non-ENS Ethereum domain systems like Unstoppable Domains.

## Known failure modes

- ENS name not found or not registered — returns null address
- Address has no reverse record set — primaryName is null
- Text records requested but not set on the name — returns empty or null values
- Both name and address provided simultaneously — returns validation error
- Invalid Ethereum address format — schema validation error
- ENS name shorter than 3 characters — schema validation error
- Upstream Ethereum RPC timeout — may return 5xx after ~2s
- Payment not attached or insufficient — returns 402 Payment Required

## How this service works

Use when you need to resolve an ENS name to an address, reverse-resolve an address to its ENS name, or read an ENS avatar and profile records. Do not use for registering or renewing names, or non-ENS naming such as Solana SNS. Returns JSON with an ENS lookup on Ethereum in one call: the address of a name, the verified primary name of an address (reverse), the avatar and text records such as url, twitter and github for 0.005 USDC per call. Typical response time 2000 ms (p95). Category: Data.

## Output

Returns a JSON object containing: the resolved Ethereum address (for forward lookups), the verified primary ENS name (for reverse lookups), the avatar content hash and rendered avatar URL, requested text records (url, com.twitter, com.github, email, description, etc.), the resolver contract address, the Ethereum chain identifier, and the block number at which the data was fetched. Also includes a suggested next-call hint for chaining queries.

## 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",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "required": [],
     "properties": {
      "name": {
       "type": "string",
       "maxLength": 255,
       "minLength": 3,
       "description": "ENS name to resolve, e.g. vitalik.eth (send name or address, not both)"
      },
      "texts": {
       "type": "array",
       "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9._-]{1,64}$"
       },
       "maxItems": 10,
       "minItems": 1,
       "description": "Text record keys to read (avatar, url, description, com.twitter, com.github and email when omitted), e.g. [\"url\", \"com.github\"]"
      },
      "address": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "Ethereum address to reverse-resolve, e.g. 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 (send name or address, not both)"
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "name",
      "address",
      "primaryName",
      "avatar",
      "avatarUrl",
      "texts",
      "resolver",
      "chain",
      "blockNumber"
     ],
     "properties": {
      "name": {
       "type": [
        "string",
        "null"
       ]
      },
      "next": {
       "type": "object",
       "required": [
        "service",
        "tool",
        "method",
        "url",
        "useWhen",
        "sample"
       ],
       "properties": {
        "url": {
         "type": "string",
         "description": "Paid route of the next call"
        },
        "tool": {
         "type": "string",
         "description": "MCP tool name of the same call"
        },
        "method": {
         "enum": [
          "GET",
          "POST"
         ],
         "type": "string"
        },
        "sample": {
         "type": "string",
         "description
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "name": "vitalik.eth",
  "chain": "ethereum",
  "texts": {
   "url": "https://vitalik.ca",
   "email": null,
   "avatar": "https://euc.li/vitalik.eth",
   "com.github": "vbuterin",
   "com.twitter": "VitalikButerin",
   "description": "mi pinxe lo crino tcati"
  },
  "avatar": "https://euc.li/vitalik.eth",
  "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
  "resolver": "0x231b0Ee14048e9dCcD1d247744d114a4EB5E8E63",
  "avatarUrl": "https://euc.li/vitalik.eth",
  "blockNumber": 26216461,
  "primaryName": "vitalik.eth"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ens-name-address-lookup-ae60ee9b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-gateway.blackwoodstate8.workers.dev](https://www.zero.xyz/host/x402-gateway.blackwoodstate8.workers.dev/llms.txt)
