โ† Learn

ERC-8004 explained โ€” on-chain agent identity

By Petteri Lehtola, Co-founder of AsterPay ยท Last updated 23 April 2026 ยท 4 min read
Answer ERC-8004 is the Ethereum standard for on-chain AI agent identity. It defines a registry contract that issues a unique numeric Agent ID to any agent that registers, binds the ID to one or more wallet addresses, and lets third parties attach signed attestations (compliance, reputation, capability claims) to the ID. The canonical Base deployment lives at 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432.

Why does an AI agent need on-chain identity?

Off-chain identity systems assume a stable URL or a corporate registrar โ€” neither holds up for autonomous agents. Agents move between operators, get cloned, get retired, get re-keyed. A domain expires; a startup pivots; a wallet gets compromised and rotated. ERC-8004 anchors a long-lived identity to a numeric ID that survives all of those events. Reputation accumulates across the agent's lifetime, attached to the ID rather than to any single key, domain or company.

What does the standard actually define?

How does ERC-8004 relate to KYA?

ERC-8004 is the identity layer; KYA is the trust-scoring layer. KYA uses ERC-8004 registration as one of its seven components (worth 15 points). An agent without ERC-8004 caps out at 85 KYA points โ€” enough for production use, but the enterprise tier (80-100) effectively requires on-chain identity. AsterPay also publishes its own ERC-8004 attestations to vouch for KYB-completed operators, so any third-party facilitator can use AsterPay's attestation as evidence in their own scoring.

How is AsterPay registered?

AsterPay's ERC-8004 registration on Base:

{
  "agentId": 16850,
  "registry": "0x8004A169FB4a3325136EB29fA0ceB6D2e539a432",
  "chain": "base",
  "boundAddresses": ["0xd5f8481D8F25d3966d2010DBf9B47fFbdf745A9E"],
  "metadataURI": "https://asterpay.io/.well-known/agent.json",
  "operator": "AELIRA LTD"
}

The same record is exposed in our /.well-known/agent.json under the identity.erc8004 field, so any compliant agent or facilitator can verify the binding without an RPC call.

How do I register my own agent?

Three options, in order of effort:

  1. MCP tool โ€” npm install @asterpay/mcp-server. The register_erc8004_agent tool handles metadata upload, contract call and verification. ~30 seconds.
  2. CLI โ€” npx @asterpay/erc8004 register --metadata ./agent.json --rpc <base-rpc>.
  3. Direct contract call โ€” call register(string metadataURI) on the registry contract from any wallet. Gas is ~0.001 ETH on Base.

After registration, plug the returned Agent ID into your agent.json under identity.erc8004.agentId and AsterPay's KYA endpoint will start picking it up within a few minutes.