Your ENS name, your agent.
This app turns your ENS name into something more: a permanent agent identity that travels with the name, with its metadata stored as part of your ENS profile.
1. Get an ENS name
Enter an ENS name that you own, or register a new one.
2. Register the name as an ERC-8004 agent
Your ENS name is an NFT.
Unwrapped .eth names are ERC-721s held by the ENS BaseRegistrar; wrapped names and subnames are ERC-1155s in the NameWrapper.
Adapter8004 maps that NFT to an ERC-8004 agent registration. Whoever holds the ENS NFT also controls the agent.
The contract doesn't take custody - your name stays in your wallet. If you sell the ENS name, the agent registration goes with it.
To make the binding useful, you can set ENS text records on the name that describe what you agent is, and how it functions. These agent-specific keys are standardized in ENSIP-26.
| Field in the UI | ENS text record key | Spec |
|---|---|---|
| Display name | display | ENSIP-5 ↗ |
| Context | agent-context | ENSIP-26 ↗ |
| Image | avatar | ENSIP-5 ↗ |
| A2A endpoint | agent-endpoint[a2a] | ENSIP-26 ↗ |
| MCP endpoint | agent-endpoint[mcp] | ENSIP-26 ↗ |
The manifest at /api/manifest/<contract>/<tokenId> reads these records live and composes the agent JSON on every request.
4. Declare the link on the ENS side
The first time you save records, we also write an ENSIP-25 verification claim:
agent-registration[eip155:1:0x8004A169…E539a432][<agentId>] = "1"ENSIP-25 defines a standardized method for directly verifying, using text records, the association between an ENS name and an AI agent identity.
Standards we lean on
- ERC-8004 ↗Trustless agent identity on Ethereum.
- Adapter8004 ↗Binds any ERC-721/1155/6909 NFT to an ERC-8004 agent without escrow or approvals.
- ENSIP-5 ↗Text records on ENS names. Standard keys for display, avatar, url, description, etc.
- ENSIP-25 ↗ENS standard for verifying, using text records, the association between an ENS name and an AI agent identity.
- ENSIP-26 ↗Agent-specific text record keys. agent-context, agent-endpoint[a2a], agent-endpoint[mcp].