A fully decentralized protocol for private transactions on Ethereum.
- tornadocash.eth (official .eth domain, requires MetaMask addon)
- tornadocash.eth.link (Not working)
- tornadocash-eth.ipns.cf-ipfs.com (Cloudflare's IPFS gateway)
- ipfs.io/ipns/tornadocash.eth (gateway from IPFS project team)
Default RPC from Infura and Alchemy are blocked, so click OPEN SETTINGS and change to https://api.securerpc.com/v1 or other free node:
- Ethereum Mainnet RPC URL List https://chainlist.org/chain/1
- Binance Smart Chain Mainnet RPC URL List https://chainlist.org/chain/56
- Polygon Mainnet RPC URL List https://chainlist.org/chain/137
- Optimism RPC URL List https://chainlist.org/chain/10
- Arbitrum One RPC URL List https://chainlist.org/chain/42161
- Gnosis RPC URL List https://chainlist.org/chain/100
- Avalanche C-Chain RPC URL List https://chainlist.org/chain/43114
- Ethereum Nodes https://ethereumnodes.com/
- RPC Info https://rpc.info/
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.
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