Tornado Cash Withdrawal Stuck? Find the Cause in 5 Minutes

A Tornadocash withdrawal is usually recoverable when the deposit note is intact and the withdrawal transaction has not been mined. The common failure is not a lost deposit but a mismatch between the selected network, RPC endpoint, relayer, recipient, or note. The fastest diagnosis is to separate the cryptographic proof, the relayer submission, and the blockchain transaction.

1. The note decides whether the deposit still exists

In Tornado Cash Classic, the deposit note contains the secret needed to prove ownership of a pool deposit. The smart contract does not store that secret in readable form; it records a commitment in a Merkle tree. During withdrawal, a zero-knowledge proof shows that the note belongs to an unspent deposit without publicly revealing which deposit it is.

That creates the first decision point:

  • If the note is missing, corrupted, or copied incorrectly, recovery may be impossible.
  • If the note is valid but the withdrawal transaction was never submitted, the deposit may still be unspent.
  • If the withdrawal succeeded on-chain, the funds are controlled by the recipient address shown in the transaction.
  • If the note has already been spent, submitting it again cannot produce a second withdrawal.

Never paste a note into an unverified website, send it to a stranger, or store it in a chat account. Anyone who obtains the note may be able to withdraw the deposit.

2. Tornadocash withdrawal stuck? Read the failure in this order

No transaction hash appears: the proof may still be generating, the browser may have lost its RPC connection, or the relayer rejected the request. Check the selected chain and pool denomination first. A note for one network or pool cannot be used in another.

A transaction hash exists but remains pending: the relayer submitted the transaction, but the network has not confirmed it. This is a blockchain or fee problem, not necessarily a Tornado Cash contract failure. Avoid sending another withdrawal with the same note until the first transaction is clearly confirmed or reverted.

The transaction reverted: common causes include a previously spent note, an invalid proof, an incorrect recipient parameter, a relayer fee that no longer matches the request, or a contract call sent to the wrong network. The receipt and revert data matter more than the wallet’s generic “failed” message.

The withdrawal is confirmed but the recipient shows zero: inspect the exact recipient address and token contract. The wallet may be viewing the wrong network, hiding the token, or displaying a different account from the one used in the withdrawal.

This order prevents the most expensive mistake: treating a user-interface error as proof that the funds disappeared.

3. Three routes change the recovery decision

RouteWorks whenNeedsMain trade-offFits whom
Relayer-assisted withdrawalThe note is valid and the recipient wallet has no native gas tokenA compatible relayer, correct chain, and sufficient feeRelayer availability and fees can changeUsers who want the recipient address to submit no transaction
Direct wallet withdrawalThe note is valid and the recipient wallet can pay gasThe correct wallet, private key, RPC, and native gas balanceThe withdrawal transaction is visibly sent by that walletUsers prioritising control and simpler troubleshooting
Tornado Cash NovaThe funds are already in Nova or the user is choosing a different shielded-transfer modelNova-compatible access and its address-based account modelIt is not a repair path for a missing Classic noteUsers comparing protocol designs before making a new transfer

The practical choice is narrow. A valid Classic note plus no gas points toward a relayer. A valid note plus a funded recipient wallet points toward direct withdrawal. A missing Classic note is not fixed by switching to Nova, changing wallets, or trying another pool.

4. March 21, 2025 changed the sanctions question

The United States Treasury announced on March 21, 2025 that it had removed Tornado Cash from its sanctions program, while also warning that transactions involving malicious cyber actors or North Korea remained a concern. The announcement is published in the U.S. Treasury’s Tornado Cash delisting notice.

That fact should not be confused with a universal legal clearance. The applicable rules can depend on the user’s location, counterparties, source of funds, exchange policies, and the particular transaction. A withdrawal that works technically can still create compliance questions when funds later move to a regulated platform.

For that reason, preserve the deposit transaction, withdrawal transaction, note history, and any lawful documentation needed to explain the source of funds. Tornado Cash’s compliance tooling is a separate concern from whether the withdrawal transaction succeeds.

FAQ

Can a Tornado Cash deposit be cancelled?

No. Once confirmed, a deposit normally remains in the pool until a valid withdrawal spends it.

What if the withdrawal button does nothing?

Check the network, RPC connection, note format, recipient address, and relayer status before retrying.

Can the same note be withdrawn twice?

No. The protocol marks a successful withdrawal as spent through a nullifier.

Does a relayer receive the private note?

The relayer should receive withdrawal data needed to submit the transaction, not the secret note itself.

Is a confirmed withdrawal reversible?

No. A confirmed blockchain transfer generally cannot be reversed by the protocol.

Leave a Reply

Your email address will not be published. Required fields are marked *