Conceptual flow
- Create a secret and commitment. The user must retain the note or secret material needed for withdrawal.
- Deposit a fixed denomination. The commitment is inserted into an on-chain Merkle tree.
- Generate a proof. A zk-SNARK proves knowledge of an unspent commitment without identifying it.
- 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
- Archived core repository ↗
- Archived Classic UI repository ↗
- Official documentation ↗
- Documentation source and deployment references ↗
Risk and legal notice: Official information is not a guarantee of safety or legality. Verify source code, contract addresses, sanctions and applicable law independently.