I have an old wallet.dat file with a few Bitcoins. It is stored in an isolated computer that is not connected to the internet.

I would like to get rid of the wallet.dat file, and move all the Bitcoins in it to a few separate paper wallets (created using bitaddress.org).

The naive approach would be installing Bitcoin-QT, and make the transaction. Unfortunately, this is insecure - hackers could potentially steal my Bitcoins while I am online.

The secure way should probably be something like:

  1. Import the private key from wallet.dat using some command-line tool, on the offline computer.
  2. Sign a transaction on the offline computer.
  3. Copy the signed transaction (sans any private key!) to an online computer using a flash drive.
  4. Publish the transaction from the online computer.

I've inspected a few tools, including Electrum and Armory, but I seek for your advice regarding the simplicity and safety of these tools.

Any advice how to sign a transaction offline and publish it offline, to salvage the bitcoins from my wallet.dat file?


1 Answer 1


You have correctly answered your own question in the list following "The secure way should probably be something like [...]". You could skip step one by using the command-line API to the bitcoind client you presumably already have installed and used to generate the wallet.dat in the first place, but this is very tedious as you may have to manually list all the inputs to include in the transaction in a createrawtransaction API call, and then echo the output back into a signrawtransaction API call, before getting the signed transaction for step 3. If you want to investigate this route, check the API Calls List.

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