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 agentId to 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#