Jaxx (later renamed Jaxx Liberty) was one of the first multi-chain mobile and desktop wallets, launched by Anthony Diiorio's Decentral Inc. in 2014. At its peak it held seed phrases for hundreds of thousands of users across BTC, ETH, LTC, DASH, ZEC, and dozens of ERC-20 tokens. In 2021 Decentral pivoted to Jaxx Pro and ultimately discontinued the consumer product. Many users discovered too late that the wallet stopped syncing — but the funds were never moved. They are still on the blockchain, waiting for the seed to be imported into a working wallet.
Two eras: Jaxx Classic vs Jaxx Liberty
Jaxx Classic (2014-2017) had no password. The 12-word seed was stored in plaintext in the local browser-extension or Electron data folder. Anyone with disk access could read it. Jaxx Liberty (2017+) introduced PBKDF2 + AES-256-CBC encryption, but kept the same LevelDB storage layout.
# Jaxx Liberty key derivation (reverse-engineered)
salt = random(8 bytes)
iterations = 5000
key = PBKDF2-HMAC-SHA512(password, salt, 5000, 32)
iv = random(16 bytes)
ciphertext = AES-256-CBC(key, iv, mnemonic_utf8)
# Stored in LevelDB under the 'wallets' key as base64-encoded JSON:
# { "salt": "...", "iv": "...", "ciphertext": "..." }Where is the wallet data folder?
| Platform | Path |
|---|---|
| Windows (Liberty) | %APPDATA%\Jaxx Liberty\IndexedDB\file__0.indexeddb.leveldb\ |
| macOS (Liberty) | ~/Library/Application Support/Jaxx Liberty/IndexedDB/file__0.indexeddb.leveldb/ |
| Linux (Liberty) | ~/.config/Jaxx Liberty/IndexedDB/file__0.indexeddb.leveldb/ |
| Windows (Classic) | %APPDATA%\Jaxx\Local Storage\ |
| Android | /data/data/com.liberty.jaxx/app_webview/Default/IndexedDB/ |
| iOS | App container Documents/IndexedDB/ (encrypted iTunes backup) |
| Chrome extension (Classic) | Local Extension Settings/cjelfplplebdjjenllpjcblmjkfcffne/ |
Copy the entire folder. Do not delete the LOG or MANIFEST-* files. LevelDB is sensitive to partial copies.
Extracting the encrypted seed blob
# Quick Python extractor using plyvel
import plyvel, json, base64
db = plyvel.DB('./file__0.indexeddb.leveldb', create_if_missing=False)
for k, v in db:
if b'wallets' in k:
# Value is wrapped in IndexedDB binary frame; the JSON
# blob starts after the 0x00 0x01 header bytes.
try:
payload = v.split(b'{', 1)[1]
data = json.loads(b'{' + payload)
print(json.dumps(data, indent=2))
except Exception:
pass
db.close()The output gives you the salt, IV and ciphertext. Save them to jaxx_vault.json.
Decrypting with the known password
from hashlib import pbkdf2_hmac
from Crypto.Cipher import AES
import base64, json
vault = json.load(open('jaxx_vault.json'))
password = "my-old-jaxx-pass"
salt = base64.b64decode(vault['salt'])
iv = base64.b64decode(vault['iv'])
ct = base64.b64decode(vault['ciphertext'])
key = pbkdf2_hmac('sha512', password.encode(), salt, 5000, 32)
cipher = AES.new(key, AES.MODE_CBC, iv)
mnemonic = cipher.decrypt(ct).rstrip(b'\x00').decode()
print(mnemonic) # 12 BIP39 wordsBrute-forcing a forgotten password
# btcrecover Jaxx module (works against either Classic or Liberty)
python3 btcrecover.py \
--wallet ./file__0.indexeddb.leveldb \
--wallet-type jaxx \
--tokenlist tokens.txt \
--typos 2 --typos-case --typos-swapMigration target — what wallet to import into
| Wallet | Strength | Caveat |
|---|---|---|
| Exodus | Easy import, multi-asset, active dev | Closed source |
| Coinomi | Largest asset coverage | Closed source |
| Trust Wallet | Mobile-first, owned by Binance | No desktop UI |
| Electrum (BTC) | BIP39 import path, lightweight | BTC only |
| MetaMask (ETH) | Active dev, EVM ecosystem | ETH/EVM only |
Recoverable vs not
Recoverable
- • You wrote down the 12-word seed
- • Old PC / Mac with Jaxx folder intact
- • iTunes backup containing the iOS app
- • Forgotten password, partial memory
Not recoverable
- • Phone wiped, no backup, no seed
- • Disk reformatted, no shadow copy
- • Random 16+ char password, no fragments
- • Decentral cannot help — no custody
Related guides
- Coinomi recovery — recommended migration target.
- Exodus / Atomic / Trust Wallet — migration alternatives.
- Old Bitcoin wallet checklist — sister guide for legacy BTC wallets.
- btcrecover full tutorial.
Frequently asked questions
Is Jaxx Liberty still working?
Decentral wound down operations in 2021. Old installs may launch but key network endpoints are dead. Funds remain on-chain — extract the seed and import into a modern wallet.
Where does Jaxx Liberty store data on Windows?
%APPDATA%\Jaxx Liberty\IndexedDB\file__0.indexeddb.leveldb\ — the LevelDB folder containing the encrypted seed.
How was Jaxx encrypted?
Jaxx Classic: no encryption (plaintext seed). Jaxx Liberty: PBKDF2-HMAC-SHA512, 5000 iterations + AES-256-CBC.
Can I brute-force a forgotten Jaxx password?
Yes — btcrecover with --wallet-type jaxx. Throughput is high because of the low iteration count.
No device, no seed — anything I can do?
No. Decentral was non-custodial. Without the LevelDB folder or the 12-word seed, the keys do not exist anywhere recoverable.
Recover a legacy Jaxx wallet
Zip up the LevelDB folder, list any password fragments you remember. Our farm runs the Jaxx-specific PBKDF2 pipeline plus targeted dictionary attacks. Pay only on success.