I just wanted to ask If it makes sense if I want to print out my wallet.dat to encode it with base64?

I also read that the backup would become useless, if I get any receivements or make deposits and I would have to print out the wallet.dat again?

I would like to encode my wallet.dat with base64, print it and hide it in safe.

when my laptop breaks down and my other backups are also damaged (why every), i could scan my printed wallet.dat with OCR, decode it with base64 and just load it into the normal bitcoin client?

does this sound correct? or are there any things I'm missing?

I dont want to rely on other software, no other web apps or key/password generators...


You are correct, and this is possible.

To summarise the wiki info on wallets, you can backup the wallet in any form you like in order to preserve the key pairs, transaction history and other useful information. The wallet may become badly out of sync but the backup is still fundamentally usable.

As wallets are often implementation-specific and needn't be distributed in the same handy fashion as Bitcoin addresses, your wallet.dat can be fairly large. The Base64 size of your wallet printout will be 4/3rds of the normal wallet size in bytes.

Six point font is smallest reliable size for most OCR applications. If I assume you are using the A4 standard, an single A4 page of 6pt monospace font can contain approximately 20,000 characters or 15 kilobytes of Base64 data. Duplex would make that 30KB per page.

Alternately you could use Version-40 QR codes, the information density per page could be several times higher. Finding an off-the-shelf open source tool for version-40 QRs could be hard, so you would be relying on third-party software; conflicting your question requirement.

When printing to paper instead of plastic, consider flame retardant paper treated with a safe insecticide to reduce the possibility of losing the key to insects or mild fire. Putting the printed key inside a black envelope inside a tamper-evident bag would also be a good idea.

  • To elaborate on "your wallet may become badly out of sync", by default, the reference client uses a key pool of 100 future keys. As a new key is used for change any time you create a transaction, your backup becomes useless as soon as you have made 100 transactions + public addresses with it. Deterministic wallets will provide a solution for this in the future. – Pieter Wuille Oct 27 '13 at 13:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.