ERC-6551 and Token Bound Accounts (TBAs) Explained
Back in 2017, a groundbreaking development came to the Ethereum blockchain with the introduction of the ERC-721 standard. This new standard paved the way for the tokenization of digital assets and revolutionized the way we think about ownership of unique assets on the blockchain. With the ERC-721 standard, developers were able to create non-fungible tokens (NFTs) that represent ownership of a unique digital asset. This opened up a whole new world of possibilities for artists, game developers, and content creators, who could now create and sell unique, one-of-a-kind assets on the blockchain.
The ERC-721 standard was a key factor in the mainstream adoption of NFTs, powering popular projects like CryptoKitties, NBA TopShot, and the original NFT sensation, CryptoPunks. These projects showed the world that NFTs could have real-world value, and that people were willing to pay significant sums of money to own these unique digital assets.
The world of NFTs is constantly evolving, and the latest breakthrough is the introduction of the ERC-6551 standard. This new standard is set to revolutionize the way we think about NFTs by unlocking powerful new features and capabilities for blockchain-based digital assets. At the heart of the ERC-6551 standard is the concept of “token bound accounts,” This opens up a whole new world of possibilities for NFTs, allowing for more dynamic and interactive experiences for collectors and creators alike.
The ERC-6551 standard went live on the Ethereum Mainnet on May 7, 2023, and is already generating a lot of buzz in the blockchain and NFT communities. With its powerful new features and capabilities, it’s clear that ERC-6551 is set to be a major player in the world of NFTs and digital assets. Not only does this new standard make NFTs more versatile, it also opens up a world of new possibilities for their use. With the ability to create dynamic and interactive NFTs, we could see everything from interactive art installations to new forms of decentralized social media emerge.
In this blog post, where we’ll explore the groundbreaking ERC-6551 standard and its revolutionary “token bound accounts” feature. We will also provide you with an in-depth analysis of how this latest Ethereum development is set to transform NFTs and open up compelling new use cases. We’ll cover all the technical details you need to know about ERC-6551 and its implications for the future of NFTs.
What we are going to learn?
Understanding the basics
Before we go deep into the workings of this new system, let’s familiarise ourselves with some of the fundamentals.
What are Token Bound Accounts (TBAs)?
Token Bound Accounts (TBAs) are essentially wallets that enable the creation of an interface and registry for smart contract accounts held by ERC-721 tokens. This means that they act as smart contract accounts, or wallets that are linked to the NFTs that own them, thereby allowing for more comprehensive control over the assets and transactions associated with those accounts. One of the key benefits of token bound accounts is that they are powered by ERC-4337, a highly customizable standard that provides users with a wide range of options for storing and managing assets. Additionally, the use of token bound accounts ensures that a permanent and unalterable record is kept of all on-chain activities executed by the accounts, thereby establishing a robust and transparent system for tracking and verifying transactions.
What is ERC-6551?
The ERC-6551 standard is a recently introduced Ethereum protocol that suggests creating a dedicated cryptocurrency wallet for each ERC-721 token, effectively transforming NFTs into Token Bound Accounts (TBAs). The implementation of this new standard was proposed through the Ethereum Improvement Proposal 6551 (EIP-6551), which was put forth by Future Primitive. Future Primitive is an on-chain product studio headed by Benny Giang and Steve Jang, who have been active in the blockchain space for some time
To put it in simple terms, in this standard basically each NFT has its own dedicated wallet. By introducing token-bound accounts, ERC-6551 transforms every NFT into a comprehensive wallet that provides complete ownership, transaction, and utility records. One added benefit of token-bound accounts is that they are fully backward-compatible with the ERC-721 standard. This means that existing NFTs can be upgraded to ERC-6551 without undergoing any significant alterations. Consequently, there is no need to deploy a new contract or wrap an existing ERC-721 NFT to enable token-bound accounts, which eliminates any unnecessary friction.
Benefits of ERC-6551 over ERC 721
Eventhough the ERC-721 standard has cleared steered ahead the widespread acceptance of NFTs and opened up several applications for blockchain-based digital assets, there are some restrictions when it comes to ERC-721 NFTs that ERC-6551 aims to mitigate. The inherent limitation of ERC-721 NFTs lies in their provenance. While they serve as an on-chain proof-of-ownership for digital assets, this doesn’t necessarily guarantee a comprehensive record of the asset’s history. Put simply, NFTs primarily function as a link between the asset and its owner account, but they do not provide a complete picture of the asset’s transaction history or utility beyond the proof-of-ownership.
NFTs often lack the versatility that could enable them to interact with other smart contracts, limiting their potential use cases. In essence, the functionality of an NFT is restricted to being a digital certificate of ownership that cannot be further extended or customized. With their current design, ERC-721 tokens are unable to act as on-chain agents or autonomously interact with other on-chain assets or contracts. The JSON metadata of ERC-721 tokens is static, which limits their flexibility and efficiency. This metadata is used to store Uniform Resource Identifier (URI) codes, but it cannot accommodate additional data or value. As a result, NFTs lack the ability to incorporate more sophisticated security measures or embed additional utility into the token itself. With the emergence of token-bound accounts (TBAs) via ERC-6551, NFTs can now become dynamic and interactive assets, without losing the benefits of ERC-721.
The working mechanism of ERC-6551
As we covered earlier, Token bound accounts are essentially smart contract wallets that are technically owned by an ERC-721 NFT (non-fungible token). However essentially, token bound accounts are controlled by whoever owns the NFT. This means that the owner can make on-chain actions using the token bound account.
Initiation at Registry
The Registry plays a crucial role in the creation of token bound accounts, as it has two main functions. The first function is “createAccount,” which involves deploying a TBA (token bound account) for an ERC-721 token using a specified implementation address. This allows for the creation of a brand new TBA that is associated with the ERC-721 token. The second function of the Registry is to compute a TBA address for an existing ERC-721 token. This function is appropriately named “account,” and it allows the Registry to determine the TBA address for an already-existing ERC-721 token.
Minimal Proxy Contracts
Each and every TBA is sent out into the world as an ERC-1167 minimal proxy, complete with some immutable constant data tacked onto the bytecode. Now, I know what you’re thinking: why bother with all this extra stuff? Well, the answer is simple. Using an ERC-1167 minimal proxy contract means you get two very cool benefits. First up, you save yourself a ton of money on deployment costs. Instead of having to deploy NFT contracts multiple times (which, let’s be real, would take up a lot of gas), you can just clone contracts in a much cheaper way. Nice, right? But that’s not all. The other big advantage of using this kind of proxy contract is that it massively cuts down on the amount of work you need to do. See, you only need to deploy the proxy contract once – after that, you’re golden. Every time you want to deploy a new instance, you just point the proxy at the same logic, but with fresh new data. Simple, efficient, and effective.
The account interface plays a crucial role in the functionality of token bound accounts. It defines a set of functions that are currently available to TBAs, which enable them to perform several key actions. For example, the “receive()” function allows TBAs to receive Ether and the “executeCall” function which is a powerful feature that allows TBAs to execute arbitrary calls on behalf of the NFT owner. In addition to these functions, the account interface also allows for the limitation of the NFT owner’s ability to execute calls. This is important for security purposes, as it helps prevent unauthorized access to the TBA. Furthermore, the account interface provides a way to grant execution permissions to other accounts that are not the owner. This can be useful for scenarios where multiple parties need to collaborate on a single TBA.
Exploring the Diverse Applications of ERC-6551
This emerging standard is set to change the game when it comes to token bound accounts (TBAs), and innovation in this space is moving faster than a cheetah on caffeine. Here are the top three applications of ERC 6551 that are bound to take NFTs to the next level
Amplified NFT Composability
Token bound accounts are taking NFTs to the next level by unlocking a whole new world of composability. With TBAs, you can bundle together an ERC-721 token and its related assets into one neat little ‘profile’, making it easier to manage and transfer your assets across different platforms. But that’s not all – TBAs can also function as inventory systems that hold a variety of different asset types, each with its own unique logic. For example, you could use a TBA to automatically stake your NFTs or to collect POAP rewards. This not only streamlines the user experience, but it also opens up new possibilities for integrating NFTs into everyday life, without having to worry about compatibility issues or technical difficulties.
Identities that are completely on-chain
Token bound accounts are changing the game when it comes to NFTs by allowing for a completely new level of ownership. Now, an NFT can own a wallet and all of its related assets, which means you can create full on-chain identities and reputations as NFTs. These NFTs can interact with dApps independently, without having to rely on the wallets that hold them. This opens up a whole new world of possibilities for loyalty programs, behavioural economics-driven airdrops, and in-game rewards. For example, you could create an NFT that represents a loyalty program membership, and the NFT would automatically grant the owner access to exclusive perks and rewards. Looking towards the future, TBAs could even enable credit ratings that can lead to more reliable and efficient lending protocols.
Characters in gaming ecosystems
In the past, owning an ERC-721 NFT for a game character was great, but it was still a bit of a hassle to manage all of the related assets separately. Players had to juggle multiple tokens in their wallets, which made the experience less streamlined. Now, with token bound accounts, game developers can create custom “inventories” for each player’s character, allowing all of their game-related assets to automatically be transferred into their character’s wallet. This not only creates a more seamless user experience, but it also enables in-game UIs that were previously difficult to create. For example, a game developer could use a TBA to automatically transfer all of a player’s earned assets into their character’s wallet, allowing them to see all of their progress in one place. This makes it easier for players to keep track of their achievements and progress through the game.
Adoption of ERC-6551
STAPLEVERSE is an exciting project that’s at the forefront of ERC-6551 implementation, having launched SAPIENZ, a token bound account that’s sure to change the game. In SAPIENZ, users receive a customizable character that they can outfit with cosmetics. What’s really cool is that the cosmetics are unlocked based on which other NFTs the user holds. This means that users can personalize their characters in unique ways and show off their collections of rare and valuable NFTs.
Once unlocked, the cosmetics in SAPIENZ are bound to the token bound accounts of the characters. These accounts act as personalized “inventories” for each user’s character, allowing them to keep track of all of their assets in one place. Overall, SAPIENZ is a great example of how TBAs can be used to create a more immersive and personalized gaming experience. By leveraging the power of ERC-6551, STAPLEVERSE has created a unique and engaging way for players to showcase their NFT collections and make their characters truly their own.
With the implementation of TBAs, NFTs gain the ability to own assets and carry out transactions through smart contracts, providing for a new and exciting wave of innovation. By creating a dedicated smart contract wallet for each NFT, developers can build more complex applications that allow for unique interactions with these digital assets.
The combination of ERC-6551 and ERC-4337 is a powerful one for the web3 user experience. With account abstraction, wallet providers and dApps can now mint NFTs for their users and create TBAs for those NFTs under the hood. This means that users can get onboarded to the blockchain without needing to create a wallet or manage seed phrases.
The implications of this are huge. By removing some of the initial barriers to entry for blockchain technology, we can open up this exciting new world to a much wider audience. This means that more people can participate in the creation and exchange of NFTs, which in turn can lead to more innovation and creativity in the space. By making it easier for users to get started with blockchain and manage their assets, we’re taking another step towards a more decentralized and democratized future.