ERC-6551 and Token Bound Accounts (TBAs)

Can't have a new love (AI)forgetthe old love (Web3). Today, I'll talk about a new concept in Web3.

In March this year, the Future Primitive team released ERC-6551 (website: http://tokenbound.org). This innovation assigns each NFT an independent smart contract wallet address on the blockchain without requiring any changes to existing NFT contracts. This not only makes it easier for developers to build new applications and experiences for NFTs but also allows users to more easily enjoy these services. In short, you can think of ERC-6551 as a dedicated wallet for each NFT, where you can store and manage your NFT assets and interactions within this "wallet." The following animated image demonstrates the functionality of ERC-6551.


Let's take a closer look at it next.

  1. First, let's understand what EIP is.

EIP, or Ethereum Improvement Proposals, is a set of improvement suggestion systems proposed by the Ethereum developer community. Its form is similar to the IETF's RFC on the Internet, and it is numbered in sequence. The structure of this system mainly includes:

  • Standard Track EIP (619)
    • Core (219)
    • Networking (15)
    • Interface (48)
    • ERC (337)
  • Informational EIP (7)
  • Meta EIP (21)

If you want to view all EIPs, you can visit this link: https://github.com/ethereum/EIPs/tree/master/EIPS.

  1. Next, let's take a deeper look at ERC.

As shown in the structure above, ERC is a subclass of Standard Track EIP. ERC stands for Ethereum Request For Comment, which mainly records various development standards and conventions at the Ethereum application level. These are formalized proposals that have been reviewed and tested by the Ethereum development team, standardizing valuable proposals to provide reference templates and norms for developers. The numbers after it, such as 20, 721, 1155, etc., are proposal numbers. For example, ERC-20 is Proposal No. 20, and other proposal numbers follow accordingly. ERC protocol standards have a decisive impact on the development of Ethereum, such as ERC-20, ERC-223, ERC-721, ERC-777, etc., all of which have had a profound influence on the Ethereum ecosystem.

The wave of ICOs in 2017 was mainly based on the FT formulated by ERC-20; the wave of small images in 2019 was mainly based on the NFT of ERC-721. Later, ERC-1155 integrated the characteristics of ERC-20 and ERC-721.

  1. Next, let's discuss ERC-6551.

This enables NFTs to function like smart contract wallets, thereby optimizing user experience. The very bottom of the diagram illustrates the role of ERC-6551:


The goal of ERC-6551 is to address some limitations of the ERC-721 standard. For example, ERC-6551 provides a complete ownership and transaction history, allowing NFTs to interact with other contracts, which enables NFTs to have a full transaction history and interact with other contracts. For instance, this is my NFT in the corresponding TBA, this is the initial state, empty:


If I transfer ETH and NFTs to the address controlled by this NFT, you can see that the TBA corresponding to this NFT starts to contain assets:


In summary:


The implementation and application of ERC-6551 open up a series of new possibilities. For example, TBAs can enhance gaming experiences, enable on-chain identities, promote behavioral economics and credit rating development. In addition, ERC-6551 can optimize asset management, making it easier to manage assets across different games. There are many other use cases, such as art, finance, real estate, digital identity, supply chain management, voting, loyalty programs, and crowdfunding.

Let's assume you own an NFT representing a character in a role-playing game. Through ERC-6551, your character NFT will have its own smart contract account, and as the owner of the NFT, you can control this account. This account can hold assets for your character, such as ETH, other ERC-20 tokens, or other NFTs. For example, your character NFT might own an NFT for a sword, an NFT for a shield, and some FT tokens for gold coins. You can use your character account to send and receive these assets or interact with other smart contracts on the blockchain. For example, you might use your character account to enter a dungeon contract, then defeat monsters and obtain treasure there.

ERC-6551 can also be infinitely nested, where each NFT has a TBA corresponding to it, and this TBA can hold NFTs, which in turn can own another TBA that can also hold NFTs.


If you transfer your NFT to someone else, the TBA corresponding to this NFT and the assets inside that TBA are also given to the other party:)

In this sense, ERC-6551 opens up new possibilities for on-chain games and digital assets~