Why Register On-Chain?
- Discoverability: Make your agent discoverable through on-chain registries
- Verifiable Identity: Establish cryptographic proof of agent ownership
- Interoperability: Enable other systems to verify and interact with your agent
- Standards Compliance: Follow the EIP-8004 Agent Identity standard
Prerequisites
To register your agent, you’ll need:-
Pinata Account: For IPFS file uploads
- Sign up at pinata.cloud
- Get your JWT token from API Keys section
- Configure your gateway URL
-
Environment Variables:
- Wallet with ETH: To pay for transaction fees on your chosen chain
Supported Chains
- Sepolia (chainId: 11155111) - Ethereum testnet
- More chains coming soon
Agent Registration Workflow
1. Configuration During Init When you runnpx -y @emberai/agent-node@latest init, you’ll be prompted with optional EIP-8004 registration configuration:
- Enable ERC-8004: Choose whether to enable on-chain registration
- Canonical Chain: Select the primary chain for registration (e.g., Arbitrum One, Ethereum, Base)
- Mirror Chains: Optionally select additional chains for multi-chain discovery
- Operator Address: Optional wallet address that controls the agent identity (CAIP-10 format)
- Pinata Credentials: JWT token and gateway URL for IPFS uploads
agent.md frontmatter in the erc8004 section.
2. Registering Your Agent
Once configured, register your agent on-chain:
--chain <chainId>: Target a specific chain (overrides —all)--all: Register on canonical + mirror chains (default: true)--force-new-upload: Force new IPFS upload (ignores cached URI from previous attempts)
Only the wallet that originally registered the agent can update its registration. This command calls
setAgentUri(agentId, newIpfsUri) on the registry contract to update the agent’s metadata.