I have bitcoinQT with some coins on it. I want to use the internet on a regular basis from this computer. I do not trust the authors of internet applications and commercial operating systems. I especially do not trust the manufacturers of printers. I also do not trust that there will never come a day when burglars (or polite young men with a writ, same thing) with guns break into my home and take away all computing devices and storage media they can find.

It is my intent to use a pen and paper to write down public key and address, and destroy all trace of bitcoin addresses currently holding value from all electronic media. That which is not stored electronically - at all - is secure from all possible electronic snoops and all possible thieves of equipment, as well as from equipment malfunction. That which does not exist, even in encrypted form on storage media, cannot even be shown to have ever existed.

But having done so -- what exactly do I need to type, at keyboard, into a text file, to create something that bitcoinQT, when started with no known wallet on the machine (as though for the first time) knows how to import? What exact format? And how exactly do I tell bitcoinQT to import it?


4 Answers 4


The Satoshi bitcoin client has a dumpprivkey command available in the console, which outputs an encoded string of about 50-60 alphanumeric characters. That should be pretty easy to write down, and it can be reimported with the importprivkey command.

But if you're really paranoid, why ever have your private key on a computer at all? Flip a coin a bunch of times to generate some random bits, and then run the ECDSA keypair generation routine with a paper and pencil! Hash the public key (you can use a computer for that part) to get your address, and transfer all your bitcoins to that address. If you want to spend them someday, run ECDSA's signing algorithm by hand to make a raw transaction, key it in, and put it on the network.

Of course, stealing the piece of paper where you wrote down the key is probably a lot easier than decrypting an electronic copy. It seems to me your trust is a little misplaced.

  • 1
    Pens and paper are very simple devices. They can be trusted to do absolutely nothing that you don't want them to do. Computers, not so much. Millions of lines of code invisibly run when you're doing something you think is simple. You can't even tell where all of it comes from. Paper does not generally fail for centuries in the absence of fire or water, and the same cannot be said for disk drives or CD's. Finally, I am far more worried about malware, hacks, hardware & media failures, and software security failures than about any kind of physical theft.
    – Edward.
    Aug 21, 2013 at 15:10
  • 1
    Fair enough. Then I guess you're going to want to get yourself a big stack of paper, a book on abstract algebra, and some good music to listen to as you multiply points on an elliptic curve by hand. Aug 21, 2013 at 15:57
  • Doing complicated Math not necessary for just save and restore key, I hope.
    – Edward.
    Aug 21, 2013 at 16:22
  • @Edward.: No, certainly not. But if you generated your key on a computer, and you mistrust all computers, how do you know it hasn't already been stolen? Aug 21, 2013 at 16:50
  • It's risk per time. Generating, storing, had some risk, once. Keeping stored in software form has much smaller risk, but risks every day. Over many days. Not need most of this bitcoin, in next at least five years. Plenty to spend 'til then. Hard drives, USB keys, etc. fail often over such periods. And not so arrogant I am to think I can keep computer secure every day so long.
    – Edward.
    Aug 21, 2013 at 18:00

"Destroying" the electronic copy is harder than it seems.

The right approach is to create a private key offline in a secure way (i.e., with no "electronic copy" beyond volatile ram) and send funds to that address.

This can be done with a copy of the html page from BitAddress stored to USB then accessed after booting to a LiveOS, such as an Ubuntu bootable ISO.

If you trust the sources, BTCVault is one distro with this. Another is based on Puppy linux.


How much typing are you willing to do? You can always write down a base-58 encoding of whatever data you want. But that seems at best time-consuming and at worst error-prone.

A couple ideas come to mind. One is to get some graph paper and hand-draw yourself a QR code that you can scan with a digital camera. But I'm still wondering why you're worried about thieves acquiring your digital media but not your papers. Is it really that much easier to hide a piece of paper than a CD-ROM?

Another idea is to choose some file on the Internet, and use that as the secret seed to a deterministic key. Then you need not store any digital media nor papers. Just make darn sure that whoever controls the server it's on isn't going to take it away or change it. Maybe use a file available in a number of places or even not on the Internet: some CD-ROM in the back of a book at the library, or the first n phone numbers on page X of the 1965 Manhattan white pages. I imagine the genesis block doesn't change that oten, and if it ever goes away then using your Bitcoins might not be an issue either. You get the idea.

  • Short version? Yes, more worried about loss/theft of digital media than of paper. Won't go into exactly why.
    – Edward.
    Aug 21, 2013 at 8:30

Silly to argue me about whether need and why. Found complete answer.

Proper software for create new bitcoin-qt wallet, containing bitcoins from completely offline saved address/key from old account, using keyboard only, is bitcoin-qt. Method as follows.

  1. Install bitcoin-qt, start it while online, wait days for complete blockchain download.
  2. Disconnect Internet and open bitcoin-qt.
  3. Go to help -> debug window
  4. Enter command: importprivkey < private key > rescan=true
  5. close debug window.
  6. Wait minutes while client scans block chain to find tx from when you stored coins in address matching private key.
  7. Old coins, old address, private key for that address, now in wallet. Never save wallet while unencrypted; could be recovered even after erasure.
  8. Go to settings -> change passphrase. Enter new passphrase to encrypt wallet. Could even do this before import old key, probably should.
  9. Go to file -> backup wallet. Save wallet.

Simple. Uncomplicated. Non volatile, non failing, not hackable while offline, backup. Not need care if computer media/computer equipment fails or is stolen. Can reformat drive, suffer malware/trojan infection, install new OS, whatever, in intervening time, without fear coin loss or key leak. Good for years. Nothing needed but pen and paper. Not need trust very many programs, Not need trust them very many times. Not need keep computer, non-paper media secure from hacks, theft, destruction, all intervening days. Not need trust nor destroy printer to keep safe. Not need special equipment, not need trust more software, not need trust smartphone, not need be online, to scan back in. Why argue about?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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