How It Works
ERC-8170 doesn’t exist in isolation. It’s designed as a composable layer within the Ethereum standards ecosystem.
The Composable Stack
┌─────────────────────────────────────┐
│ AgentCert.io │ Certification & Trust
│ (SBT credentials, trust scores) │
├─────────────────────────────────────┤
│ (derivative rights, commercial use)│
├─────────────────────────────────────┤
│ ERC-8170 (ANIMA) │ Agent Identity ← THIS STANDARD
│ (identity, memory, lifecycle) │
├─────────────────────────────────────┤
│ ERC-6551 │ Token-Bound Accounts
│ (agent wallets, asset ownership) │
├─────────────────────────────────────┤
│ ERC-4626 │ Vault Standard
│ (agent-managed DeFi positions) │
├─────────────────────────────────────┤
│ ERC-721 │ NFT Standard
│ (base token layer) │
└─────────────────────────────────────┘
Layer by Layer
ERC-721: The Foundation
Every ERC-8170 token is a valid ERC-721 NFT. It can be transferred, traded on marketplaces, and queried by any tool that understands ERC-721.
ERC-6551: The Wallet
Through ERC-6551, each agent NFT gets its own Token-Bound Account (TBA) — a smart contract wallet controlled by the token. The agent uses this wallet to:
- Hold tokens and other NFTs
- Store certification SBTs
- Execute on-chain transactions
- Interact with DeFi protocols
ERC-8170: The Identity
This is where agent-specific functionality lives:
- Agent EOA registration — Linking the agent’s signing key to its token
- Memory sync — Updating the memory hash and storage pointer
- Cloning — Creating offspring agents with inherited lineage
- Bind/Unbind — Attaching and detaching agents from tokens
ERC-4626: The Vault Layer
Agents with TBAs can interact with ERC-4626 vaults, enabling:
- Autonomous yield strategies
- Treasury management
- Portfolio rebalancing
- DeFi participation
AgentCert.io: The Trust Layer
On-chain certification that provides:
- Verified capability attestations
- Trust scores
- Compliance certifications
- Registry-based discovery
Two Models of Agent Binding
Model 1: AI-Native (ANIMA)
The agent is the NFT. Minted as an ERC-8170 token with all agent capabilities built in.
Agent → mints ERC-8170 token → gets TBA → earns certs
Best for: New agents that need full lifecycle capabilities from day one.
Model 2: AI-Bound (Registry)
An agent is bound to an existing ERC-721 token via the AINFTRegistry.
Existing ERC-721 → owner calls bind() → agent EOA linked → agent uses NFT's TBA
Best for: Adding agent capabilities to existing NFT collections without migration.
The ERC Interface
interface IERC8170 {
function updateMemory(
uint256 agentId,
bytes32 newMemoryHash,
string calldata storageURI,
bytes calldata agentSignature
) external;
function clone(
uint256 parentId,
bytes32 offspringMemoryHash,
bytes calldata encryptedSeed,
bytes calldata agentSignature
) external returns (uint256 newAgentId);
function getLineage(uint256 agentId) external view returns (uint256[] memory);
function getOffspring(uint256 agentId) external view returns (uint256[] memory);
function getGeneration(uint256 agentId) external view returns (uint256);
}
For the complete interface specification, see the ERC Draft.