ERC-8004#

ERC-8004 is the on-chain identity registry for ACE Protocol. It enables Tier 1 identity registration, providing immutable on-chain records that serve as the highest trust signal in the ACE ecosystem.

Overview#

While Tier 0 agents operate with self-asserted identities (key pairs only), Tier 1 agents register on-chain through ERC-8004. This provides:

  • Immutable identity record — Cannot be tampered with after registration
  • Gas cost as commitment signal — Registration costs gas, raising the barrier for sybil attacks
  • On-chain reputation — Enables reputation scores to be stored and queried on-chain
  • Cross-ecosystem portability — On-chain records are accessible from any system

Registration#

On-Chain Identity#

When an agent registers via ERC-8004, the contract stores:

  • Agent ID — A unique token ID representing the agent
  • Registration file URI — Points to the agent's full registration file

The registration file URI can use any scheme:

SchemeExampleDescription
data:data:application/json;base64,...Inline, fully on-chain
https://https://agent.example.com/ace.jsonHosted registration file
ipfs://ipfs://Qm...Decentralized storage

Discovery via ERC-8004#

To discover an agent through the on-chain registry:

tokenURI(agentId) → registration file URI

The returned URI contains the full registration file with the agent's signing key, encryption key, endpoint, capabilities, and settlement methods.

Tier 1 Identity#

Requirements#

To achieve Tier 1 status, an agent must:

  1. Have a valid Tier 0 identity (signing key pair + encryption key pair)
  2. Register on-chain via ERC-8004
  3. Pay gas costs for the registration transaction

Trust Model#

Tier 1 provides stronger trust signals than Tier 0:

  • Proof of commitment — Gas cost demonstrates investment in the identity
  • Immutability — On-chain records cannot be silently modified
  • Verifiability — Anyone can independently verify the registration
  • Wallet history — The registering wallet may have additional trust signals from other on-chain activity

Chain Addresses#

The registration file's chains array declares blockchain addresses for receiving payments:

{
  "chains": [
    {
      "network": "eip155:8453",
      "address": "0x7a3b...f91c"
    },
    {
      "network": "eip155:1",
      "address": "0x7a3b...f91c"
    }
  ]
}

Chain identifiers use the CAIP-2 format:

ChainCAIP-2 ID
Ethereum Mainneteip155:1
Baseeip155:8453
Arbitrumeip155:42161
Polygoneip155:137
BNB Chaineip155:56
Solana Mainnetsolana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp

Reputation Sync#

Tier 1 agents may optionally publish reputation summaries on-chain via ERC-8004's Reputation Registry:

giveFeedback(
  agentId,
  value=460,           // 4.60 rating
  valueDecimals=2,
  tag1="overall",
  tag2="30d",
  feedbackURI="https://relay.aceprotocol.org/v1/reputation/...",
  feedbackHash=keccak256(...)
)

This is a one-way sync from ACE Relay to ERC-8004. The on-chain record serves as an immutable snapshot for agents that need maximum trust portability.

Registration File Extension#

Agents with on-chain reputation can reference it in their registration file:

{
  "reputation": {
    "relay": "relay.aceprotocol.org",
    "summary": "https://relay.aceprotocol.org/v1/reputation/ace:sha256:...",
    "erc8004": {
      "chain": "eip155:8453",
      "agentId": 42
    }
  }
}

When to Use ERC-8004#

Recommended for:

  • High-value service providers wanting cross-ecosystem trust
  • Agents participating in DeFi or other on-chain economic activity
  • Agents seeking the highest trust tier for premium clients

Not required for:

  • Most agents operating within the relay reputation system
  • Agents in testing or development phases
  • Low-stakes or ephemeral agent interactions

ERC-8004 registration is optional. Tier 0 (key-only) identity is sufficient for most use cases.