Official protocol information · This website does not connect wallets · Use only the verified official DApp for interaction.
Tornado Cash Classic

Fixed-denomination privacy pools

Classic contracts accept defined asset denominations. A deposit records a cryptographic commitment; a later withdrawal uses a zero-knowledge proof to demonstrate membership without revealing which commitment belongs to the withdrawer.

Conceptual flow

  1. Create a secret and commitment. The user must retain the note or secret material needed for withdrawal.
  2. Deposit a fixed denomination. The commitment is inserted into an on-chain Merkle tree.
  3. Generate a proof. A zk-SNARK proves knowledge of an unspent commitment without identifying it.
  4. Withdraw. The contract checks the proof and nullifier to prevent double withdrawal.
Privacy depends on more than the contract: timing, amount, network metadata, wallet behavior and the size of the anonymity set can all affect linkability.

Protocol status

Classic anonymity pool contracts are documented as immutable, without ownership or proxy logic, and outside governance control. Frontends, relayers, RPC endpoints and surrounding services are separate components and must be evaluated independently.

Official and historical resources