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.ethobjekt ens metadata view 1a35e1.eth --jsonSet 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... --broadcastValidate a payload
objekt ens metadata validate agent.jsonGenerate a template
objekt ens metadata template > agent.jsonEdit 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
| Service | Description |
|---|---|
MCP | Model Context Protocol server endpoint |
A2A | Agent-to-Agent protocol card URL |
OASF | OASF schema endpoint |
agentWallet | CAIP-10 wallet address |
web | Human-facing web UI |
email | Support email |
ENS | ENS name |
DID | Decentralized 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.