# Web3 Tools ENS Namehash

> Web3 Tools ENS Namehash is a paid API for AI agents from web3-tools.x402tookit.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-21).

Computes the EIP-137 ENS namehash and per-label keccak256 label hashes for a given ENS name, ready for use in contract calls and subgraph queries.

## Facts

- Endpoint: GET https://web3-tools.x402tookit.com/ens-namehash?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-21
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/web3-tools-ens-namehash-c066f12f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_FjtBYTOV5HkCMY0_jS6sz

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 web3-tools-ens-namehash-c066f12f
```

Example prompt: Can you compute the ENS namehash and label hashes for vitalik.eth so I can use it in a Solidity contract call?

## When to prefer this

Use this endpoint when you need the EIP-137-compliant namehash or per-label keccak256 hashes for an ENS name, particularly for passing a node parameter to ENS registry/resolver smart contracts or filtering ENS subgraph queries. Prefer it over manual computation when correctness of the multi-step hashing derivation matters, or when you need the intermediate node and labelhash breakdown for debugging ENS resolver configurations.

## Known failure modes

- Name not provided (missing required 'name' query parameter) — likely returns 400 or validation error
- Name contains uppercase or non-ASCII characters — result may be undefined or rejected
- Malformed name (e.g. trailing dot, double dots) — may return degraded flag or error verdict
- Payment not included or rejected — 402 Payment Required response
- Service unavailable — 5xx response

## How this service works

Compute the ENS namehash (EIP-137) and label hashes for a name such as vitalik.eth, for contract calls and subgraph queries.

## Output

Returns a structured object containing the full EIP-137 namehash (as a 0x-prefixed hex string), the labelhash for each individual label in the name, intermediate node values at each step of the hashing derivation, the label count, the labelhash of the first label, the source, and an asOf timestamp. Degraded or error states are flagged with a verdict and reasons array.

## 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",
     "required": [
      "name"
     ],
     "properties": {
      "name": {
       "type": "string",
       "description": "An ENS name in lowercase ASCII, for example foo.eth"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "asOf": {
       "type": [
        "null",
        "string"
       ]
      },
      "name": {
       "type": [
        "null",
        "string"
       ]
      },
      "steps": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "object",
        "properties": {
         "node": {
          "type": [
           "null",
           "string"
          ]
         },
         "label": {
          "type": [
           "null",
           "string"
          ]
         },
         "labelhash": {
          "type": [
           "null",
           "string"
          ]
         }
        }
       }
      },
      "source": {
       "type": [
        "null",
        "string"
       ]
      },
      "reasons": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "string"
       }
      },
      "summary": {
       "type": [
        "null",
        "string"
       ]
      },
      "verdict": {
       "type": [
        "null",
        "string"
       ]
      },
      "degraded": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "namehash": {
       "type": [
        "null",
        "string"
       ]
      },
      "disclaimer": {
       "type": [
        "null",
        "string"
       ]
      },
      "labelCount": {
       "type": [
        "null",
        "number"
       ]
      },
      "notChecked": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "string"
       }
      },
      "labelhashOfFirstLabel": {
       "type": [
        "null",
        "string"
       ]
      }
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/web3-tools-ens-namehash-c066f12f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from web3-tools.x402tookit.com](https://www.zero.xyz/host/web3-tools.x402tookit.com/llms.txt)
