Legacy wallet · 11 min read

Jaxx Liberty Wallet Recovery

Decentral Inc. wound down Jaxx Liberty in 2021. Your wallet may show "syncing" forever or zero balance — but the coins are still on-chain. This guide explains how to extract the 12-word seed from the local LevelDB store, brute-force the password if you forgot it, and migrate to a wallet that will outlive the next decade.

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.

Time-critical: Old Jaxx Liberty installs depend on hardcoded API endpoints. Some have already been shut down (Litecoin Insight servers, certain ETH RPC mirrors). The longer you wait, the harder it gets to even open the wallet UI to read your seed. Extract the seed now, even if you do not plan to spend immediately.

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?

PlatformPath
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/
iOSApp 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 words

Brute-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-swap

Migration target — what wallet to import into

WalletStrengthCaveat
ExodusEasy import, multi-asset, active devClosed source
CoinomiLargest asset coverageClosed source
Trust WalletMobile-first, owned by BinanceNo desktop UI
Electrum (BTC)BIP39 import path, lightweightBTC only
MetaMask (ETH)Active dev, EVM ecosystemETH/EVM only
Derivation path quirk: Jaxx used non-standard derivation for some assets (notably DASH and certain ETC accounts). If imported balances are zero, try BIP44 path m/44'/0'/0'/0 and m/44'/60'/0'/0 manually, plus the legacy "Jaxx" path m/44'/0'/0' (no internal/external split for some forks).
Scam warning: "Jaxx recovery" is a heavily-targeted scam keyword. Telegram channels, fake Decentral support emails, YouTube videos with phone numbers — all fraud. Decentral does not have customer support and cannot reset passwords. Anyone asking for your seed phrase to "verify" is stealing your funds. See our scam taxonomy.

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

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.