Written by Pablo Gómez
Founder & CEO at Metlabs · Reviewed on October 11, 2026
ERC-6551 rests on a registry, a permissionless singleton contract, with two core functions. createAccount deploys the token bound account (TBA) via the CREATE2 opcode if it does not exist, and account computes its address deterministically without deploying it. Each TBA address derives from the unique combination of implementation, token contract, tokenId, chainId and salt. Because it uses CREATE2 it is deterministic and supports counterfactual accounts: assets can be sent to the account before it is deployed. The TBA is controlled by whoever holds the NFT at any moment, uses ERC-1167 to clone low-cost implementations and ERC-1271 to validate signatures as a contract.
This specification is the only one in the batch that is not listed as finalized: ERC-6551 remains in Review (peer-review) status in the EIP records, though its contracts have been in production since earlier, a common pattern among ERCs. It was created on 23 February 2023 and its canonical registry was deployed on Ethereum mainnet on 7 May 2023, by the Future Primitive team (Jayden Windle, Benny Giang, among others); Benny Giang is a co-creator of CryptoKitties and co-author of ERC-721. It requires ERC-165, ERC-721, ERC-1167 and ERC-1271.
ERC-6551 turns static NFTs into programmable accounts that group assets: a game character carrying its inventory, an NFT that holds tokens, or a composable profile with on-chain history. In tokenization it is useful when a tokenized asset must contain or aggregate others, for example a portfolio represented by a single NFT. It is often mentioned alongside account abstraction (ERC-4337) for conceptual affinity, but the two are independent and address different goals: the ERC-6551 specification itself does not mention ERC-4337. In regulated cases, the TBA's interactions would still be subject to the KYC and permissions of the underlying asset. The reference project is Future Primitive, author of the registry.
Also known as
- ERC6551
- Non-fungible Token Bound Accounts





