Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

ENS Metadata

Manage AI agent metadata on ENS names using the ERC-8004 standard. View, set, validate, and template metadata records.

Powered by @ensmetadata/cli, mounted as objekt ens metadata.

View metadata

objekt ens metadata view 1a35e1.eth
objekt ens metadata view 1a35e1.eth --json

Set metadata

Dry run (shows what would be set, estimates gas):

objekt ens metadata set 1a35e1.eth agent.json --private-key 0x...

Broadcast on-chain:

objekt ens metadata set 1a35e1.eth agent.json --private-key 0x... --broadcast

Validate a payload

objekt ens metadata validate agent.json

Generate a template

objekt ens metadata template > agent.json

Edit the generated file, then validate and set.

Payload format

The payload follows the ERC-8004 v2.0 agent registration spec. Key fields:

{
  "type": "https://eips.ethereum.org/EIPS/eip-8004#registration-v1",
  "name": "My Agent",
  "description": "What this agent does",
  "services": [
    {
      "name": "MCP",
      "endpoint": "https://mcp.example.com",
      "version": "2025-11-25"
    },
    {
      "name": "A2A",
      "endpoint": "https://example.com/.well-known/agent-card.json",
      "version": "0.3.0"
    },
    {
      "name": "web",
      "endpoint": "https://example.com"
    }
  ],
  "active": true,
  "x402Support": true
}

Supported service types

ServiceDescription
MCPModel Context Protocol server endpoint
A2AAgent-to-Agent protocol card URL
OASFOASF schema endpoint
agentWalletCAIP-10 wallet address
webHuman-facing web UI
emailSupport email
ENSENS name
DIDDecentralized identifier

Custom service types are also supported.

How it works

Metadata is stored as ENS text records on-chain. The set command writes key-value pairs to your ENS name's resolver via setText. Any ENS-aware application can read these records.

The schema CID is automatically injected from the published registry, linking your metadata to the standard for discoverability.