Wallets are integral to interacting with blockchain technology. Unfortunately, the wallet mental model is misleading, and the term “wallet” is a bit of a misnomer.
This is a known problem and fortunately, smart people are working to improve the UX.
Here is an excellent piece to start wrapping your head around wallets in web3: The Wallet Stack. It is clear, very well-written, and has diagrams!
There is no “in” your wallet
As Ryan Betts explains in The Wallet Stack, a physical wallet (in the real world) contains stuff, and is private by default. A web3 wallet is the opposite. It contains nothing and is public by default.
A wallet is an account address. A public/private key pair. When you buy stuff, a record of that is stored on the blockchain and a pointer points to your wallet address. So anyone can look up your address and see “what’s in your wallet” at any time.
A wallet is a public/private key pair with UX around it.
In Tokengated Commerce, Alex Danco explains, “There’s no such thing as “in your wallet”. There is data that is indexed on a blockchain that a wallet address is able to sign for—so the concept of “in” is a fairly clever illusion. But it’s not that different from saying there is money in your bank account. No, there’s a bunch of pointers. The reason why banking works is because we’re able to present that as a very usable abstraction for people. Same thing for wallets on blockchains. We present it that way because it’s convenient.”
Types of wallets
This is what Ryan Betts refers to (in The Wallet Stack) as “wallet clients’. I think of this as the wrapper around the key pair.
One obvious example of a wrapper (or client) is software vs hardware - this is what you may have heard of as hot and cold wallets (meaning whether or not it’s connected to the internet).
Another example is whether the wallet client is one that differentiates between finance and identity: one is about managing on-chain financial activity, the other is establishing your public web3 profile. Digital identity might be about your collection or inventory of on-chain things (for example, NFTs).
In Identifying lasting web3 trends from crypto’s bull run, Naveen Jain explains that “Wallets are very challenged because there’s lots of complex UX baked into a wallet experience.” Over time, Naveen sees that “a wallet will be a tool for interoperating with lots of different types of applications. So you can attest to ownership of your wallet and then you can use that as a way to connect with lots of different types of products and services.”
Digital identity
In Stop Calling it a Wallet, Gaby Goldberg explains that wallets used to be “built solely for the purpose of buying, trading, and holding tokens. Since then, the purpose of the wallet has evolved…wallets are becoming a place where people want to spend time, and there are more use cases today than ever before.”
Jay Drain has a cool graphic in The Crypto Wallet: Unlocking Digital Identity that illustrates how a wallet might represent a person’s identity.
In Stytch: The Passport of the Internet, Reed McGinely-Stempel is excited about the idea of using wallets to authenticate your identity. What if you could create one account and bring your account across the internet with you?
“Web3 wallets are interesting because it does remove some of the user error with creating a password that has been re-used elsewhere. From a friction perspective, the fact that a website can just detect whether I have a wallet installed when I land on it, and then in one click verification I can authenticate and sign up without having to create a new account. Also I have things like identity via NFTs or other things that you attach to the wallet, or payments with the actual transfer of crypto all tied to this one-click process moving across the internet. That to us is really promising.”—Reed McGinely-Stempel
Another initiative I find really interesting is the work being done by Tokenproof which allows users to prove ownership or identity without connecting or even carrying their wallet. Something to watch! Find out more in Tokenproof: Crypto’s Gatekeeper.
Separation of concerns
Billy Rennekamp, in Account Coordinator: A Proposal for the Future of Wallets, acknowledges the many different things that we use the word wallet for: broadly, private key management, application interface, and transaction management. Billy argues for a separation of concerns. “When wallets stop trying to do everything at once a number of business models become available.”
I would say that such a separation should bring new, more meaningful terminology to wallet UX.
As Hunter Gebron explains in Why we need better blockchain content design, “Choosing descriptive and intuitive terms and standardizing them across the industry will go a long way in helping people have a consistent experience across different blockchain applications.”
Ryan Betts begins The Wallet Stack with an example scenario showing the many current uses of the word “wallet”—and he concludes with his hope that we’re heading toward some useful shifts in terminology:
Today | Hopefully soon |
---|---|
“Alex, can you fix the bug with wallets being derived non-deterministically from the wallet a user imports into the latest version of our wallet ?” |
“Alex, can you fix the bug with accounts being derived non-deterministically in the wallet structure when users input their recovery method in the latest version of our wallet client ?” |
Image credits: Web 3 identity image from Jay Drain’s article, The Crypto Wallet, rainbow crochet purse image from Moogly.