Paper wallets are intended for long-term storage. A paper wallet is a QR code or a series of alphanumeric characters that represent your private key to the blockchain. The private key is what identifies you in the blockchain as the owner of your bitcoins.
There are two types of paper wallets; encrypted and unencrypted.
Unencrypted wallets do not have a password. So if somebody steals the QR code, the bitcoins can be taken from it easily simply by scanning the code. Once stolen, you can't recover the bitcoins.
Thus, unencrypted paper wallets are secure only in the sense that they can't be accessed online, as they are not connected to the web nor they reside inside a drive. But if somebody steals the QR code, the wallet is not secure at all. It is the same as having a wallet.dat file without a passphrase. It can be emptied easily.
An encrypted paper wallet is a paper wallet that was scrambled using a form of encryption known as BIP-38 before generating the QR code or alphanumeric characters. The encryption requires a passphrase, just like an encrypted wallet.dat file.
If somebody steals an encrypted paper wallet, it can't be imported nor cracked unless the passphrase for the wallet is known.
As of this writing, while crating paper wallets is easy, accessing them and decrypting them can be somewhat complicated, as some programs such as Bitcoin Core are not designed for importing paper wallets easily and they can't import encrypted paper wallets at all.
UPDATE: You can now scan an encrypted QR code and decrypt easily by entering the passphrase in a smartphone wallet app such as BreadWallet or CoinPocket. You still need to encrypt the wallet first, though.
The only way to access an encrypted paper wallet, for now, is by decrypting the wallet in an external system and then importing the decrypted private key for the wallet to Bitcoin Core, blockchain.info or other compatible wallets, although blockchain.info will import encrypted wallets and ask you for the passphrase.
UPDATE: Since this tutorial was written before Apple allowed bitcoin apps for iOS again, it did not include that option. Once again: You can decrypt an encrypted wallet by scanning it and entering the passphrase in a wallet app for iOS or Android.
The instructions for creating a simple paper wallet are the following
1. Go to bitaddress.org or to bitcoinpaperwallet.com
2. Follow the instructions on how to create a new paper wallet. Essentially you will be asked to move the cursor around the screen or to enter some random numbers so the wallet is even more random.
If you want extra security, download either of the sites to a thumb drive from these addresses, disconnect the computer from the internet, and run the sites from the thumb drive:
3. Two new alphanumeric keys and their respective QR codes will be created. The first one is a public key, which is an address you can use for receiving bitcoins. The second key is the private key, which is the one you use for retrieving the bitcoins. Write down the private key as you will need it later for testing.
NOTE: At this point, the private key is unencrypted and can be stolen easily if taken from you. However, if you don't want to encrypt the key just print it and keep it in a safe place.
WARNING: if you only print one copy, and that copy is destroyed, if you add bitcoins to the wallet the bitcoins will be lost.
ADDING ENCRYPTION TO THE PAPER WALLET
4. Add BIP38 encryption to the private key by selecting the BIP38 box. You will be asked for a passphrase. Make sure you have a copy of the passphrase written down or in a text file in a thumb drive. Never on your hard drive.
5. Test decrypting the key. Go to bitaddress.org, or to the thumb drive copy, and select the WALLET DETAILS tab. Enter the encrypted alphanumeric private key. It will then ask for your passphrase for decryption. If you can successfully decrypt it, you will be shown the original public and private keys. If the unencrypted private key matches the one you wrote earlier, it is safe to use it and to destroy the written down, unencrypted private key.
6. Print the encrypted wallet. Remember; if there's only one copy of the wallet, and that copy is destroyed, if you add bitcoins to it you will not be able to retrieve them. So think about printing more than one copy.
7. Put the printed wallet in a plastic bag or laminate it so it does not get damaged with water or moisture. Remember that color printers use a type of ink that smears easily with water and black and white laser printers smear with acetone.
8. Write down or copy to a text file the public key (the bitcoin address) and email it to yourself so you can use it later.
9. Store the encrypted paper wallet in a safe place. You can store a copy of the wallet in a different location for added backup security.
NOTE: Some people have their encrypted private key from a paper wallet engraved into a piece of metal. The point of this is to make it fire-proof. It is up to you if you want to do this or not.
USING THE PAPER WALLET
As mentioned before, paper wallets are intended for long-term storage. They are also intended for single use. That means that you may receive as many transactions as you want to the public key of the paper wallet, but you should only spend the entire balance of the paper wallet once. Otherwise, if you only spend, say, 10% of the bitcoin in the paper wallet, you may lose the remaining 90%, as you can't generate change addresses in the wallet for the rest of the bitcoins.
Therefore, unlike a cold storage wallet.dat address, a paper wallet works like an old fashion piggy bank. You may put as many coins as yo want in it, but you should only break it once and take out the full amount out of it.
Keeping that in mind, the way you can use a paper wallet is this:
1. Use the private key as the address for receiving bitcoins.
2. Check your balance on blockchain.info by doing a search for the address.
WITHDRAWING THE BITCOINS
If the public key indeed has bitcoins and they show up in blockchain.info, you may withdraw them importing the encrypted wallet to a hot wallet, either online or on a local drive through a program such as Bitcoin Core.
1. WITHDRAW TO ONLINE WALLET
Online wallets such a blockchain.info or Coinbase allow you to scan the QR code on the paper wallet for importing using your computer's webcam. If the wallet is encrypted, blockchain.info will ask you for the passphrase.
NOTE: blockchain.info has a nice tutorial on how to import paper wallets at http://blockchain.info/wallet/paper-tutorial
2. WITHDRAW TO A LOCAL WALLET
Each wallet program is different and they may or may not allow importing encrypted paper wallets. In the case of Bitcoin Core you can only import unencrypted private keys (the alphanumeric key, not the QR code) from the paper wallet by typing it in the program's console. At the time of writing this tutorial, Bitcoin Core does not support importing encrypted paper wallets.
Also, the import process in Bitcoin Core is not as user friendly. You have to do it through the console, not with a simple user interface and you have to type some commands.
This is the procedure:
1. Disconnect your computer from the internet.
2. Decrypt the encrypted paper wallet using the local copy of bitaddress.org and copy the decrypted private key.
3. Run Bitcoin Core and save a backup of your current wallet.dat file as a precaution.
4. Select HELP in the menu bar.
5. From the HELP menu select DEBUG WINDOW.
6. Select the CONSOLE tab.
7. If your local wallet is encrypted, type the following in the command field at the bottom of the window and hit enter:
walletpassphrase "YourPassphrase" 600
(Substitute YourPassphrase with your actual passphrase.)
Now type this:
(Substitute YourPaperPrivateKey with the actual unencrypted private key exactly as it is, with uppercase and lowercase letters as they apear.)
The private key balance should apear in Bitcoin Core and you can spend it or send it to another wallet to consolidate your bitcoins.
8. Backup your wallet.dat file again, but give it a different name.
NOTE: if you don't feel like mixing you current wallet with the paper wallet, simply backup your current wallet.dat file, close Bitcoin Core, delete the local wallet.dat file, run again Bitcoin Core, encrypt the new wallet.dat, and follow the import procedure described above.
3. ON ANDROID
The Mycelium bitcoin wallet app for Android allows you to import encrypted paper wallets. These are the steps according to https://en.bitcoin.it/wiki/How_to_import_private_keys
1. From the menu button select "Cold Storage."
2. Scan private key.
3. Select destination address for the paper wallet balance.
4. Select amount (remember: you must empty the wallet.)
5. Press blue currency tag at the top to toggle currency.
4. On iPhone or iOS
There are now several bitcoin wallet apps for iPhone or iOS. At least two of them allow you to import private keys: BreadWallet and CoinPocket.
The import procedure for all wallet apps is the same: look for the "import private key" function (click on the menu on the upper left corner on BreadWallet) or "Sweep private key" (second button on the "Receive" window in CoinPocket). After scanning the QR code you will be asked for the passphrase. Enter it. The coins will appear on the app's balance.
WARING: If you import your private keys to your phone they are NOT secure. If anything happens to the phone, or if you delete the app, and you do not have a backup passphrase for the app, the coins will be gone. So do not import your coins to your phone if it is a considerable amount of coins. If you must do it because you need to spend some of the coins, then don't keep the rest of the coins in the phone for long. In fact, send them immediately to another encrypted paper wallet after spending what you needed to spend.
SPENDING ONLY A PORTION OF THE BITCOINS
If you only want to spend a portion of the bitcoins from a paper wallet and leave the rest in a paper wallet, the only way you can do that is by creating a new paper wallet so you can transfer the change. You should NOT transfer only a portion of the bitcoins from the original paper wallet, though, as you will lose the rest of the bitcoins.
This is the procedure:
1. Before withdrawing the bitcoins from the original paper wallet, create and test a new paper wallet. Add BIP-38 encryption to the wallet if you so desire.
2. Print two copies of the new paper wallet as a backup.
3. Transfer the full amount of bitcoins from the paper wallet into a hot wallet, either in a local computer or online.
4. From the hot wallet, transfer the bitcoins you want in cold storage to the bitcoin address for the NEW paper wallet and keep the rest in the hot wallet for spending.
5. Check the transaction was verified by searching for the paper wallet address in blockchain.info.
6. Store the wallet the new paper wallet and destroy the old paper wallet.
NOTE: We cannot stress enough times; you should only transfer the full amount of the paper wallet into a hot wallet. If you dot, you risk losing the rest of the bitcoins in the paper wallet if you only transfer a portion. This is because in order to have a new balance after spending bitcoins, you need a new address associated to your private key in order to receive the change. But a paper wallet can't generate a new address. This is the one caveat that makes paper wallets not as practical as digital cold storage wallets in a thumb drive.
Found this tutorial useful? Tip us!
Click here to get some FREE BITCOINS.