Previously I setup an Armory online/offline/cold/paper bitcoin storage system. Recently I decided to migrate my bitcoin from Armory wallet cold storage to the BIP39 and related standards. I hadn't switched on the offline PC in a long time, and neither had I updated the blockchain on the online PC. Thus, I started considering my recovery options should something have broken or gone missing. Below are some of the ways I found to recover and move bitcoin in such failure scenarios.
The single-sheet Armory paper backup directly displays the Root Key, e.g.:
Root Key: nidh jtfj ejue whkj dngt dftt hsss idgh ssss
wwad dojw aeja idfg went ukkk sajj uuwj kwjt
The Root Key is all you need to send bitcoin from that wallet without using Armory, see Armory Root Key -> Addresses and Private Keys
The only way I know about at present is to install and run Armory on an OFFLINE PC and use the Armory wallet recovery. See Offline PC setup below. I will update if I find another way.
Same as above.
[ OFFLINE PC ]
- In Armory select the wallet from list. Click
Wallet Propertiesbutton. - Click
Backup This Walletlink. (ClickSee Other Backup Optionsbutton.) - Choose
Export Key Listsradio. ClickExport Key Listsbutton. - Tick
Include Paper Backup Root.
- You can also tick
Adresses StringandPrivate Key (Plain Base58)to immediately get a list of the addresses that Armory knows that you have used, but it is possible to get them later without using Armory. Keep private keys secret, do not use on an online PC.
-
The window at the bottom will show the
Root Keyand other wallet attributes, e.g.:Created: 2017-Apr-14 07:24pm Wallet ID: 23gXywZJw Wallet Name: Demo -------------------------------------------------------------------------------- The following is the same information contained on your paper backup. All NON-imported addresses in your wallet are backed up by this data. Root Key: nidh jtfj ejue whkj dngt dftt hsss idgh ssss wwad dojw aeja idfg went ukkk sajj uuwj kwjt --------------------------------------------------------------------------------CAUTION: keep the root key secret and do not use on an online PC.
-
The
Root Keyis all you need to access the bitcoin in all addresses of the wallet, except any imported addresses. Be sure that you have a paper copy of theRoot Key- KEEP IT SAFE!.
The Armory wallet Root Key is the one stored on your paper backup
[ OFFLINE PC ]
-
Open the
.htmlfile that you saved from from https://brainwalletx.github.io with a web browser. See Offline PC setup below. -
Select
Chains. SelectGeneration MethodasArmory. -
Type or paste your
Root Keyinto thePaper Backupfield. You should see the other fields update. -
Select
Wallet FormatasCSV. -
Below in
Chainyou will see the first 10 addresses and private keys for the wallet, e.g:| Address | Private Key 1, "19M4vKEB53xbLhrgbnR9kFaAHQQ2325Gzm", "5Jim41weU9weqrZZnbF5bvn1Xx585uK2biFN4eq8oMD6UkopVBi" 2, "1DkaYhLHygTt29vqxdhvdh9gifsqoENae2", "5Hu8rGTy3mW5JMSCL6QTA5KAW6kD5PsXUQYn3RkkdpTTCdsrhq8" 3, "1E1XbVwMcgdjuyDMQh1o98F9YgHy1hPYMU", "5JJCfCWzqc2gYDkKwYggc8m6NJWbo7MgXetKp1WMybpN3wnZ1Mv" 4, "1C2ZgrkSTguf2awWZRf3NvC4a46V7sckeZ", "5Kj6Wi22PEufWGuR9LZAK9MoUWZcrcFbavhGorsurg77eK5gBey" 5, "1JiNkgnkmrqAJ2YrrBa11KsBMEfjGNtpEG", "5JoFWoE4aTtaXW2d3XikevQaBruzWUs81SJga3wXoqHVqpTMTUs" 6, "1s7hP3RyE6MatNxxaj5xN7fMyrQeDqk2m", "5Jxm27EWCpa5JzDwXGscSJXiVSPFWLc7ibZcALwsmYsZSL78hWr" 7, "1KzQkypw24QNgFf9t3q4HZLZtioR4Uf9T7", "5KkCunRN6KLxM5Li8rYQmcBcJZQdCQjC7AevZbEDg6yPWuXSoPP" 8, "1CcpLdrsdfkD2gQcZyHJomT8vnwXjKDyoJ", "5J6omKWRChFCGYUyL3DYcEXc31mKipncDzgDRgTCUCsEzqwNKbD" 9, "1HNKftQEkSDMyYVYv48NbEiUZkd34prFut", "5KSuArCYhfnCijQ6X5uy7ms1K8Up1XXwcxQuiX229pmTeaDTYBF" 10, "18zdaDMQEP42ea6vN3ojQZafD4BSJQ2rGK", "5KipHvcSEwix3uZAw3Fm9roAwcJJ7uPR6MvNP8FnXtsHH1jEccy"CAUTION: keep the private keys secret and do not use on an online PC.
-
If you want to lookup the value an address copy it to your online PC and search for it on https://blockchain.info/. Do not expose your private keys to the online PC.
-
To see more addresses increase the value in
Primary Addresses.
Unfortunately, if you previously used the wallet a lot and generated a large number of addresses then this method, although it will work, is going to be very time consuming. At present I'm not aware of an easy way to do this other than setting up a full Armory online/offline system.
In the unusual situation that you don't happen to have the address for a private key it is easy to derive it from the private key.
[ OFFLINE PC ]
- Open the
.htmlfile that you saved from from https://brainwalletx.github.io with a web browser.See Offline PC setup below. - Select
Generator. SelectGet Address FromasPrivate Key. - Paste the private key into
Private Keytextbox. You may have to clickToggle Keyto make it visible. - Now
Addressshould show the wallet address.
[ online PC ]
-
On an online PC open: https://brainwalletx.github.io in your browser.
-
Select
Transactions. SelectBuild Transaction FromasPrivate Key. -
Paste the address into
Source Address(e.g.:19M4vKEB53xbLhrgbnR9kFaAHQQ2325Gzm). Then clickOKon the popup asking to download the transaction history. TheBTCshould show the bitcoins currently in that address. If get a popup sayingNo free outputs to spend, there are no bitcoin in that address to send. -
Click
Edit History. SelectUse History FromasBlockChain Info. -
If the address contains bitcoin,
Transaction Historyshould show JSON, e.g.:{ "unspent_outputs": [ { "tx_hash": "684462171be1baf98c968458aa2ada2603fee1424ebd89487b058a3e5fa915e9", "tx_hash_big_endian": "e915a95f3e8a04bb4889bd4e42e1f313267a2aaa5894968cf9bae11b17624568", "tx_index": 237208244, "tx_output_n": 1, "script": "76a91441c46612a4c71b6c4463e7df1dc19175c9ab95f087ac", "value": 2173722, "value_hex": "212b1a", "confirmations": 51 } ] } -
Copy the
Transaction Historyand the destination address to your offline PC.
[ OFFLINE PC ]
- Open the
.htmlfile that you saved from from https://brainwalletx.github.io with a web browser, see Offline PC setup. - Select
Transactions. SelectBuild Transaction FromasPrivate Key. - Click
Edit History. SelectUse History FromasBlockChain Info. - Paste the
Transaction HistoryJSON into the textbox. - Paste the
Private Keyfor the address into the text box above (e.g.:5Jim41weU9weqrZZnbF5bvn1Xx585uK2biFN4eq8oMD6UkopVBi). - The
Source Addressshould show the address you used to lookup the transaction history, andBTCshould show the available balance. - Paste the
Destination Addressinto the text box, and enter the amount of bitcoin you wish to send inBTC. JSON TransactionandRAW Transactionbelow should now be populated.- Scroll down and enter the miner
Fee.
- If it is too small, the miners may take a long time, or forever, before they process the transaction. Thus, you need to determine an appropriate fee for the transaction. The fees vary from time to time. There are some online services that can help you determine the correct fee, e.g.: https://bitcoinfees.21.co/.
JSON Transactionshows the transaction"size": ???.
- Review and double check that everything is as it should be.
- Copy
Raw Transactionto your online PC.
[ online PC ]
If you first want to verify that you have copied the transaction correctly:
- On an online PC open: https://blockchain.info/decode-tx in your browser.
- Paste the
Raw Transactioninto the textbox and clickSubmit Transaction. - Verify that the JSON output is the same as
JSON Transactionon your OFFLINE PC.
Now, to send the transaction to the network:
- On an online PC open: https://blockchain.info/pushtx in your browser.
- Paste the
Raw Transactioninto the textbox and clickSubmit Transaction. - Then lookup the address on https://blockchain.info/ to watch the status of the transaction.
To ensure that no malicious software can steal the secret parts of your wallets and addresses it is important to perform some operations on a PC that does not have any connection to the outside world, and never will.
This includes moving any storage medium from an offline PC to an online PC. There could be some malicious software on your offline PC writing your private keys to the inserted removable media. Other techniques to copy data to and from your online PC can be used, including QR Codes. However, in this exercise I just used a USB stick and trusted that my offline PC would not write any secret information to the stick.
There are various ways to achieve an offline PC, do your research. This guide may require you to have the following installed on your offline PC:
- Brainwallet tool:
- On an online PC open: https://brainwalletx.github.io in your browser.
- Save the page to a USB disk with
File->Save Page As ..., and copy it onto your OFFLINE PC, be sure to copy both the.htmlfile the simlarly named folder.
- Armory:
To decode Armory
.walletfiles,SecurePrintor fragmented paper backups, the easiest method I've foud so far is just to use the application.
- On an online PC download Armory.
- Copy it onto your OFLINE PC and install it there.