Private Transactions for Ethereum

A fully decentralized protocol for private transactions on Ethereum.

Tornado Cash privacy protocol illustration showing secure anonymous transactions

Supported Networks

Ethereum Mainnet

Binance Smart Chain

Polygon Network

Optimism

Arbitrum One

Gnosis Chain

Avalanche Mainnet

Ethereum Goerli

How Tornado Cash Works

Deposit

A user generates a random key (a secret note) and deposits Ether or an ERC20, along with submitting a hash of the secret note to the Tornado Cash smart contract.

Wait

After depositing, users should wait some amount of time before withdrawing to improve their privacy.

Withdraw

A user submits proof of having the valid key to one of the deposited secret notes, and the contract transfers the funds to a specified recipient.

Tornado Cash Privacy Guide for Beginners

Master non-custodial privacy. Follow our official step-by-step tutorials to secure your first anonymous transaction on Ethereum or BSC.

Select your asset (ETH, USDC, USDT, BNB) below. Our visual guides cover deposit, relayers, and withdrawal for complete financial sovereignty.

All Privacy Guides

USDT Stablecoin Tutorial - Complete guide for private USDT transactions

Tornado Cash USDT Mixer

Learn how to make private USDT transactions with our comprehensive tutorial. Includes token approval and withdrawal best practices.

Start Tutorial
BNB Tutorial - Complete guide for private BNB transactions

Tornado Cash BNB Guide

A comprehensive tutorial for private BNB transactions on BSC, including advanced privacy techniques and multi-network considerations.

Start Tutorial
Privacy protection illustration showing how Tornado Cash breaks transaction links

How Tornado Cash Achieves Privacy

Tornado Cash improves transaction privacy by breaking the on-chain link between source and destination addresses. It uses a smart contract that accepts ETH deposits that can be withdrawn by a different address. To preserve privacy, a relayer can be used to withdraw to an address with no ETH balance. Whenever ETH is withdrawn by the new address, there is no way to link the withdrawal to the deposit, ensuring complete privacy.

Status of Tornado Cash Decentralization

The Tornado Cash protocol is fully decentralized and owned by the community: the initial developers have no control over it and are not running any servers.

Tornado Cash smart contracts, circuits, and toolchain are fully open-sourced.

Tornado Cash smart contracts are unstoppable: there are no admins and no upgradeability. Nobody, including the initial developers, can change or shut it down.

The user interface is hosted by the community on IPFS. It is accessible as long as at least one user in the world is hosting it.

Tornado Cash governance and mining smart contracts are deployed by the community in a decentralized way; there is no single deployer.

Protocol parameters and token distribution are controlled by the community via governance.

Tornado Cash Statistics

1,005,116
Total ETH deposited
11,583
Unique users
41,215
Total deposits

Our Products

Tornado Cash Governance - Community-controlled protocol governance

Governance

Tornado Cash is completely decentralized, controlled, and governed by its community. By acquiring TORN tokens, you can participate by voting on governance proposals and influencing the evolution of the protocol.

Read More
Anonymity Mining - Earn TORN tokens by using Tornado Cash

Anonymity Mining

By using Tornado Cash, you also mine TORN, the governance token of Tornado Cash. The more you use it, the more say you have in the evolution of the protocol.

Read More
Compliance Tools - Prove transaction history while maintaining privacy

Compliance Tool

Maintaining financial privacy is essential. Tornado Cash provides a tool to generate a compliance report of your transaction history, allowing you to prove the origin of your funds when required.

Read More

Frequently Asked Questions

Can the protocol be compromised to reveal depositor data?

No. Tornado Cash is a trustless, decentralized privacy protocol. It uses zk-SNARKs to sever the link between deposit and withdrawal addresses, ensuring your transaction history remains private.

Do you collect data?

The Tornado Cash project does not collect any user data. The UI is hosted in a decentralized way on IPFS and can be accessed using the link app.tornadocashclassic.com. Users can also run it locally or use the CLI tool.

Has the protocol been audited?

Yes. The protocol is non-custodial and immutable. Smart contracts have been heavily audited by experts like ABDK and Pessimistic. Audit reports:

What is a relayer?

Relayers enable gas-free withdrawals to addresses with no ETH balance, preserving anonymity. The relayer pays the gas fee and takes a small compensation from the deposit. Relayers cannot alter transaction data or steal funds.

How do I make my first private ETH transaction?

Making your ETH transactions private is a straightforward process. We've prepared a detailed, step-by-step guide with screenshots to walk you through it safely.

Click here to view the complete ETH mixing guide →

Can I use Tornado Cash for USDT, USDC, or other tokens?

Yes, the protocol supports various ERC-20 tokens, including USDT, USDC, and BNB. The process is very similar to handling ETH but requires an additional token approval step. To ensure you follow all the steps correctly, please refer to our dedicated guides.

USDC mixing guide → | USDT mixing guide →

Is the code open-source?