A couple of days ago, I was talking to someone about how fascinating I find decentralized wallets. This article is my attempt at explaining cryptocurrency wallets so you get a sense of what goes on under the hood; and how to think about them in the new decentralised world.
To most people, wallets are apps used to store and transfer cryptocurrency, possibly through cryptocurrency exchanges. Interestingly though, when people in the crypto space talk about wallets, they’re generally not referring to the kind that you get from a cryptocurrency exchange like Buycoins or Coinbase: those are custodial wallets. Instead, they’re referring to what is most commonly known as non-custodial wallets.
The “wallet” on your exchange is technically not a cryptocurrency wallet but an account that you hold with the exchange, just like the kind you hold with a bank. They require you to sign up, and in some cases submit an ID to set it up. They custody your funds and carry out transactions on your behalf. In that situation, you — the end user — don’t have a direct relationship with the blockchain. This is why they can “freeze your account”, enforce transaction limits, and insist you submit certain documentation, even though you’ve heard that crypto is permissionless. These custodial accounts are very important as they are usually the first point of call when you get started with crypto and have fiat (i.e. money in your bank account) and want to swap it for crypto or vice versa.
Now, to the subject of this article: non-custodial wallets. These wallets are truly permissionless; you get custody of your cryptocurrencies and other crypto assets and can do anything with them.
The first thing to note when thinking about this is that there is no physical (or even digital) location where your crypto is stored. Rather, what we have are records of what each address holds on the blockchain at any given point. So, when you send crypto from one address to another, there’s no movement of coins; the records on the blockchain just get updated.
The second thing is that cryptocurrency transactions are secured by something called “Public Key Cryptography”. PKC is a method that uses two “keys” — a public and a private key — to secure an account. This is similar to how emails work today; you have an email address that you share publicly and a password, that you (hopefully) keep secret. Anybody that has your email address can send a message into your inbox, but to send out emails from it, they’ll need to provide the correct password. Unlike with email setup, you don’t create your keys; the keys for your address are generated automatically through some computational logic. The summary of it though is that both keys are generated through a master password called the seed phrase, and your public cryptocurrency address is a shortened version of the public key.
To access and authorise value to be “transferred” out of your address, you’ll need your private keys (from your seed phrase) and an application that enables you to sign transactions with it. A non-custodial wallet is a tool that lets you do just that. It enables you to view your balance and initiate and sign off on transactions from your cryptocurrency address.
Wallets don’t actually “store” your crypto, they instead store your private keys for easy access when you want to sign transactions. You can also use a wallet to generate a seed phrase, along with the public and private key combination for a new address.
Now to the really interesting part: what makes non-custodial wallets so cool.
The first, and possibly most important reason is that you get to truly own your crypto assets. They deliver on the promise of inclusivity and permissionlessness; anyone, anywhere in the world with internet access can use them to custody and manage their assets. The result of this is freedom of choice. Because you’re fully in control of your own funds, you can easily move from one wallet to another (or even use different wallets simultaneously) with zero switching costs. You just have to pick one, add your seed phrase and you’ll be able to access your address (and assets).
Imagine being able to access and manage your fiat from any banking provider. If one bank is annoying or they have subpar UX, you can just import your “account” to a different bank. All of your stuff will be immediately available on the next provider — intact. This is what it truly means to be your own bank!
Secondly, wallets are essentially the way by which you interact with the crypto-verse. They are your gateway to using apps that run on the blockchain, commonly known as decentralized apps (dApps) or Web3 sites. Decentralized apps tip the scale and give users, rather than large corporations power over their (i.e. users) own data. Although they are relatively new, they will greatly impact how we experience the internet and shape how we shop, trade, work, play and connect with each other within the next few years.
There are different kinds of decentralised apps that perform a wide variety of functions. Some really cool dApps you can check out are Zapper & Uniswap (decentralised finance providers), Showtime (a social app for discovering and showcasing NFTs), Decentraland (a virtual world and social network), and Mirror (an independent publishing platform).
Wallets contain your crypto assets and blockchain records, so when you sign in, you take all of that information with you. For instance, if you sign in to Showtime with an address that owns an NFT, you can authorise the website to showcase the NFT that you minted or bought via a different website. If you need to pay for a service or use your assets on the dApp, you can easily sign the transaction to authorise the assets to be transferred as well.
You can “store” different kinds of cryptocurrencies (depending on the wallet service you’re using), NFTs, domain names, and basically, anything that you own on the blockchain. This is one of the most fascinating things about these wallets to me. It’s like having a bottomless backpack to take with you as you explore this new decentralised world.
Because the blockchain is public and open, it’s becoming an interesting way for people to share their identities with others. You can have one online identity (which can be pseudonymous if you choose) that you use across different platforms, and selectively decide what parts of yourself, your data, your identity or assets you want to share with the world.
Today, you need to create new accounts and grow your audience for each social media platform you’re on. With decentralised social networks, you can just sign in with your wallet and have the same “account” across all the platforms. You’ll have everything that’s contained in that address with you, so if one day, that includes “followers”, you’ll be able to bring your audience with you to every new platform you join. If you’re into online gaming and virtual worlds, this means you can carry your game persona, avatars, trophies and collectibles with you from one world to another easily.
I recently attended the scaling Ethereum summit online, and now have this Proof of Attendance Protocol (POAP) badge to show for it. It’s on my address as a Non-Fungible Token (NFT) on the xDAI network and if the need ever arises, I can use it on decentralized apps.
There are so many interesting possibilities with this. An example that I’m personally looking forward to seeing is having creators use NFTs as tickets to exclusive digital experiences. For instance, an artist holds a virtual concert that can only be unlocked by people who have a particular NFT in their wallet, similar to the POAP badge above.
As a fan, logging into the creator’s decentralized app with that wallet will automatically grant you access to the exclusive experience if you have the NFT in it. Attending the event can then give you a proof-of-attendance NFT that you can use to stunt on your friends, or even use to unlock more exclusive fan experiences. This presents new ways for creators to engage with and build communities of their true fans.
One project that makes all of this easier for the Ethereum blockchain is the Ethereum Name Service (ENS), which makes it possible for you to map an Ethereum wallet address to a human-readable name such as “tolu.eth”. So, instead of sharing a long non-memorable address, you can just share a simple ENS name with other people.
It’s important to keep in mind that all of this can be publicly seen, so it can be a good idea to use different addresses for different use cases — just like how you have a public-facing Twitter account and a burner.
Now that you know what wallets are and how they work, you can get started with them immediately. I’ve listed some of the ones I use below. They’re really easy to set up and are available as Mobile and Web Apps.
Rainbow: Rainbow is one of my favourite crypto apps (in general). It is fun, exciting and has a really great user interface. You can manage Ether, ERC-20 tokens, NFTs, ENS names, and other collectibles from the Ethereum blockchain. You can also access a whole suite of DeFi tools directly from the app — coin swaps on Uniswap, liquidity provision; the whole works. Something else that is really cool is that they allow you to actually purchase Ether directly from the app using an Apple Pay integration.
Coinbase Wallet: Not to be confused with the Coinbase app, CW is really easy to navigate and enables you to manage a larger selection of crypto assets including Bitcoin, Litecoin, Ethereum & ERC-20 tokens. It also allows you to swap your coins directly on the app and lend out your crypto through decentralised exchanges.
TrustWallet: TrustWallet offers most of the features of the above, but is primarily focused on assets on the Binance Smart Chain (BSC). It allows you to also access DeFi services through Pancakeswap.
Metamask: Metamask is one of the most popular wallets for the web. It offers support for most, if not all, cryptocurrencies and has a Chrome extension for easy access.
Outside of these apps, there are desktop and hardware wallets, but those are beyond the scope of this article.
The level of ownership and freedom that decentralised wallets offer comes with a lot of responsibility. This primarily means being careful with your seed phrase [and private keys]. It’s important that you keep them somewhere that is both safe and memorable. If you forget your seed phrase, you’ve lost access to your address, and there’s essentially no way to recover it. All of the wallets mentioned above offer the option of backing up your seed phrase (to iCloud) so that you can still retrieve your private keys and set your wallet up again if you lose access to your devices or misplace them. You can also manually “back it up” by storing the seed phrase in a secure password manager of choice like 1Password. Also, if anyone has your private keys, they can sign transactions on your behalf and send out your assets. So, it is crucial to ensure that you only enter your seed phrase into trusted wallets. Here’s a helpful guide to verifying the authenticity of a website or app.
Non-custodial wallets are going to be a very important part of how we interface with all aspects of the internet in the near future. Just like the introduction of internet browsers changed the world, decentralised wallets and applications are going to be a critical part of how we live online. The permissionless, inclusive, control over personal data and digital assets that they offer will be the norm. We’re still so early and I’m really excited to watch it all unfold in real-time.