I would like to save some of my bitcoins on a piece of paper with QR code printed on it. What would be the easiest way to do it without using Mt Gox. or similar. Just bitcoins (I'm not afraid of some programming if it's needed).
Currently the most popular method is to use something like pywallet to export your public/private keys and simply generate a text QR code for them. Typically separate QR codes are generated for the public key and private key so that one code may be used to receive payment without giving away the private key which allows spending from the account. There are some alternatives, however, depending on your paper wallet needs.
Casascius' Bitcoin Address Tool is an excellent way of saving bitcoins in an easy to recover format. Though it doesn't yet support QR codes it does have the ability to generate a paper wallet from any passphrase. Once generated you could store the public and private keys as QR codes using any of a number of applications or online generators. Additionally, you could store the passphrase in a QR code and use it to recover your addresses at any time.
I specifically suggest this as opposed to simply exporting keys with pywallet and QR-ing them because this method would let you store more than one wallet address using a single QR code since any passphrase can generate up to 999 addresses deterministically in such a manner. Of course having a simple public key in QR code form also lets you scan the address with a smartphone or computer to send coins, so ultimately the solution depends on your usage.
Use bitaddress.org. It is a single HTML file so you can save it and generate addresses offline for extra security.
For a PDF wallet give StrongCoin.com a try. The PDF wallet will have your private keys encrypted (AES 256bit) with a pass-phrase you supply.
My favorite method:
- grab out a old/unused pc/mac
- install a linux over usb (maybe Talis) (make sure your USB stick is clean!)
- download a recent version of bitcoin-core (check hash, verify gitian signatures)
- copy bitcoin-core over usb to your offline machine
./bitcoin-cli getnewaddress(gives you a new public key)
./bitcoin-cli dumpprivatekey(gives you the corresponding private key)
- print or write down both strings (address can be recreated from private key, but print it anyhow)
- verify the printed or written down strings
- try to delete printers cache (power off, reset)
Now you could delete/format the pc/mac. But maybe it's worth keeping your new offline computer to generate new addresses or sign transaction in a "cold space/wallet".
An alternative is to buy BitBills or something similar. That is much safer (because the key is not visible unless you break the bill) and can also be used as "cash" (you can give it to someone).
You don't want to "save" an existing address as a paper wallet, and instead you want to create (securely) an address (e.g., using BitAddress) and then make a payment that spends your coins to that address.
I read all of your answers, and I couldn't help wondering... whats wrong with writing down the actual private keys on a piece of paper?
What I did was following: I ran listunspent in the console first, to obtain the list of addresses worth safeguarding. Then I ran dumpprivkey for each and every address. I printed out what I got... did I do anything wrong?
To optimize the whole process, I could do a payment to myself to a fresh address of mine, to transfer everything I got to that address. After necessary confirmations, listunspent would retrieve only one address, wouldn't it?
Call it a poor man paper wallet, but this is pretty simple and straightforward, isn't it?
Bitcoin Armoury is the best thing out there for this.
- What you want to do is create a new wallet with armoury, create a receiving address and send your BTC there.
- The best thing is you do not need to even be connected to the network, synchronized or anything. Armoury can run offline in the dungeons far underneath the earth (like your cellar :) )
- You then create a paper backup and print it out 2 or three times. Go and store it in your bank, in your important documents and at your mums house.
- Delete armoury. (Yes, but make sure you have your paper backups stored safely!)
Your coins will hang in limbo (on the network) without any transaction history or block chain tracking. COmpletely anonymous and unclaimed.
Now- You might feel like you just threw your coins into thin air and have this uneasy feeling of you will never get your coins back! I know I did. So this is what I did.
I followed the whole process I mentioned above. Created a test wallet. Went to another computer somewhere else and did the same, except I imported the wallet from the paper backup. SYnchronised to the bitcoin network. Viola - The coins appeared in the transaction blocks and in my wallet ready to spend
- It is also good for managing many online wallets at the same time. One for savings, possibly donations from your websites or blogs, and a personal one, and even offline unsynchronized for the long term anonymous storing of coins.
As long as the bitcoin network will be running you will never lose offline transactions. Just make sure to keep your paper backup in atleast 3 secure seperate place- and no. Do not store it on picasa albums or gdrive.. keep it offline in a bank, locker and at your nans house under the bed, laminate it, put it in a box and bury it in your back yard next to the tree house.