
Step 1 — Identify what you have
Start by confirming which MultiBit you’re dealing with and what you possess.
Try to look for these
- Classic files:
wallet-name.walletand/or key backups likesomething.key. - HD seed: a 12- or 18-word phrase (sometimes revealed after decrypting the
.wallet). - Password hints: likely length, separators, favorite words, years, languages, keyboard quirks.
Default file locations
- Windows:
%APPDATA%\MultiBit - macOS:
~/Library/Application Support/MultiBit - Linux:
~/.multibit
These folders often include wallet-backup/ and key-backup/.
U2FsdGVkX1... (i.e., “Salted__” after Base64 decode), it’s an OpenSSL-encrypted export. That’s common for MultiBit Classic key backups.Step 2 — Classic wallet: export or decrypt
A) If MultiBit Classic still runs (old machine/VM)
- Open Tools → Export Private Keys.
- Save the export (WIF keys start with
5,K, orL). - Sweep those keys into a modern wallet (e.g., Electrum) to move funds to fresh addresses.
Why “sweep” instead of “import”? Sweeping creates a new transaction to your new wallet, avoids lingering exposure of old keys, and simplifies future fork claims.
B) If the app won’t run: decrypt backups with OpenSSL
Many Classic backups (and some .wallet files) use OpenSSL AES-256-CBC with an MD5 KDF. If you know the password, try:
# Decrypt a .key or .wallet created by MultiBit Classic
openssl enc -d -aes-256-cbc -a -md md5 \
-in encrypted.key \
-out decrypted.txt \
-pass pass:YOUR_PASSWORD
Open decrypted.txt in a text editor. You should see one or more WIF private keys (printable ASCII). Sweep them in Electrum or import into Bitcoin Core.
Common decrypt errors
“bad decrypt” / “Provided AES key is wrong”: wrong password, wrong file, or corrupted/truncated Base64. Re-check the source file and realistic password variants.
Security: handle keys offline. Don’t paste seeds/keys into websites.
Step 3 — MultiBit HD: restore from seed (or reveal it)
Best case — you have the 12/18-word seed
- In Electrum: Create new → I already have a seed.
- Click Options → BIP39 (required for MultiBit HD seeds).
- Enter the seed → choose Detect Existing Accounts to load the correct derivation and history.
No seed, only a .wallet file?
Decrypt the .wallet with the same OpenSSL method above. MultiBit HD stores the seed/keys inside; once revealed, restore or sweep.
Step 4 — Move coins to a modern wallet
Electrum (quick)
- Classic: Wallet → Private Keys → Sweep → paste WIFs → send to a new address.
- HD: after restore, simply spend to a fresh wallet.
Bitcoin Core (robust)
importprivkey YOUR_WIF
# Wait for rescan, then spend onward.
Note: Electrum uses public servers—use a legitimate installer.

Password recovery — reality check
- Classic OpenSSL exports (
.key/.wallet): attacks target AES-256-CBC (MD5 KDF). Tools like hashcat, John the Ripper, or btcrecover can test candidates fast if you have solid hints (patterns, separators, favorite words/years, languages). Truly random, high-entropy passwords are generally impractical. - HD seeds: if you have the words, there’s no password to crack; otherwise decrypt the
.walletto reveal them.
If you prefer not to run GPU attacks yourself, a professional can structure targeted candidates and handle air-gapped hygiene. No guarantees—just probabilities.
Common errors and straight fixes
“The wallet password is incorrect / Could not decrypt bytes / Provided AES key is wrong”
Meaning: password/file mismatch or wrong KDF.
Fix: use OpenSSL with -md md5; verify the file isn’t truncated; try realistic variants.
“Wallet file not found”
Meaning: wrong directory or user profile.
Fix: check the default paths above; search for *.wallet and *.key; inspect wallet-backup/ and key-backup/.
Decrypted file looks like garbage
Meaning: not an OpenSSL export or Base64 is damaged.
Fix: re-copy the source; WIF keys should be readable ASCII starting with 5, K, or L. If it’s a raw Classic data file, try importing into a throwaway VM and exporting keys cleanly.
Empty balance after Electrum restore
Meaning: restored without BIP39 or account not detected (gap issue).
Fix: restore with BIP39 checked and choose Detect Existing Accounts; generate several receive addresses; confirm you’re on a healthy server.
Step-by-step quick recipes
Classic: decrypt a .key, then sweep to Electrum
- Copy
your.keyto an offline machine. - Run:
openssl enc -d -aes-256-cbc -a -md md5 \ -in your.key -out your-decrypted.txt -pass pass:YOUR_PASSWORD - Open
your-decrypted.txt, copy each WIF key. - Electrum → Wallet → Private Keys → Sweep → paste → send to your new address set.
Classic: no .key, only .wallet
- Try the same OpenSSL decrypt on the
.wallet. - If you get readable WIF/data, sweep as above.
- If not, use a throwaway VM to run MultiBit Classic, import the
.wallet, then export keys (treat the VM as untrusted).
HD: have seed words
- Electrum → Create new → I already have a seed → Options → BIP39.
- Enter seed → Detect Existing Accounts → set a password → spend to a modern wallet.
Safety & integrity checklist
- Use a clean, offline machine until funds are moved; verify tool downloads and signatures.
- Prefer sweeping to fresh keys over importing.
- After moving BTC, claim forks (BCH/BSV/BTG) in a separate session.
- Archive old files (encrypted) and log what moved, where, and when.
Other Multibit Tutorials
- For other tutorials and help check our articles here blog
