The following content was written by LoyceV on August 26, 2018, 01:09:32 PM in the thread [overview] Recover Bitcoin from any old storage format. All content is owned by the author of the bitcointalk.org post. (original)
I’ve seen many threads like: Recovering weird old wallet, and the answer is often very easy if someone recognizes the format.
Since the number of different formats will only grow, and (in the future) I expect more people to forget what format they used to store their Bitcoin 10 or more years ago, I’ve decided to create an overview.
The aim of this thread is to give a complete overview for anyone who finds Bitcoins in any storage format.
Work in progress
This thread is work in progress. Please post any missing storage formats or additional identifying data, so I can add it to the OP (and give you credit). I haven’t tried all possible wallets by myself, and I won’t claim to know all possible formats either. If you find a thread asking about a format not covered yet, please post a link.
Warning: take security precautions
First: make one or more backups (thanks DaveF)! Make sure you’re not working on the only copy you have, as you risk losing everything.
Make sure you know what you’re doing, before doing it! When in doubt, don’t do it.
Ignore or report unsolicited private messages from old or new users. Discuss your needs in public on Bitcointalk, but DO NOT post your private keys, seed phrase words, or wallet files. DO NOT trust “help” you receive by PM, you will get scammed. Be careful which screenshots you upload.
Don’t trust anybody with your private keys, unless you’re absolutely sure you would trust him with the same amount in cash.
Several websites try to have you download a compromised wallet. Ensure you’re using the official website before downloading, and check the installer’s signature/checksum (thanks ETFbitcoin).
Use an air gapped offline computer running from a Linux LIVE DVD (for example Ubuntu or Knoppix) without internet connection when necessary.
Don’t expost large amounts of Bitcoin to a hot wallet. Assume your system is compromised, and act accordingly. Don’t trust your Windows clipboard, malware can change your Bitcoin address to their own, and checking only the first few characters of the address is not enough to prevent this.
If you’re using a paper wallet, you should use the entire balance at once. If you use only a small amount, you risk losing the rest of your balance to a change address.
Where to send your Bitcoins
Before attempting to recover your funds, you should already know where to send them after recovery. Setting up a safe wallet is beyond the scope of this thread, I recommend to start your search here: Choose your [Bitcoin] Wallet. Consider whether or not you want to use a SegWit address.
Create one or more secure backups before funding any wallet.
Bitcoin private keys (this section is largely based on data from bitaddress.org)
- WIF (Wallet Import Format) (51 characters base58, starting with “5”).
- WIF Compressed (52 characters base58, starting with “K” or “L”).
Note: both WIF and WIF Compressed are derived from the same private key, but result in different Bitcoin addresses.
- Private Key Hexadecimal (64 characters [0-9A-F]) (less common).
- Private Key (44 characters base64) (less common).
- Mini private key (30 characters base58, starting with “S”, see wiki)
- BIP38 password encrypted private key (58 characters base58, starting with “6P”, see bitcoinpaperwallet.com).
- Private key missing checksum
The last 7 characters of a private key are a checksum. Blockchain.info backups used to omit the checksum. An easy way to restore it, is importing the private key without checksum into a new wallet at blockchain.info (nowadays blockchain.com), and then exporting it again. Note: I do not recommend exposing a private key to an online wallet, but if it was created by Blockchain.info, it should be considered compromised anyway (source and details; this information may be inaccurate (thanks Coding Enthusiast)).
- Private key for SegWit addresses
A private key can be used to create SegWit addresses (starting with “3” or “bc1”). You can import them into Electrum by adding “p2wpkh-p2sh:” or “p2wpkh:” respectively in front of the private key (source and details).
- Incomplete private key
If a few characters of a private key are lost, there are still recovery options (missing 5 character on known locations, missing one character on unknown location (I haven’t tested this)), but further details would go beyond the scope of this thread.
If you have Bitcoin in a CLI Blockstack node, read this topic and this topic.
Determine wallets based on filenames (note: these are the default filenames, you could have renamed yours)
Use Bitcoin Core
Note: many altcoins use(d) the same filename, in that case you won’t find any Bitcoins in your wallet.
- bitcoin-wallet-backup-YYYY-MM-DD. Example: bitcoin-wallet-backup-2015-12-31
Use Bitcoin Wallet on Android or do a manual recovery.
Seed phrases, Word lists or Mnemonic phrases
Bitcoin wallets can be stored as seed phrases, usually 12 to 24 words long. The used words can be in several languages (thanks HeRetiK).
- 12 words
Example: thrive jump wheel calm eyebrow order ankle raven fee narrow diamond adult
The seed can be extended with one or more custom words.
Use Electrum, or iancoleman’s Mnemonic Code Converter (do this offline!!) to extract all private keys.
- 24 words
Hardware wallets, such as Trezor and Ledger, usually use 24 words.
Example: party describe tunnel brother explain laugh hello have short wood bird desk liar pole neck push wine tooth young mean grain join cheap aisle
Use the original hardware wallet, or iancoleman’s Mnemonic Code Converter (do this offline!!) to extract all private keys.
A common mistake is using the words in the wrong order, where the words are written down like this:
But you’re trying to recover them like this: 1 3 5 7 …… 2 4 6 8 ……
- Another number of words
If you don’t remember how the list was created, you can use iancoleman’s Mnemonic Code Converter (do this offline!!) to extract all private keys.
- Missing or incorrect word(s)
Try seedrecover.py (I haven’t tested this) (do this offline!!) (thanks o_e_l_e_o)
- Master private key (111 characters, starting with “xprv” (legacy addresses starting with “1”), “yprv” (backward-compatible SegWit addresses starting with “3”) or “zprv” (native SegWit addresses starting with “bc1”) (source).
Example: xprv9xyQEZakyfuyCRGF1moJNatpGDAgMS4hgctAgWU4RNw664qCz6agreZParHx6G24td48SZKnmK8 ppSVMvmyBuTy9L4poDhwgm9aR9GukgQW (source & further reading)
Use Electrum > create new wallet > enter seed.
- Armory Root Key: 18 four letter “words”.
Example (from bitkee.com): eoaj gghu ruaf ghwe jnrh ftuu hweu aeun agkg tudt waja gunn oawg jkwh dhei hjdn itar naoj
- Blockchain.info: To recover an old legacy Blockchain.info wallet, read this topic and go here.
If you can’t find your wallet.dat, because it’s deleted or renamed, you can try these options (do this offline!!) after you’ve made a backup of the entire partition.
- Pywallet can search for private keys on an entire partition, even when the wallet has been deleted.
- Findwallet can search for a wallet file after it was renamed (but not deleted)
If your address was funded early enough, you also own Forkcoins. Read the link, it may be well worth your time.
For future backups, make sure to keep all information needed to recover your funds.
All my threads are now self-moderated to stop signature spam. I will remove all irrelevant posts. If you quote the entire OP, your entry will be deleted.
Once in a while I’ll summarize posts and clean up this thread.
This thread and board are meant for Bitcoin only. But, if something comes up, I’ll keep track of methods to restore a damaged private key for altcoins too. For future reference:
- Stellar Lumens private key (56 characters base32, starting with “S”)
If 1 or 2 characters are incorrect, try StellarCracker (by Coding Enthusiast)
Use this information at your own risk. At all times, think before each action, especially when you’re dealing with private keys. When in doubt, don’t do it!
I’m human, I make mistakes. If something is incorrect, please let me know.
1MyMoney4uNt5afXALAZpoovJpqojEMkLP (Balance: )