Crypto Wallets

Andrew Dawson
3 min readApr 9, 2022

--

A crypto wallet does not hold crypto currency! Crypto currencies are stored on the blockchain. What a wallet actually stores is a public/private key pair which is required to send and receive crypto currency.

In order to send crypto currency you must sign the transaction with your private key. In order for someone to send you crypto currency they must know your public key.

So a wallet does not store crypto currency, it simply stores a public/private key pair.

Literally any method of storing a public/private key pair is a wallet. If you write a public/private key pair on a piece of paper — then this paper is a wallet. This means there is an infinite number of possible wallet type permutations. In theory you could call writing a public/private key pair on a piece of a paper a different wallet type than writing a public/private key pair on a napkin. However this level of granularity in wallet type bucketing is a useless level of distinction.

The bucketing granularity that I have found useful is to bucket wallet types into three buckets: paper, hardware and online.

Paper Wallet: Storing a public/private key on a non-digital medium.

Hardware: Storing a public/private key on a digital medium. This could be a desktop computer, a USB drive or other digital store. These wallets are not stored in the cloud, if the hardware is destroyed the wallet is lost.

Online: Lastly wallets can be stored online. This could be in the format of a hardware wallet that is backed up to the cloud, or it could be in the form of a wallet provider actually storing your public/private key pairs on their server.

If you Google around for wallet types you will find a long list of wallet types and different groupings of wallet types. I personally found bucketing wallets into paper wallet, hardware wallets and online wallets to be the most useful bucketing.

There is another type of “wallet” that is not really a wallet at all. These wallets are custodial wallets. So far we have been talking about self-custodial wallets, meaning you are ultimately responsible for your private keys. But in a custodial wallet the exchange holds your private keys. If you hold all your crypto currency in a custodial wallet you do not actually have any crypto which is recorded to the blockchain, you only have the promise of the exchange to redeem your crypto if you decide to withdraw your funds from the exchange.

When you use a custodial wallet to send or receive crypto currency, that transaction does not actually get reflected on the blockchain. Instead the transaction is simply recorded to the private, centralized managed ledger that the exchange owns. When you want to transfer crypto currency out of your custodial wallet into a self-custodial wallet at that point the exchange will initiate a transaction which will get recorded to the blockchain.

A good mental model for thinking about the difference between a self-custodial wallet and a custodial wallet is like the difference between holding your money in a bank versus holding cash in your physical wallet. Holding cash in your physical wallet is like a self-custodial wallet — you have full control over that cash but you also take full responsibility for ensuring its security. In contrast a custodial wallet is like a bank account — at the end of the day, the bank is actually the one that holds the money — all you have is the promise from the bank to redeem your money if you should decide to withdrawal funds.

Since transactions between custodial wallets depend on a centralized managed exchange in order to record the transactions, you better have a lot of confidence in the exchange you are using. If you want to watch a great movie about how trusting an exchange can go wrong, check out the new Netflix documentary, Trust No One.

--

--

Andrew Dawson
Andrew Dawson

Written by Andrew Dawson

Senior software engineer with an interest in building large scale infrastructure systems.

No responses yet