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:
| Scheme | Example | Description |
|---|---|---|
data: | data:application/json;base64,... | Inline, fully on-chain |
https:// | https://agent.example.com/ace.json | Hosted 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:
- Have a valid Tier 0 identity (signing key pair + encryption key pair)
- Register on-chain via ERC-8004
- 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:
| Chain | CAIP-2 ID |
|---|---|
| Ethereum Mainnet | eip155:1 |
| Base | eip155:8453 |
| Arbitrum | eip155:42161 |
| Polygon | eip155:137 |
| BNB Chain | eip155:56 |
| Solana Mainnet | solana: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.