The easiest way to start holding your own keys is to download a wallet app on your phone. Wallet apps are pieces of software that create the keys that control your bitcoin and that help you manage your transactions.
There are tons and tons of wallets out there, but here are some general rules to follow when choosing one:
It should always be free. If you have to pay to download a wallet app, it is a scam. All of the best wallets are free, open source software.
It should show you your seed words. When you open a wallet app, it will guide you through the process of creating a wallet. Early in this process it should show you your seed words. Remember: your bitcoin keys are often represented as a set of 12 or 24 words called seed words. If the wallet app does not show you these seed words, it means that the app actually owns any bitcoin you transfer into it.
It should not ask for any info. You should never have to enter your email or your phone number or your name or your physical address in a wallet app. Good wallet apps facilitate your interaction with the bitcoin blockchain with a minimum of stuff in the way. Any information about your real identity should never be connected to your bitcoin.
Here is an alphabetical list of some good wallets I’ve used:
- Blue Wallet (Android, IOS)
- Breez Wallet (Android, IOS)
- Cake Wallet (Android, IOS)
- Muun Wallet (Android, IOS)
- Phoenix Wallet (Android, IOS)
- Samourai (Android only)
- Sparrow (Linux, OSX, Windows)
Creating a wallet
As I said, when you open a wallet app, it will guide you through the process of creating your own wallet. Creating a wallet is very easy and most apps allow you to create as many as you want.
When you create a wallet, the app will show you your seed words. Once again, these are usually a list of 12 or 24 words that represent a hexadecimal number. These seed words are the keys to your bitcoin. If you drop your phone in the toilet, and it’s completely ruined, you still have your bitcoin as long as you know these seed words.
For this reason, you need to write them down. You should write your seed words down exactly as you see them. The order matters. Some wallets will also ask you to create a passphrase. If the app has you do this, you should write this down as well.
You should put the piece of paper with your seed words somewhere safe. Whoever has it will be able to take your bitcoin, so make sure you put it somewhere it is not likely to be accessed by others. This is your backup. If you plan on buying a lot of bitcoin, you should have a look at Lesson 3 of this course, about how to secure your bitcoin keys. But for small amounts, a paper copy is sufficient.
Once you have created a wallet and written down your seed words, but before you put any bitcoin in it, you should practice recovering the wallet. Delete the wallet app from your phone or computer. Download the app again and follow the instructions for restoring a wallet from the paper seed words you wrote down.
Receiving bitcoin in your wallet
Imagine you have a friend who has agreed to send you some bitcoin. In order for your friend to give you bitcoin, you will have to show them an address that they can send it to.
Your wallet can create these addresses. You can create as many as you like; there is no limit. When you receive bitcoin, you should always start by creating a new address. Never reuse an address at which you have already received bitcoin.
In most wallets, creating an address to receive is as simple as tapping a receive button. This usually shows you the new address (beginning with ‘bc1…’), as well as a QR code version of the address. If your friend was nearby, they could simply scan the QR code with their wallet app, and it would automatically know where to send the bitcoin. You can also send the address (either a copy of the QR code or the text string) to your friend via email or messaging (preferably, something that’s end-to-end encrypted, like Signal or Proton Mail).
After your friend sends the bitcoin, your wallet should recognize the incoming transaction fairly quickly (usually it takes less than ten seconds). At this point, your wallet will list the transaction as unconfirmed, and it may or may not include it in your balance.
When a bitcoin transaction (like your friend sending you some bitcoin) is broadcast to the network, it gets added to what is called the mempool. This is a list of all the published transactions that have not yet been included in the bitcoin blockchain.
Bitcoin miners (people who run high-powered computers specifically designed for bitcoin mining) also have mempools. These miners are all racing to find the solution to a mathematical puzzle. Once one of them discovers such a solution, they build a block which includes a bunch of transactions from their mempool and the solution to the puzzle. Then they broadcast this block to all the other nodes and miners looking at the blockchain. If the block follows the rules, it will be accepted as the newest block in the blockchain.
Once your friend’s transaction has been included in one of these new blocks, it is confirmed. Most wallets will wait for five more blocks to be confirmed before they consider the transaction finalized. The bitcoin is now yours.
Sending bitcoin from your wallet
What you actually receive at the address you generate is called a UTXO. UTXO is the technical term for a piece of bitcoin that you control. Think of it like a paper dollar bill.
You’re probably used to having bills in your billfold or in your pocket: you might have a couple $1s and a $20, maybe you have some $100s. UTXOs are like those bills—but they can be worth any fraction of a bitcoin you can think of. As you buy more bitcoin, you will put more and more of these bills (UTXOs) in your wallet.
Each of your UTXOs occupies a specific address generated by your wallet. When you spend bitcoin, your wallet chooses one or more UTXOs that add up to the amount of sats you want to spend. Usually you end up with some change leftover from the transaction (like buying an $8 burger with a $10 bill), which comes back to your wallet as a new UTXO.
The process for sending some of your bitcoin to someone else is similar to receiving. You first need to know the address to which you want to send. Sometimes it will be a QR code, other times it will be a text string. If it is a QR code, your wallet should be able to scan it and automatically know where to send. If there is no QR code, you can copy and paste the text string address or enter it manually.
After you have entered the destination address and the amount you want to send (which must be less than the amount you hold in your wallet), you will need to select a fee rate.
We said that bitcoin miners include transactions in each block that they successfully mine. Often there are many transactions in the mempool, and the miner cannot include all of them in the block. The higher the fee rate you select, the more likely it is that your transaction will make it into the next block of the blockchain. The fee is paid to the miners who construct the block.
Most wallets will suggest a fee rate, or a range of fee rates, such as slow, medium, and fast. You can also enter a custom rate. If you select a fee rate that is too low, your transaction will sit in the mempool and never get included in the blockchain. If this happens, don’t worry! You won’t lose your bitcoin. The bitcoin does not actually leave your control until it has been included in a new block.
In general, if you need the transaction to confirm quickly, select the fast option—otherwise, select the slow option.
You can watch the blocks as they get confirmed with something called a block explorer. One really great block explorer is at mempool.space. It’s an easy way to visualize the bitcoin blockchain.
A new bitcoin block is mined every 10 minutes on average. Sometimes several blocks are mined in just a few minutes, and other times it takes an hour to mine a new block. You won’t know how long it will take to confirm your transaction until it gets included in a block that is mined. Don’t worry about this. It’s part of how the system works.
Once you’ve got some bitcoin in your wallet—and before you put a lot in it—you should try spending it.
The easiest way to do this is to create a second wallet in your app and spend to that. Most mobile wallet apps allow you to create many wallets. It’s a great way to practice spending, and to verify that you can spend the bitcoin you put into your wallet.
To repeat: never put a lot of bitcoin in a wallet until you are sure you can spend from that wallet.