Blog
Forgotten Crypto Wallet Passphrase: Can the Hidden Wallet Be Recovered?
In short
An optional BIP-39 passphrase cannot be reset or derived from the recovery phrase alone. A different passphrase generates a different wallet, usually without a balance; it is not the device PIN or the app password.
- First check the original address, account and derivation settings. An empty wallet does not prove that the passphrase is wrong.
- Preserve any working access, including a previously configured secondary PIN on Ledger. Resetting the device can remove that route.
- An offline search combines the recovery phrase with candidate passphrases and checks the resulting addresses or xpub. Supported address databases can sometimes help when no personal reference address remains.
- Remembered fragments, length, capitals and spacing can narrow the search. Feasibility depends on the actual candidates and settings, not a universal character limit. A long, random passphrase without useful clues is generally impractical to search.

A forgotten crypto wallet passphrase cannot be derived from your recovery phrase alone. Every possible passphrase is cryptographically valid, so entering the wrong one builds a different wallet rather than returning an error — which is why a correct seed phrase can open a balance of zero. Recovery works by testing candidate passphrases against a known address from the wallet that holds the funds, either with open-source software like BTCRecover, run offline, or through a wallet recovery specialist. Whether hidden wallet recovery is feasible depends mostly on how much of the passphrase you can still describe. A remembered pattern with a few unknown characters is often a small search. A passphrase you recall nothing about generally cannot be found by any tool or any service, and the sections below set out where that line falls.
Your wallet will never tell you the passphrase is wrong
Every passphrase is valid. That’s the part many owners don’t know, and it explains the symptom that sends people looking for help.
A passphrase — the optional extra secret you add on top of your recovery phrase — isn’t checked against anything. The derivation does not compare your input with an original passphrase. It takes whatever you type, mixes it with your seed words, and produces a wallet. Type a different passphrase and you get a different wallet, built from the same seed. The BIP-39 standard describes this directly: every passphrase generates a valid seed, and only the correct one makes the intended wallet available.
So there’s no error message. There’s no “incorrect passphrase” prompt, no attempt counter, nothing. The BTCRecover documentation states it plainly: the usual symptom of a passphrase error is a set of completely empty accounts, no balance and no history. Trezor’s passphrase guide gives the same warning: a mistyped passphrase opens a different wallet, which is usually empty.
That silence is why people conclude their seed phrase is broken and start rewriting it. The recovery phrase may be correct; a different passphrase is one possible explanation.
How the base wallet and hidden wallet differ
If you used a passphrase, the base wallet and the hidden wallet are separate wallets. The base wallet is not the passphrase-protected one.
That second wallet has a name: a hidden wallet, with its own balance and its own transaction history. Your seed words on their own still open a wallet — the base wallet — and it works normally. It may be empty or have its own balance.
The name describes the design goal. Anyone who takes your 24 words and restores them sees the base wallet and no evidence that another one exists. That’s the whole point of the feature, and it’s also why the mechanism traps its own owners: nothing on screen indicates that a second wallet is there.
One seed can carry as many hidden wallets as you have passphrases. Some people set up two or three deliberately, one per purpose.
There’s a free check you can run right now, and it needs no secrets. In a block explorer for the correct network, look up an address you know previously held your funds; an explorer needs only the public address, never your seed phrase. If the balance is still sitting at that address, the coins never moved and nobody took them, and the open question is which wallet that address belongs to. An empty base wallet alone does not prove that a passphrase was used or rule out theft: you may be viewing a different account, address type or derivation path. Compare the original address before drawing a conclusion.
Brand behavior differs from here. Ledger can attach the passphrase to a secondary PIN or use it as a temporary passphrase that you re-enter after each power-off, covered in the Ledger passphrase guide; Trezor asks for it at a separate prompt, on the device or in Trezor Suite, worked through in the Trezor passphrase guide.
Stop guessing and write down what you remember
Before you test a single candidate, get everything out of your head and onto paper.
Typing passphrase guesses into the device costs you time and nothing else: each wrong one opens another empty wallet. The real risk sits one prompt away. Start guessing at the PIN instead, and a Ledger wipes itself after three wrong entries — a wipe with an unverified seed backup turns a passphrase problem into a total loss. Write first, test second.
Put down every fragment you can reach: how long it was, roughly. Whether it was one word or several. Whether it had capitals, digits, spaces, or punctuation. What keyboard language you used. Where you would have stored it, and what you were doing the week you set it up. Fragments that feel useless on their own are what turn an impossible search into a small one.
One rule holds through all of it: do not enter your seed phrase or your passphrase into any website. No legitimate tool, service, or “wallet checker” needs them typed into a browser, and the sites that ask are collecting them.
Two things have to exist before recovery can start
A complete recovery phrase, and a way to recognize the original wallet when a candidate passphrase produces it.
The reason is mechanical. Testing a candidate passphrase means deriving a wallet from it and checking whether that wallet is yours. To check, the software needs something to compare against: a master public key (xpub) for the account, or a receiving address the wallet generated, along with a rough idea of how many addresses you created before it. Without some reference, there’s no way to recognize the right answer even after generating it.
People find these in old exchange withdrawal confirmations, in email receipts, in a block explorer bookmark, or written on the same sheet as the seed. Go looking before you conclude you don’t have one.
Lacking a personally recorded address does not automatically rule out an assessment. BTCRecover can also test candidates against an address database built from the blockchain of a supported coin. The network, derivation paths and address range must still be identified, and a match needs verification against the owner’s wallet history.
What you still remember decides what’s possible
You remember the passphrase but not its exact form
This is the strongest position. You know it was your dog’s name and a year, but not whether the D was capitalized or where the digits sat.
That’s a mask attack: the pattern is fixed and only the unknown positions get tested. A four-digit tail is 10,000 candidates. Add uncertain capitalization across eight letters and you’re at roughly 2.5 million. Both are small enough to finish on ordinary hardware.
You remember the structure but not the content
Still workable, and the size depends entirely on how much structure you can pin down. If a remembered word is followed by exactly two unknown digits and every other character is fixed, there are 100 possible endings.
A passphrase made of two unknown words is not automatically a 2,048 × 2,048 search. The BIP39 word list constrains recovery phrases, not optional passphrases. That count would apply only if both passphrase words were known to come from that exact list. Otherwise the candidate words, capitalization and separators must follow what you actually remember; feasibility depends on the resulting search.
Every constraint you can state removes orders of magnitude. Each one you invent to feel better wastes the run.
You remember only that it was short
Now it’s pure brute force across every printable character, and the arithmetic gets steep fast. There are 95 printable ASCII characters. Five unknown characters means about 7.7 billion candidates; six means about 735 billion.
The throughput problem compounds it. BIP-39 turns the recovery phrase and passphrase into a seed with PBKDF2-HMAC-SHA512 and 2,048 iterations, a key-stretching step that makes every guess expensive (an iteration count, unrelated to the 2,048-word list). BTCRecover supports GPU acceleration for BIP-39 passphrase searches as well as seed-word searches, but the rates are modest: its comparison table lists about 2,300 passphrases per second on an Intel i7-8750 processor and about 10,400 per second on an NVIDIA 1660 Ti graphics card. At that GPU rate, five unknown characters take more than a week and six take more than two years. Faster or multiple GPUs shorten that, while each extra unknown character multiplies it by 95. Actual speed also depends on the derivation paths and number of addresses checked, so measure the configured search before estimating its duration; there is no universal character-count cutoff.
How the search actually runs, step by step
This is command-line work, and it’s slow. If you’re not comfortable at a terminal, read this to understand what a service will do rather than to do it yourself, because a misconfigured run can burn a week and prove nothing.
- Get offline first. Download BTCRecover only from its official documentation at btcrecover.readthedocs.io, then disconnect the machine before your seed phrase touches it. Counterfeit builds of recovery tools exist specifically to harvest seed phrases.
- Assemble the three inputs. Your complete recovery phrase, the reference address or xpub, and the address type your wallet used — legacy, P2SH, native segwit or taproot. That third one is easy to overlook, and a mismatch is fatal: a search that only generates legacy addresses will never match a wallet that used native segwit, even with the correct passphrase in the list. BTCRecover checks the first account of each common Bitcoin address type by default, so the risk comes from narrowing those paths to save time, or from a wallet that used a second account or another coin.
- Write down what you remember as a pattern. The tool takes a description of the search space: fixed parts you’re sure of, unknown positions, character sets for those positions. This is where the constraints from earlier turn into an actual run size. Narrow beats hopeful.
- Set the address generation limit. The software checks the first handful of addresses each candidate produces. If you used the wallet heavily before the address you’re matching against, raise the limit; otherwise the right passphrase can pass through untested.
- Validate the configuration before the real run. Point the same setup at a wallet whose passphrase you do know, or at your base wallet with an empty passphrase, and confirm it finds the expected address. A run can come back empty not because the passphrase was missing from the search, but because the configuration was never going to find anything. Ten minutes here saves days.
- Start narrow, widen in stages. Run the tightest version of your pattern first. Add uncertainty one dimension at a time: capitalization, then digits, then length. Each expansion multiplies runtime, so you want the cheap possibilities eliminated before the expensive ones start.
- When it matches, sweep rather than import. Move everything to a wallet you generate fresh, rather than continuing to use keys that have now existed in plaintext on a working machine.
If a well-configured run across your honest constraints comes back empty, the constraints were wrong, not the method. Go back to the pattern step and question what you were certain about. Capitalization and stray whitespace are the two constraints worth loosening first, because either one changes the derived wallet completely while feeling like nothing at the moment you typed it.
When there is no recovery path
No length, no structure, no characters, no context. If you remember nothing at all about the passphrase, there is nothing to anchor a search on.
A passphrase can be anything from a single character to a long sentence: Trezor accepts up to 50 characters and Ledger up to 100, in any mix of letters, digits and symbols. With no constraints, the search has no practical end. Trying the shortest lengths covers only a tiny corner of it, and no tool or service can narrow the rest.
The same applies when the seed phrase itself is gone. A passphrase is useless without the recovery phrase it attaches to, and a completely lost recovery phrase with no other wallet material cannot be recovered by anyone.
We’d rather say that upfront than take a case that has no route through it. Anyone who tells you otherwise, particularly anyone asking for payment before assessing what you have, is describing something that can’t be done. Legitimate services assess the available material before work begins, don’t charge upfront and don’t promise results.
Passphrase, password, and PIN are three different locks
These three words are easy to mix up, and the difference decides everything about your odds.
A PIN unlocks the physical device. Forget it, reset the device, restore from your recovery phrase, choose a new PIN. Your accounts come back because they were never on the device.
A password unlocks a wallet app or an encrypted wallet file on your computer. You replace an app password by restoring from your seed phrase; encrypted files like wallet.dat are a different reconstruction problem, worked through in the Bitcoin Core password guide.
A passphrase doesn’t unlock anything. It derives a different wallet. A reset does not recover it, and the recovery phrase alone cannot produce it. Preserve any access that still works, such as a previously configured secondary PIN on Ledger; this does not reveal the passphrase for use on a replacement device.
Two neighboring problems have their own guides: a phrase rejected outright rather than opening an empty wallet is covered in invalid mnemonic phrases, and if you’re not certain a passphrase was ever set on your Trezor, that question is worked through here.
Storing it so this doesn’t happen twice
Once you’re back in, move the funds to a fresh wallet and back up the new setup properly. Paper fails in ordinary ways: it fades, tears, and burns. Metal survives all three.
Store the passphrase on metal, in a different physical location from your seed words. Keeping both in one place removes the entire point of having a passphrase, and keeping the passphrase only in your head is what brought you here. Before you move anything of value into a passphrase-protected wallet, restore it from scratch on a wiped device and confirm the balance appears. A backup you haven’t tested is an assumption.
If your situation involves a partial passphrase, a remembered pattern, or a seed phrase that opens the wrong wallet, start with a free assessment of your forgotten passphrase: describe what you still have, and you get an honest evaluation of whether the search is small enough to be worth running, before any commitment. Crypto Recovers has completed 200+ recoveries since 2019 and works on a no recovery, no fee basis. We never handle your funds.
If the search finds your hidden wallet, you open it and move the funds yourself into a fresh wallet you generated. The agreed fee is paid separately under the contract; it’s never taken out of the balance you regain.
We don’t take stolen-crypto or scam cases. Blockchain transactions are irreversible, and our work is technical reconstruction of access for people who still own what they can’t reach.
FAQ
The passphrase option is enabled, but I don’t remember creating one. Did I?
Not necessarily. Having the passphrase feature switched on does not establish that you used it for the original account. Check your standard wallet first, the one that opens without a passphrase: compare a known original address and its transaction history, and check any previously configured secondary-PIN access on Ledger. An empty standard wallet alone does not answer the question.
Did a firmware update erase my cryptocurrency?
A firmware update does not remove assets from the blockchain. However, a failed update or a required reset can erase the wallet data on the device. Verify a usable backup and any required passphrase before updating; an empty display after an update also calls for checking the account and wallet settings.
Why does every passphrase I try open an empty wallet?
An incorrect passphrase creates a different wallet with a zero balance. However, the correct passphrase may also appear empty if the wrong address type or wallet settings are being used.
How many passphrase attempts can I make?
Passphrase attempts are generally unlimited because each passphrase creates a different wallet. PIN attempts are different and may be limited depending on the hardware wallet model.
Does a passphrase need to be exactly correct?
Yes. Even a single incorrect character, capital letter, or extra space creates a completely different wallet. The passphrase must match the original exactly.
Can I brute-force a forgotten passphrase?
Sometimes. Recovery is practical when you remember part of the passphrase or its structure, because that keeps the search small. A completely random passphrase with no remembered details is generally not recoverable through brute force unless it was very short, so each case needs its own assessment.
Can I trust someone who contacts me offering passphrase recovery?
No. Be cautious of unsolicited recovery offers, especially if they request upfront payment or ask for your recovery phrase. Legitimate recovery services assess the case first and never ask you to enter your seed phrase into a website or chat.
