Tornado Cash

A fully decentralized protocol for private transactions on Ethereum.


  • tornadocash.eth (official .eth domain, requires MetaMask addon)
  • (Not working)
  • (Cloudflare's IPFS gateway)
  • (gateway from IPFS project team)


How To Use Tornado.Cash Currently

Default RPC from Infura and Alchemy are blocked, so click OPEN SETTINGS and change to or other free node:

How Tornado Cash works

How Tornado Cash Works


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


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


A user submits a proof of having the valid key to one of the notes deposited and the contract transfers Ether or the ERC20 to a specified recipient.

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.

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