ForgotWalletPassword.com

Step-by-step guide · hashcat · GPU-accelerated, free

How to run hashcat yourself — the complete walkthrough.

hashcat is the fastest general-purpose password cracker, and it supports a wide range of common wallet-password formats. The price of that speed: your wallet must first be converted to a one-line hash, and you must know your mode. This is the exact path, with the official mode list and honest limits.

By Robbert Bink · ~6 min read · Published 7 August 2026 · Last reviewed: 14 August 2026

The headline

hashcat is the fastest general-purpose password cracker, and it handles the crypto wallet formats — once your wallet file is converted into the small “hash line” it works with. It shines when you know the shape of the password (a mask) or want to grind a wordlist at GPU speed. Same rule: no clues, no recovery.

hashcat or btcrecover?

If you want the simplest path for a wallet file, btcrecover reads wallets directly and its token lists are built for exactly this problem. Choose hashcat when you want masks (you remember the shape: “capital, five lowercase, two digits”), huge wordlists with rules, or the sheer speed of GPU cracking. Both are free; many people end up using both. This page assumes you’ve already read the password hint list guide — the method for building the wordlists and masks hashcat uses.

The walkthrough — six steps

  1. 1

    Protect the file (same rules as always)

    Work on a read-only copy, offline or on a clean machine, downloads only from official sources. The protection rules, plus the printable offline toolkit that keeps every step on paper.

  2. 2

    Install hashcat

    Download the official binaries from hashcat.net (Windows, Linux, macOS). No installer — unzip and run. Check it:

    hashcat --version

    On macOS, brew install hashcat works too. A modern NVIDIA or AMD GPU makes a real difference; CPU-only is still fine for small token-list style runs on fast formats.

  3. 3

    Get your wallet into a hash line

    hashcat works on a one-line “hash” extracted from your wallet — it never touches the whole file. How you get that line depends on the format:

    Wallet formatHow to get the hash line
    Ethereum keystore (UTC--…json)Needs a conversion step — ethereum2john.py reads the UTC JSON and produces the $ethereum$p*…/$ethereum$s*… line for mode 15600 (PBKDF2) or 15700 (scrypt); remove any filename: prefix. The Ethereum pre-sale format uses the same script for mode 16300.
    BIP38 paper key (6P…)No hashcat mode. The encrypted string itself is the target — btcrecover handles it directly with --bip38-enc-privkey.
    wallet.dat (Bitcoin/Litecoin/Dogecoin/BCH family)Needs a conversion step — bitcoin2john.py (John the Ripper’s run/ folder) produces the $bitcoin$… line mode 11300 needs. (btcrecover’s own extract-bitcoincore-mkey.py outputs a bc: line for btcrecover --data-extract, not for hashcat.)
    ElectrumNeeds a conversion step — electrum2john.py yields the $electrum$… line; the salt type inside the hash picks the mode (16600 for v1/2.x, 21700/21800 for 2.8+).
    Blockchain.com (wallet.aes.json)Modes 12700 / 15200 target the export — blockchain2john.py produces the line. Very early legacy V0 wallets use a separate algorithm — current hashcat includes mode 34700 for those; identify the version first. (btcrecover’s extract-blockchain-main-data.py is for its own --data-extract path.)
    MetaMask (extension/mobile vault)Point metamask2hashcat.py at the vault data — extension vaults may use 26600, 26610, 26620 or 26630 depending on the extracted hash/layout; mobile uses 31900. Use the extractor output and your installed Hashcat version to select the supported mode.
    MultiBit (Classic .key / .wallet, HD)Extract with multibit2john.py — the salt type in the hash picks mode 22500 (.key), 27700 (.wallet) or 22700 (HD).
    Exodus Desktop (seed.seco)exodus2hashcat.py converts the file to the line mode 28200 needs.
    Bisq (.wallet)bisq2hashcat.py converts the wallet file to the line mode 29800 needs.

    Note: if the conversion step feels like a project of its own, that’s the strongest argument for btcrecover instead — it does the extraction internally and reads these wallets directly. The hashcat path earns its keep when you have a specific mask or wordlist attack in mind. For the full extraction guide — where each script lives, exact commands, and how to verify the line before running — see Convert a wallet to a hashcat hash.

  4. 4

    Pick your mode

    Every format has a number. These are hashcat’s modes — the official modes from its example-hashes list. Newer layout variants (for example MetaMask 26620/26630) may depend on your installed hashcat version, so verify the mode with the extractor output:

    ModeTarget
    11300Bitcoin / Litecoin wallet.dat
    12700Blockchain.com wallet — legacy My Wallet format (identify first; very early V0 uses 34700)
    15200Blockchain.com wallet V2/V3
    15600Ethereum keystore — PBKDF2-HMAC-SHA256
    15700Ethereum keystore — scrypt
    16300Ethereum pre-sale wallet
    16600Electrum wallet (salt types 1–3 — v1/2.x)
    18800Blockchain.com wallet — second password
    34700Blockchain.com / My Wallet — very early legacy V0 format (separate algorithm; identify before using 12700)
    21700Electrum wallet (salt type 4 — 2.8+ wallets)
    21800Electrum wallet (salt type 5 — newer wallets)
    22500MultiBit Classic .key (MD5)
    22700MultiBit HD (scrypt)
    25500Stargazer Stellar wallet (XLM)
    26600MetaMask vault (classic extension format)
    26610MetaMask vault — short hash format (newer dynamic-iteration vaults; needs the current extractor)
    26620MetaMask vault — newer layout with dynamic iteration counts (current/development hashcat; check the installed version)
    26630MetaMask vault — newer layout with dynamic iteration counts (current/development hashcat; check the installed version)
    27700MultiBit Classic .wallet (scrypt)
    28200Exodus Desktop wallet (scrypt)
    29600Terra Station wallet
    29800Bisq .wallet (scrypt)
    31900MetaMask Mobile wallet
    13400 (AES-KDF, KDBX ≤ 3); 34300 / 34301 (KDBX 4)KeePass 1/2 (password manager) — identify the version and KDF first: KDBX 4 may use Argon2 (34300) or AES-KDF (34301)
    6800LastPass (password manager)
    6600 / 82001Password (agilekeychain / cloudkeychain)

    Why the password-manager rows matter: most wallet passwords were stored somewhere, and a password manager is the most common place. If your wallet password sat in KeePass, LastPass or 1Password, recovering the manager recovers the wallet password — the full manager recovery guide. The same flow also cracks a protected document holding the wallet password: 7-Zip 11600, WinZip 13600, RAR 12500/23700/23800/13000 (mode depends on what rar2john produces), MS Office 94009820, PDF 1040010700the encrypted-file guide has the full walkthrough.

  5. 5

    Build the attack: mask or wordlist

    Mask attack — when you remember the shape. You remember “a capital letter, five lowercase, two digits”:

    hashcat -m 11300 -a 3 wallet.hash '?u?l?l?l?l?l?d?d'

    Mask characters: ?l lowercase · ?u uppercase · ?d digit · ?s symbol · ?a anything. Wordlist attack — a list of candidate words plus rules that mangle them (append years, digits, symbols):

    hashcat -m 11300 -a 0 wallet.hash words.txt -r rules/best66.rule

    best66.rule is the current hashcat rules file — it was renamed from best64.rule in recent versions, so if the file is missing on your install, check which hashcat version you have and use the rules file that ships with it.

    The words.txt file is your password hint list — every name, date, word and pattern you actually used. The hint-list guide includes a practice demo and a downloadable offline builder that formats the same fragments as a ready words.txt. That file is where the case is won or lost, not in the GPU.

    Hybrid attack — when one part is a word and the rest is a shape. Combine the wordlist and a mask in one run: -a 6 appends the mask to every word (“name + two digits”), -a 7 prepends it (“two letters + name”).

    hashcat -m 11300 -a 6 wallet.hash words.txt '?d?d'
    hashcat -m 11300 -a 7 wallet.hash words.txt '?u?l'

    Same candidate list as the two separate attacks — but one run covers the mixed cases a pure mask or wordlist misses.

    Three speed and workflow tips. -O enables optimized kernels where the mode supports them — often the single biggest speed-up. -w 3 pushes the workload profile to the max (the default is 2) when you want full speed and don’t mind the machine being busy. And when you know the character set but not the exact length, let hashcat walk the lengths for you: hashcat -m 11300 -a 3 wallet.hash '?d' -i --increment-min 4 --increment-max 8 tries 4 to 8 digits.

    Two more attack shapes. -a 1 combines two wordlists — every word from list one with every word from list two (hashcat -m 11300 -a 1 wallet.hash words1.txt words2.txt), ideal for “word + word” passwords. And preview any attack before committing to it: hashcat -a 3 '?d?d?d' --stdout | head prints the candidates your mask would generate.

  6. 6

    Run it, read the result, know when to stop

    hashcat shows a live status screen (speed, progress, time). When it cracks, the password is written to the potfile and shown on screen — re-read any time with --show. Long runs deserve a named session so a reboot or a closed window doesn’t waste the work: start with --session wallet1, pause with Ctrl+C, and resume with hashcat --session wallet1 --restore. If the ETA is weeks, your list or mask is wrong, or the case isn’t viable — check the math, then widen the search or accept the verdict.

Never upload your wallet file to a public checker or unknown website

The entire point of hashcat and btcrecover is that the search runs on your hardware, offline. Never upload your wallet file to an online “unlocker”, public checker or unknown website — legitimate recovery runs locally, on a copy, or through a controlled written process with an extract.

Password found — now what?

A hashcat success means the correct password was found and the wallet opens — getting the funds out safely is the next step. Do these in order:

  1. 1
    Verify before you move anything. Open the wallet with the recovered password and confirm it loads with the expected addresses and balance before moving funds. (A wrong variant opening a different, empty wallet is a seed-passphrase phenomenon, not a verified encrypted-wallet password — see the passphrase guide.)
  2. 2
    Store the password safely. The moment it works, save it in a password manager and keep one written fallback — then never reuse it for another wallet. That is the whole storage rule.
  3. 3
    Note the balance first. Write down the balance and addresses before transferring, so you can spot problems immediately.
  4. 4
    Move the funds to a fresh wallet. Old wallet software is discontinued and often unsafe to keep using — and importing old keys into modern software does not make them fresh. Create a new wallet with a new seed, back it up and verify it, then send/sweep the funds to its addresses.
  5. 5
    Use only official software. The moment you have access is also the moment you are most careless — download wallets only from official sites, never from search ads or links in messages.

Now that the wallet is open, make sure this never happens twice — never losing access stops round two.

Frequently asked questions

Do I need a GPU for hashcat?

Not strictly — hashcat also runs on CPU, which is fine for fast formats and small searches. But for mask and wordlist attacks at scale, a modern NVIDIA or AMD GPU is what makes the real speed difference.

Which hashcat mode is right for my wallet?

The mode is set by the wallet format: 11300 for wallet.dat, 15600/15700 for Ethereum keystores, 26600 for MetaMask, 16600/21700/21800 for Electrum, 22500/22700/27700 for MultiBit, 28200 for Exodus and 29800 for Bisq. The mode table above lists them all.

Why does hashcat need a hash line when btcrecover doesn’t?

hashcat is a general-purpose cracker: it tests one-line hashes, not wallet files. btcrecover is wallet-specific and converts the file internally, which is why it is usually the simpler first choice.

How long will a hashcat run take?

Time equals candidates divided by guesses per second. The mode table and the benchmarks page show realistic speeds per format, and the password strength calculator turns what you remember into a time estimate.

Sources & references

  1. hashcat — example hashes (wallet formats & modes)
  2. 3rdIteration/btcrecover — maintained fork (source code)

Cite this page

APA: Bink, R. (2026). How to run hashcat yourself — the complete walkthrough. ForgotWalletPassword.com. https://forgotwalletpassword.com/hashcat-step-by-step

Markdown: [How to run hashcat yourself — the complete walkthrough.](https://forgotwalletpassword.com/hashcat-step-by-step)

Missing something, or spot an error? Tell us — every correction is checked and applied.
Was this guide helpful?

Keep going — it’s all free

Not sure what you lost or what’s possible?

Take the quick diagnosis for a first verdict — it stops early when the answer is already clear — then work the search checklist. Everything here is informative, runs offline, and is free to use.