# Tornado Cash

### Overview

Tornado Cash is a decentralized privacy solution allows users to send and receive transactions anonymously by breaking the on-chain link between the sender and recipient. This is achieved through a smart contract-based mixer that uses ZK proofs to ensure that the transaction details remain private while still verifying the legitimacy of the transaction. The Tornado Cash Dune query can be found [here](https://dune.com/queries/3902791).

### Query Structure

The query filters traces sent to the Tornado Cash Verifier [contract](https://etherscan.io/address/0xce172ce1f20ec0b3728c9965470eaf994a03557a) from one of the Tornado Cash smart contracts. The list of contracts can be found [here](https://github.com/tornadocash-community/docs/blob/en/general/tornado-cash-smart-contracts.md).

### Calculations

* The proof volume is the number of invocations of the Verifier
* The cost is calculated using the following formula:&#x20;
  * $$\text{cost} = \sum\_{\text{traces}} \left( \text{gas\_used} \times \text{gas\_price} \times \text{eth\_price} \right)$$
  * Where:
    * $$\text{gas\_used}$$ is the amount of gas consumed by a trace in one of the verifiers
    * $$\text{gas\_price}$$ is the price of gas on the day of the transaction
    * $$\text{eth\_price}$$ is the average price of ETH in USD on the day of the transaction


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://standard-crypto.gitbook.io/zkstats/projects/tornado-cash.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
