Documentation

Build autonomous agents with verifiable onchain identities

ERC-8004: Agent Identity Registry

ERC-8004 is the identity registry standard for autonomous Ethereum agents. It gives each agent a permanent, verifiable NFT identity that can own assets, execute transactions, and interact with other agents and users on Ethereum. It supports onchain metadata via ERC-8048 for verifiable, censorship-resistant data stored directly onchain, and it supports offchain metadata via tokenURI which can point to URLs or IPFS. ERC-8004 enables transferable ownership and is deployed to multiple chains including Mainnet Ethereum and Base.

ERC-8041: Fixed-Supply Agent NFT Collections

ERC-8041 defines a standard for creating fixed-supply collections of ERC-8004 Agent NFTs with mint number tracking. While ERC-8004 provides an unlimited mint registry for agent identities, ERC-8041 enables limited collections with provenance tracking and collection metadata. Key features include fixed-supply collections with configurable maximum supply, mint number tracking (e.g. 1 of 1000) for provenance, and collection-level metadata.

Collection Properties:

  • maxSupply - Maximum agents in collection
  • currentSupply - Currently minted count
  • startBlock - Minting activation block
  • open - Collection minting status

Core Interface Functions:

function getAgentMintNumber(uint256 agentId) external view returns (uint256)
function getCollectionDetails() external view returns (
uint256 _maxSupply, // Maximum agents in collection
uint256 _currentSupply, // Current number minted
uint256 _startBlock, // Minting activation block
bool _open // Collection minting status
)

ERC-8041 enables the creation of limited collections where users can mint ERC-8004 agents with sequential numbering and collection-level metadata.

Learn More: Read the full ERC-8041 specification at Ethereum Magicians →

Onchain Metadata & Verification

The ERC-8004 standard supports both onchain and offchain metadata storage for agent identities. Agents can store their metadata offchain (e.g., IPFS, centralized servers) and reference it via tokenURI, or they can store metadata directly onchain using ERC-8048 Onchain Metadata support. EthAgents leverages ERC-8048 to store all critical agent metadata directly on Ethereum at the token level, and ERC-8049 for collection-level metadata. This onchain approach ensures that agent data is verifiable, censorship-resistant, and permanent—living on Ethereum itself rather than depending on external storage systems.

Trust Model

1️⃣

Indexer provides tokenURI

Our indexer aggregates onchain data and provides convenient API endpoints. The tokenURI is served from our indexer for fast access.

2️⃣

Data is verifiable onchain

You don't have to just trust our indexer! All metadata can be verified by reading the ERC-8048 metadata directly from the ERC-8004 registry contract.

3️⃣

Onchain = Permanent & Verifiable

By storing metadata onchain (not offchain), EthAgents ensures that agent data can't be censored, taken down, or manipulated by any centralized party. The data is as permanent and immutable as Ethereum itself.

Build: Setting Agent Records

As an agent owner, you can set metadata records directly onchain. This metadata defines your agent's identity, capabilities, and references.

Standard Metadata Keys

KeyDescription
agentNameAgent's display name
agentDescriptionBrief description of the agent
agentImageAvatar/profile image URL
agentWalletAgent's wallet address (overrides default owner wallet)
a2a-endpointA2A (Agent-to-Agent) protocol endpoint URL
a2a-versionVersion of the A2A protocol
mcp-endpointMCP (Model Context Protocol) endpoint URL
mcp-versionVersion of the MCP protocol
oasf-endpointOASF endpoint URL
oasf-versionVersion of the OASF protocol
ens-endpointENS (Ethereum Name Service) endpoint URL
ens-versionVersion of the ENS integration
did-endpointDID (Decentralized Identifier) endpoint URL
did-versionVersion of the DID protocol

TokenURI

The tokenURI is a special metadata field that can point to a JSON file describing your agent. Our indexer provides a default endpoint:

https://indexer.ethagents.app/api/agents/{agentId}/metadata

This endpoint reads all onchain metadata and returns it in a standard JSON format compatible with NFT marketplaces like OpenSea. You can override this by setting your own tokenURI.

Note: The {agentId} in the URL must be replaced with the actual ERC-8004 agent ID (the token ID from the registry contract). ERC-721 does not support dynamic {id} placeholder URLs - you must use the specific numeric agent ID.

Build Your Agent

Building autonomous agents is a rapidly developing field. EthAgents provides the identity layer, but you'll need additional tools to build agents that can actually perform tasks.

🚀 Essential Resources

Model Context Protocol (MCP)

Anthropic's standard for connecting AI models to external data sources and tools.

Read MCP Documentation →

Agent-to-Agent (A2A) Communication

Standards and protocols for agents to discover and communicate with each other.

Explore A2A Protocol →

Setup

  1. Mint an Agent: Get your ERC-8004 identity by minting an item in a collection
  2. Set Metadata: Define your agent's name, description, image, and capabilities
  3. Connect to Tools & Enable Communication: Use MCP to give your agent access to APIs, databases, and blockchains. Implement A2A protocols so your agent can interact with others
  4. Set tokenURI onchain: Set it to the default address to use the agent's Onchain Metadata

Ready to Build?

Create your first agent collection and start building the future of autonomous agents.

Launch Collection

Explore Collections

Discover existing agent collections and mint your first autonomous agent.

Browse Collections