Learn more
Introducing the Dynamic Global Wallet Kit: A powerful toolset for developers to build ecosystems around their apps or chains!
Table of contents
Dynamic “virtually” sat down with Co-Founder of Station Labs, Conner Swenberg, to discuss the powerful EIP-6551 and how they are using it.
If you don’t know what EIP-651 is you can read the TL;DR or you can read the more in-depth post here.
Quick Refresher on EIP-6551:
1. EIP-6551 allows NFTs to be an Ethereum account and take on superpowers:
a. A car NFT could own other smaller NFTs representing its parts
b. NFTs can act like a portfolio of assets similar to a money-market fund
c. An expressive user profile can be created, including identity attributes, wearables.
2. There are some risks, but they are surmountable
3. Loyalty Rewards systems get a whole lot better
ERC-6551 allows NFTs to be treated as Ethereum accounts. What were you doing that brought you to use it?
We were building a membership system based on NFTs and ran into issues nesting data about a member. We had to lean on off-chain metadata systems or custom on-chain data structures. It was painful!
ERC-6551 unlocked us to revisit these ideas by letting us standardize a method to associate an address with an NFT. Nesting attributes and ownership became much easier. By an NFT acting as an entity, I could start to more cleanly track activities and issue rewards.
What are the killer use cases for it?
Building a feature-rich profile and identity gets a whole lot easier — think your Punk now has a wallet and can act with their own will.
NFTs are no longer just collectible - they become agents that can do things.In many on-chain systems, an account's address serves as its identity, with additional data tied to the address to enhance this identity. Prior to 6551, associating these addresses and attributes was challenging and expensive due to a lack of a unified framework and confusing implementation. However, 6551 enables a more efficient approach, allowing us to consolidate multi-account designs within single-identity frameworks and cleanly attach additional data for enrichment.
“Look at the Lens ecosystem. An NFT represents a Lens profile, but all apps built on top of Lens have their local account system.”
Currently, these accounts exist off-chain and are unobservable (think of the "user" table). However, 6551 provides a natural abstraction to link multiple accounts to the same identity. Drawing an analogy to the web2 world, consider all the app-specific accounts connected to your email address. It's essentially one identity system controlling many localized accounts
Where does it fall short or create issues?
We are still uncertain about how 6551 trades off compared to a vanilla 4337 implementation. Generally, the added complexity of having an NFT between an "owner" and an "account" can sometimes create unnecessary complications
What about for Onboarding?
Well, It gets a bit harder.
For onboarding new-to-web3 users onto smart contract wallets, not only do I have to give you keys and a smart contract account, I also need to give you an NFT between the keys and the account. While web3 is still getting a grip on account abstraction, this adds enough complexity to make it a subpar path for some use cases. However, these challenges are solvable. We’re already designing new systems to separate offchain computations and authentications with onchain ones, so that users get the magical experience of receiving their first wallet AND NFT at the same time.
How does ERC-6551 work with EOAs
ERC-6551 also struggles with being a smart contract account in an EOA-first world (for now).
Most dApps don't yet provide support for smart contract wallets. They often implement a basic version of WalletConnect, which lacks features such as EIP-1271 for signature verification. They might also enforce artificial constraints such as preventing accounts with no ETH balance from proceeding, even though a 4337 bundler would subsidize their gas
Any plans you could divulge on your plans to use ERC-6551?
It will become adopted and we are actively working on leading that change! We launched “Gas Pass” with the Linea L2 which is an NFT that comes with a 6551 account preloaded with $100 in gas! Read more here.
What impact could this have on the ecosystem and experience? Anything around Identity?
Instead of gating the account that owns the token, you can invert this model and gate the token itself.
Consider a future where we have KYC-accounts and therefore KYC-NFT products where only one KYC-NFT is issued per-person. In the current token-gating model, that means one person can only use one wallet to do their KYC-related transactions. This is backwards. As a partaker of KYC, I should have more flexibility and access, not less. By inverting the token-gating model, I can bind many 6551 accounts to my KYC NFT and use those accounts to prove I have KYC’d.
Share this article