What's a crypto wallet, and what's the difference between hardware and software wallets?
Crypto wallets let you buy, store, and transfer crypto; they’re also your gateway to decentralized apps (DApps). Much like how a bank account holds fiat currency (e.g. US dollars), crypto wallets store digital currencies like bitcoin (BTC) and ether (ETH). They can also store different kinds of crypto assets, like tokens and NFTs.
But unlike traditional bank accounts, not all crypto wallets are “custodial.” These non-custodial options put you in direct control of your crypto assets without having to trust a third-party to “hold” your crypto for you. Crypto wallets also come in a few different varieties, like software and hardware wallets.
Confused? Don’t worry. In this article: an overview of how crypto wallets work, and the difference between hardware and software wallets.
Crypto wallet basics: public and private keys
Crypto wallets don’t actually store your crypto assets themselves; those technically live on their respective blockchain networks. Crypto wallets store your private keys—an important part of the public / private key pair that powers the encryption behind crypto. When you create a new crypto wallet, it will have an associated public and private key—often called the “master” keys that pertain to the entire wallet.
Public keys and crypto addresses
Individual crypto addresses are derived from your wallet’s public key, and represented by a string of alphanumeric characters (like 0xA382Dc2C5468EE7dbf123d85BbA49757Ad8AB250).
Your wallet will automatically generate these addresses for every blockchain you use, or buy crypto on, but each wallet has its own set of supported networks. One wallet might support the Bitcoin, Ethereum, and Solana networks, for example, while another only supports Ethereum. These public-facing addresses are how you’ll receive crypto.
Your wallet also uses its master private key to automatically create a unique private key for each individual crypto address. Like a standard bank account that uses a PIN to control access, private keys allow you to send (or spend) the crypto in your wallet. In other words, private keys prove crypto ownership and facilitate transactions.
While anyone can send crypto to a public crypto address, your private key works alongside it to prove that you’re the owner of the crypto received in the transaction.
- Whether you or a third-party custodian—like a crypto exchange—control your private keys is what makes a wallet custodial or non-custodial. If using an exchange-base custodial crypto wallet, they’ll be in control of your private keys. If using a self-custody wallet, you’ll be responsible for your own private keys (and their associated recovery phrase).
- In order to connect to DApps, you’ll need to be in control of your private keys, meaning only non-custodial wallets support DApp connectivity.
How to use a crypto wallet
Specific instructions for using a crypto wallet will vary based on the particular wallet you’ve chosen. But, in general, all crypto wallets (whether they’re custodial or non-custodial, software or hardware) will follow a similar process for sending and receiving crypto.
Note: if you’re looking for help setting up a new crypto wallet, follow one of our guides:
How to receive crypto in your wallet
When you set up a new crypto wallet, it’ll initially be empty. You’ll need to buy some crypto directly with fiat currency (if your wallet supports it), or transfer assets from another wallet. Receiving crypto assets is an important function you’ll likely use regularly.
To receive assets in your crypto wallet, you’ll need one of your wallet’s public addresses—represented by its alphanumeric string of characters, or, in many wallets, a corresponding QR code. Remember, you’ll have a unique wallet address for each blockchain. For example, you might only have one exchange-based wallet, but the address for your ETH wallet is different from the address for your BTC wallet. As such, if someone sends you BTC to an ETH wallet, you could lose those funds forever.
How to send crypto from your wallet
Most crypto wallets display the alphanumeric version of your crypto address, and a corresponding QR code for each type of crypto asset in your wallet. To send funds, you’ll need this address (or QR code) from the other wallet holder. In general, sending crypto involves the following steps:
- Locate the send feature in your wallet and enter the receiver’s wallet address.
- Select the type and amount of crypto you want to send and confirm the transaction. If you’re new to the process of sending crypto, you might want to try a small test transaction first.
When you send crypto, you’ll likely pay a transaction fee. This fee is equivalent to the transaction fees banks charge to send a wire transfer or use your debit card every month. However, instead of going to a bank, these fees go to blockchain node operators, the individuals responsible for securing each blockchain. Like the centralized validation process on the VISA and Interac networks, node operators validate transactions on decentralized blockchain networks; every cryptocurrency exists on this infrastructure.
Hardware and software crypto wallets
Crypto wallets come in a few key varieties, including the custodial versus non-custodial distinction discussed above, and another important distinction: hardware versus software.
Hardware wallets: non-custodial, offline private key storage
A hardware wallet is a type of non-custodial wallet that stores your private keys offline (on a device similar to a flash drive) for added security. Because these devices aren’t connected to the Internet by default, they’re considered “cold” wallets. They must be connected to your phone or computer (via USB or Bluetooth) in order to access the Internet.
When you want to send or spend crypto from a hardware wallet, you’ll “sign” (or approve) the transaction with your private keys securely on the device, only afterward connecting it to the Internet to broadcast the transaction. It’s a system designed to not expose your private keys while connected to the Internet.
While most software wallets are free, hardware wallets generally cost around $50–$200 USD. They can also be more complicated to use than, say, an exchange-hosted software wallet. A software wallet might be accessible through a website or downloadable app, but hardware wallets require you to install software on a desktop or mobile device to ensure it can communicate with your hardware wallet. While this is simple for some, it might be intimidating for others.
Software wallets: different custody options on Internet-ready devices
Software wallets are entirely digital, usually free, and come in both custodial and non-custodial varieties. Custodial software wallets are most commonly hosted with a centralized crypto exchange (CEX), and accessed via a website—in this case, the CEX stores your private keys on their central servers. Non-custodial software wallets, by contrast, store your private keys on your device (e.g. your phone or computer).
Software wallets can be web-based, mobile, or desktop applications. They can even come as browser extensions. Software wallets are also known as “hot” wallets because they’re accessed or installed on Web browsers or Internet-enabled devices, which are more vulnerable to hacking than offline-by-default hardware wallets.
While there are important security considerations for both software and hardware wallets, new solutions have begun to emerge that aim to integrate the best features of both. For example, Brave’s new browser-native wallet—Brave Wallet—is part of the browser software itself, not an extension. This reduces the risk of spoofing, and there’s no additional burden on your device CPU.
Choosing a crypto wallet that’s right for you
Beyond standard crypto wallet functionality (like sending, receiving, and storing crypto), some crypto wallets have additional features like the ability to swap one asset for another, or the ability to connect to DApps. Some wallets prioritize security, and others ease of use. There’s no one-size-fits-all crypto wallet, but there’s likely one that fits your personal needs and preferences.
An Ethereum wallet is how you'll store, manage, and transact with ether (ETH) and other Ethereum-based assets. An Ethereum wallet is also your key to exploring the Ethereum blockchain, including its broader ecosystem of apps. In this article, we'll give an overview of Ethereum wallets, the various options, and how to get started.Read this article →
A Solana wallet is how you'll manage your Solana-based assets like SOL, and interact with the Solana blockchain and the various apps built on it. In this article, we'll give an overview of Solana wallets, the various options, and how to get started.Read this article →
Ready for a better Internet?
Brave’s easy-to-use browser blocks ads by default, making the Web cleaner, faster, and safer for people all over the world.Download Brave