Overview
What the ERC-8004 Identity Adapter is and why you might need it.
The ERC-8004 Identity Adapter is a Solidity contract that lets an external token — ERC-721, ERC-1155, or ERC-6909 — drive an ERC-8004 identity record.
The adapter:
- registers the ERC-8004 identity itself
- keeps permanent custody of the resulting ERC-8004 token
- binds the new
agentIdto exactly one external token - forwards controller-gated writes into the ERC-8004 registry
It is upgradeable (UUPS) and admin-managed via OwnableUpgradeable,
so you have a controlled path to track future ERC-8004 protocol changes.
Why an adapter#
ERC-8004 ties identity ownership to a single ERC-721-style owner. If you want to drive an ERC-8004 record with:
- an ERC-1155 or ERC-6909 token that may be held by multiple addresses
- an external NFT collection you don't control
- a more exotic control model layered on top of balances
you need an intermediary. The adapter is that intermediary. It preserves ERC-8004 semantics while delegating control to whatever token standard you point it at.
Trust boundary#
The adapter is a trust-forwarder. Whoever the bound token contract says
owns the bound tokenId controls the identity. If you bind to a contract that
lies about ownerOf / balanceOf, control follows those lies. This is
intentional — the adapter has no way to distinguish legitimate tokens from
lookalikes. Operators should only bind to token contracts they trust.
Next steps#
- Quickstart — clone, build, deploy.
- Concepts — binding model, shared control, wallet proofs.
- API Reference — every function on the adapter.
- Admin & Upgrades — the owner role and its powers.
- Security — test suite, invariants, audit notes.