# ENS / Basename Lookup & Verification

> ENS / Basename Lookup & Verification is a paid API for AI agents from kr-x402-mvp.kgy5612.workers.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-31).

Resolves an ENS name or Basename to its Ethereum address (and vice versa), verifying forward/reverse match and checking if it is safe to send funds to.

## Facts

- Endpoint: GET https://kr-x402-mvp.kgy5612.workers.dev/v1/crypto/ens?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ens-basename-lookup-verification-91e723dc
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_0CtRF0ulA7LkVruk-_AdM

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-basename-lookup-verification-91e723dc
```

Example prompt: Can you resolve vitalik.eth to its Ethereum address and confirm the forward and reverse records match before I send anything to it?

## When to prefer this

Choose this endpoint when you need to resolve an ENS name or Basename to an address (or vice versa), verify that both records match before sending funds, or retrieve ENS profile metadata (avatar, URL). It requires no API key and charges $0.002 USDC per call via x402, making it ideal for onchain AI agents that already handle micropayments. Prefer it over general-purpose RPC calls when you also need the safe-to-send flag, contract check, and suggested follow-up endpoints in one response.

## Known failure modes

- Name not found / not registered — returns null or error if ENS name does not exist
- Address has no reverse record — reverse lookup returns empty name
- Forward/reverse mismatch — verified=false and safe_to_send may be false
- Invalid address format — rejected by the address regex pattern
- Payment failure — x402 USDC micropayment on Base not completed, request blocked
- Network or resolver timeout — upstream ENS resolver unreachable

## How this service works

Pay-per-call crypto microdata for trading/onchain AI agents via x402 (USDC on Base): Base gas, token risk, balances, multi-venue prices, Hyperliquid book/funding, kimchi premium. No API keys.

## Output

Returns the resolved Ethereum address, the ENS/Basename name, direction of resolution (forward or reverse), whether the forward and reverse records are verified to match, a safe-to-send boolean, ENS records such as avatar and URL, a contract check on Base (is_contract, EIP-7702 delegation), a human-readable summary, and suggested next API calls for deeper wallet or contract analysis.

## 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",
     "properties": {
      "name": {
       "type": "string",
       "examples": [
        "vitalik.eth",
        "jesse.base.eth"
       ],
       "maxLength": 255,
       "description": "ENS name or Basename, e.g. vitalik.eth, jesse.base.eth"
      },
      "address": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "examples": [
        "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
       ],
       "description": "Address for reverse lookup"
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "name": "vitalik.eth",
  "next": [
   "/crypto/contract-info?address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
   "/crypto/wallet-snapshot?wallet=0xd8da6bf26964af9d7eed9e03e53415d37aa96045"
  ],
  "input": "vitalik.eth",
  "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
  "records": {
   "url": "https://vitalik.ca",
   "avatar": "eip155:1/erc1155:0xb32979486938aa9694bfc898f35dbed459f44424/10063"
  },
  "summary": "vitalik.eth -> 0xd8da6bf26964af9d7eed9e03e53415d37aa96045 (reverse matches: verified)",
  "verified": true,
  "direction": "forward",
  "checked_at": "2026-10-30T05:40:00Z",
  "is_basename": false,
  "reverse_name": "vitalik.eth",
  "safe_to_send": true,
  "contract_check": {
   "chain": "base",
   "is_contract": false,
   "eip7702_delegated": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ens-basename-lookup-verification-91e723dc/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from kr-x402-mvp.kgy5612.workers.dev](https://www.zero.xyz/host/kr-x402-mvp.kgy5612.workers.dev/llms.txt)
