Every recovery service operator has stories: someone finds a 2014 hard drive in a moving box, plugs it in, finds a long-forgotten wallet.dat with 5 BTC. After password recovery, that one weekend pays for a year of life. This page is the systematic checklist for where to look and what to do when you find something.
Step 1 — search every storage location
- Old laptop / desktop hard drives (USB-to-SATA adapters: $15)
- External backup drives, USB sticks, SD cards
- Email attachments (search "wallet", "backup", "bitcoin", ".dat", ".key")
- Dropbox / Google Drive / iCloud — check trash and revision history
- Old phone backups (iTunes, Google Drive Android backups)
- Time Machine snapshots (macOS) and File History (Windows)
- Burnt CDs / DVDs from 2013-2015
- Friends or family who might have helped you set up the wallet
Step 2 — file format detection
| Filename / pattern | Wallet | Recovery path |
|---|---|---|
| wallet.dat | Bitcoin Core / Bitcoin-Qt | hashcat 11300, btcrecover |
| multibit.wallet + multibit.info | Multibit Classic | Open in MultiBit Classic, export keys, import to Electrum |
| mbhd.wallet.aes | Multibit HD | btcrecover --wallet-type multibithd |
| *.key | Multibit individual key file (WIF) | Import directly to Electrum / Sparrow |
| wallet.aes.json | blockchain.info / blockchain.com | btcrecover --wallet-type blockchain |
| armory_*.wallet | Armory | btcrecover --wallet-type armory or Armory itself |
| electrum-*.json or default_wallet | Electrum (early) | hashcat 16600, btcrecover |
| *.dat with $7z header | Bitcoin paper wallet (PDF/PNG zipped) | 7z password recovery + decode |
| 5.../K.../L... (51-52 char Base58) | Raw private key (WIF) - paper wallet | Sweep with Electrum / wallet of choice |
| 6P... (58 chars) | BIP38 encrypted paper wallet | btcrecover --wallet-type bip38 |
Step 3 — file locations on disk
# Bitcoin Core / Bitcoin-Qt
Windows: %APPDATA%\Bitcoin\wallet.dat
macOS: ~/Library/Application Support/Bitcoin/wallet.dat
Linux: ~/.bitcoin/wallet.dat
# Multibit Classic (2013-2016)
Windows: %APPDATA%\MultiBit\multibit.wallet
macOS: ~/Library/Application Support/MultiBit/multibit.wallet
Linux: ~/.multibit/multibit.wallet
# Multibit HD (2014-2017)
Windows: %APPDATA%\MultiBitHD\mbhd-*\mbhd.wallet.aes
macOS: ~/Library/Application Support/MultiBitHD/mbhd-*/mbhd.wallet.aes
# Armory
Windows: %APPDATA%\Armory\armory_*.wallet
macOS: ~/Library/Application Support/Armory/armory_*.wallet
# Electrum (early)
Windows: %APPDATA%\Electrum\wallets\default_wallet
macOS: ~/Library/Application Support/Electrum/wallets/default_wallet
Linux: ~/.electrum/wallets/default_wallet
# Mycelium Android
/data/data/com.mycelium.wallet/files/
# Bitcoin Wallet for Android (Schildbach)
/data/data/de.schildbach.wallet/files/wallet-protobuf
# Breadwallet / Bread iOS
App container Documents/wallet.bin (encrypted iTunes backup)
# Coinbase old desktop wallet (2013)
Pre-2014 emailed PDF / CSV backups - search inboxStep 4 — Bitcoin Core wallet.dat extraction
# Convert wallet.dat to hashcat hash (mode 11300)
python3 bitcoin2john.py wallet.dat > wallet.hash
# Mask attack: you remember it's 8 chars, lowercase + digits
hashcat -m 11300 -a 3 wallet.hash --increment --increment-min 6 --increment-max 10 "?l?l?l?l?l?l?l?l?l?l"
# Dictionary + best64 rules (catches 30-50% of cases)
hashcat -m 11300 -a 0 wallet.hash rockyou.txt -r best64.rule
# btcrecover with tokenlist (best for 'mostly remembered' passwords)
python3 btcrecover.py \
--wallet wallet.dat \
--tokenlist tokens.txt \
--typos 3 --typos-case --typos-swap --typos-repeat --typos-delete
# After recovery, import into modern Bitcoin Core or sweep with ElectrumStep 5 — Multibit Classic special handling
Multibit Classic stopped working in 2017 — it relied on hardcoded Insight API endpoints that have been shut down. The .key files contain individual private keys in WIF format. The recovery path:
- Extract individual .key files from
~/.multibit/or backup - Each line is a WIF private key (starts with K, L, or 5)
- Import into Electrum: File → New → Import private keys
- Or sweep using a hardware wallet that supports key import
Multibit HD mbhd.wallet.aes is encrypted with AES-256-CBC + scrypt. btcrecover supports it directly: btcrecover --wallet-type multibithd.
Step 6 — blockchain.info / blockchain.com backups
# blockchain.info wallet.aes.json structure
{
"version": 3,
"iv": "...",
"iterations": 5000, # KDF iter (was 10 in early 2013!)
"payload": "..." # AES-encrypted JSON of keys + metadata
}
# btcrecover Blockchain.info module
python3 btcrecover.py \
--wallet wallet.aes.json \
--wallet-type blockchain \
--tokenlist tokens.txt \
--typos 3
# Modern import: blockchain.com no longer accepts .aes.json directly.
# Decrypt, extract keys, import to Electrum.Recovery feasibility scorecard
High value, recoverable
- • Bitcoin Core wallet.dat, 2013-2017 era password
- • Multibit .key files (just import)
- • blockchain.info .aes.json with weak KDF
- • Mycelium seed phrase
Lost forever
- • Wallet on a wiped / reformatted drive
- • Drive thrown away (the famous Howells case)
- • Random 16-char password, no fragments
- • No file, no seed, only an address
Pro tips from operators
- Image the drive first (
dd/ FTK Imager) before touching anything — single-attempt errors can corrupt LevelDB. - If the drive has bad sectors, run PhotoRec on a forensic image, not the live drive.
- Many people used the SAME password across crypto + email accounts in 2013. Try password manager exports from old accounts.
- Check `recovery-utility` deleted-file scans on cloud storage — Dropbox / Google Drive keep ~30-365 days of revision history.
- If your wallet had a non-zero balance you remember, look up the address on a block explorer to confirm — sometimes funds were already moved without your memory.
Related guides
- Bitcoin Core wallet.dat deep dive.
- Electrum recovery.
- Jaxx Liberty (multi-asset legacy).
- Paper wallet sweep / import.
Frequently asked questions
wallet.dat vs Multibit .key?
wallet.dat is Bitcoin Core's encrypted Berkeley DB. .key is a single Multibit Classic private key in WIF format.
Can I open a Multibit Classic wallet today?
Multibit Classic is dead. Extract .key files and import to Electrum or Sparrow.
What about old Mycelium Android?
Pre-2015 Mycelium had quirks; later versions are standard BIP39. Restore from seed in any modern wallet.
Is blockchain.info wallet recoverable?
Yes via btcrecover. Early KDF was extremely weak (10 iterations).
Why is this the highest-value recovery class?
Bitcoin price 100-1000x increase since 2013-2017. A 1 BTC wallet then = $80K-150K now.
Found an old wallet? Get a free format check
Send us the file - we identify the format, suggest the right hashcat mode, and quote a flat success fee. No upfront, no percentage of recovered funds.