ERC-6551: The NFT Game-Changer 🎆
The future is now for revolutionizing NFTs!
Metaversal is a Bankless newsletter for weekly level-ups on NFTs, virtual worlds, & collectibles
Dear Bankless Nation,
ERC-721 is the token standard that popularized NFTs on Ethereum as unique, verifiable digital assets.
But what if we could turn our simple NFTs into full-fledged Ethereum accounts?
Now it’s possible! That’s because a new token standard, ERC-6551, just arrived, and it propels Ethereum NFTs into a new realm of utility and functionality.
Your favorite collectible can now directly own assets, interact with web3 apps, and better serve as your onchain identity. We’re stepping into an exciting era here, so let’s get you up to speed on the basics of ERC-6551 for today’s post!
🦊 Thanks to MetaMask Portfolio 🦊
A Beginner’s Guide to ERC-6551 📥
The basics of ERC-6551
The relevance 🧠
ERC-6551, a new token standard, launched on the Ethereum mainnet on May 7th, 2023. It significantly enhances the capabilities of ERC-721 NFTs by allowing them to operate as their own smart contract accounts, making them more versatile and functional than ever before.
The why ❓
The motivation for ERC-6551 comes from the growing use of NFTs as a form of onchain identity. Until now, ERC-721 tokens couldn't act as agents or own other onchain assets, which was out of sync with real-world use cases of non-fungible assets.
Accordingly, ERC-6551 addresses this by granting each ERC-721 token the full capabilities of an Ethereum account, while maintaining compatibility with existing ERC-721 contracts. This is done by deploying unique smart contract accounts, termed "token bound accounts,” for each ERC-721 token via a permissionless registry.
Note that it’s also possible for a single NFT to own multiple token bound accounts via ERC-6551. In this sense, an NFT can now contain multiple wallets and so forth.
The how 🔩
The system introduced in ERC-6551 is primarily made of 1) a permissionless registry for deploying token bound accounts, and 2) a standard interface for interacting with these accounts.
Anything you can do with your regular Ethereum wallet, you can now do with an ERC-721 NFT thanks to the ERC-6551 standard. Of course, the basics would be using your NFT to store other NFTs, trade ERC20s, etc. Yet this is just scratching the surface!
For example, let’s say you’ve been racking up NFT wearables in a new web3 game. Instead of holding these in your regular Ethereum wallet, you can now store them in the NFT of your choice, e.g. your player avatar from that same game. Not only is this funner and more familiar on a psychological level, but later if you’re ready to move on from the game, you could consider selling the player avatar + accrued wearables as one cohesive unit on an NFT marketplace via ERC-6551.
That’s just one hypothetical illustration, but there really are tons of possibilities here. As another example, PFP projects can now incentivize and enshrine focus on the expanded utility of their collectibles by airdropping rewards to any holders in their collection with token bound accounts.
Also, the fact that ERC-6551 allows NFTs to have multiple token bound accounts and supports multi-chain token bound accounts offers additional layers of utility that are sure to kick off new waves of experimentation and innovation throughout the NFT space.
The caveats 🤔
While all ERC-721 NFTs are supported by ERC-6551, Ethereum NFTs that predate the ERC-721 standard aren’t. For example, the original unwrapped version of CryptoPunks aren’t, though the modern wrapped versions (“Wrapped Punks”) are.
As for security considerations, ERC-6551 raises two main safety implications that will require some vigilance around the NFT ecosystem:
🚨 Avoiding Fraudulent Behavior: Decentralized marketplaces need to be wary of potential scams. For instance, a scenario where a user sells an NFT that supposedly holds a certain amount of ETH, only to withdraw the ETH after the sale, leaving the buyer with an empty account. Some suggested ways to prevent such scams include tracking token bound account nonces and ensuring asset commitments remain intact during a transaction. However, preventing fraud is not directly addressed in ERC-6551 and requires implementation at the marketplace level or via external smart contracts.
🔄 Preventing Ownership Cycles: ERC-6551 could potentially lead to a situation where an NFT is transferred to its own token bound account, causing all assets in that account to become permanently inaccessible. This forms an "ownership cycle" which is complex to prevent onchain due to the infinite search space required. While it's outside the scope of ERC-6551 to enforce prevention of these cycles, it's recommended for apps to take interface measures to limit such transfers.
What people are saying 💬
• Benny Giang, ERC-6551 co-author and co-founder of Future Primitive: “The idea is simple ... what if NFTs had their own wallets? Inspired by Soul Bound Tokens (SBTs) our idea is the inverse and we call it Token Bound Accounts (TBAs) Instead of an NFT bounded to a wallet, we have wallets bounded to NFTs.”
• Gami, Nouns DAO member and founder of Gnars DAO and Tings DAO: “ERC6551 (Token Bound Accounts) is how I’ve thought about my Nouns ever since joining [Nouns DAO]. Hope to see us get behind it somehow … Makes the ‘entreprenouner’ concept entirely possible. Nouns could be sold along with what they’ve acquired and built during their journey.”
• 0xBeans.eth, Solidity engineer: “ERC-6551 is probably one of the more interesting application level Ethereum Improvement Proposals … A lot of interesting properties arise such as tradable accounts … ENS is one step towards onchain identities, full Ethereum accounts owned by NFTs is the next step in my opinion. This EIP goes hand in hand with EIP4337 (account abstraction). The reference implementation essentially create2s ETH accounts and bounds them to a token.”
How to use ERC-6551 📂
Tokenbound is an open-source suite of tools centered around the ERC-6551 standard, and one of the services it provides is an account explorer interface that you can use to deploy ERC-6551 accounts and interact with others.
If you’re interested in deploying a token bound account to your NFT of choice, you would follow these steps:
Go to https://tokenbound.org and connect your wallet of choice
Click the “My NFTs” button
Select your desired NFT and press the “Deploy Account” button
Confirm the deployment transaction with your wallet, and wait for the transaction to complete
That’s it! You’ll now see a “Use Wallet” option in the dashboard of your selected NFT; at the time of writing I received a “Coming soon…” message, so look for full functionality to be rolled out in short order
Indeed, keep in mind that ERC-6551 just arrived on mainnet, so the tooling around it is just beginning to be developed. Expect to see all sorts of “user experience” and “user interface” advancements here going forward. In the meantime, I recommend taking some time to review the FAQ at the bottom of tokenbound.org before diving in.
DougO has a 2,200% return on investment in this bear market 🚀
Why? He’s a Bankless Citizen ⚑
The big picture 🤯
The arrival of ERC-6551 is a historic milestone in the NFT space and opens up a world of new possibilities by turning NFTs into their own smart contract accounts. This brings considerably more versatility to NFTs, but it also aligns them more closely with real-world use cases, making them more practical and relatable for users. Zooming out, watch for increased ERC-6551 adoption and experiments in the months ahead!
Additionally, now anytime skeptics say NFTs can just be “right-click saved,” we now have token bound accounts within NFTs that make this charge that much more baseless. You can copy and save a picture, sure, but you can’t copy and save the contents within 😉
Explore ERC-6551: check out Tokenbound.org 👀
Catch up on my previous weekly roundup: L2 NFTs Please 🙏
William M. Peaster is the creator of Metaversal—a Bankless newsletter focused on the emergence of NFTs in the cryptoeconomy. He’s also a senior writer for the main Bankless newsletter and a contributor to NFT curation platform JPG!
A Bankless Citizen ⚑ turned $264 into $6,077 last year. A 22x ROI 🚀 in a bear market!
🙏 Together with 🦊 MetaMask Portfolio 🦊
You can now stake your ETH through MetaMask with liquid staking providers, Lido and Rocket Pool. Head over to MetaMask Portfolio to get started! You can also view your assets in one place and discover other features such as Buy, Swap, and Bridge.
Not financial or tax advice. This newsletter is strictly educational and is not investment advice or a solicitation to buy or sell any assets or to make any financial decisions. This newsletter is not tax advice. Talk to your accountant. Do your own research.
Disclosure. From time-to-time I may add links in this newsletter to products I use. I may receive commission if you make a purchase through one of these links. Additionally, the Bankless writers hold crypto assets. See our investment disclosures here.