# Introduction

**TONado Cash** is a non-custodial, fixed-denomination privacy pool for The Open Network. It is a port of [Tornado Cash](https://en.wikipedia.org/wiki/Tornado_Cash) to TON: deposit a fixed amount, receive a private deposit note, and later withdraw the same amount to any recipient by proving knowledge of the note in zero knowledge.

> **Disclaimer.** This is research and open-source software. Privacy-preserving mixers are subject to legal restrictions in some jurisdictions. The original Tornado Cash contracts on Ethereum were placed on OFAC's SDN list in 2022. Operators and users are responsible for their own legal compliance.

## What this site is

These docs cover everything from how to deposit and withdraw to how the underlying zero-knowledge proof system works to how to run your own relayer or deploy your own pool.

Pick a starting point based on what you want to do:

| You want to                             | Start here                                                |
| --------------------------------------- | --------------------------------------------------------- |
| Deposit or withdraw funds               | [Using TONado Cash](/using-tonado-cash/user-guides.md)    |
| Understand how the protocol works       | [How it works](/how-it-works/how-it-works.md)             |
| Build something against the protocol    | [For developers](/for-developers/developers.md)           |
| Read the formal protocol reference      | [Protocol reference](/protocol-reference/architecture.md) |
| Run a relayer or operate infrastructure | [Operations](/operations/relayer-api.md)                  |
| Review the protocol's security posture  | [Security](/security/security.md)                         |

## How TONado Cash is different from EVM Tornado Cash

|                         | EVM Tornado                           | TONado Cash                                                                 |
| ----------------------- | ------------------------------------- | --------------------------------------------------------------------------- |
| Pairing curve           | BN254                                 | **BLS12-381** (TON's native pairing precompile)                             |
| Hash inside the circuit | MiMC sponge                           | **Poseidon** over BLS12-381                                                 |
| Proving system          | Groth16 (snarkjs)                     | Groth16 (snarkjs), recompiled over BLS12-381                                |
| Contract language       | Solidity                              | **Tolk** (via the [Acton](https://github.com/ton-blockchain/acton) toolkit) |
| Token model             | ERC-20                                | Native TON **+ TEP-74 Jettons**                                             |
| Events                  | Solidity `event`                      | TON `ext_out_msg_info` log messages                                         |
| Merkle root computation | On-chain (cheap with MiMC over BN254) | **Computed off-chain, proved correct with a second Groth16 SNARK**          |

The protocol shape is identical to Tornado Cash. The differences are the underlying field, the hash function, the language, and the asynchronous TON execution model. See [TON vs. EVM differences](/protocol-reference/ton-vs-evm.md) for the full diff.

## Project status

TONado Cash is **pre-mainnet**. The repo contains a working testnet implementation, a multi-pass security review, and a documented launch plan that gates mainnet deployment on an external audit and a multi-party trusted-setup ceremony. See:

* [Security review](/security/security-review.md): the consolidated findings doc.
* [Mainnet launch plan](/operations/mainnet-launch-plan.md): the gating sequence from current state to live mainnet.
* [Audit scope](/operations/audit-scope.md): what auditors should look at.

Do **not** deploy on mainnet without completing both gates.

## Repository

Source is at [github.com/tonadocash/monorepo](https://github.com/tonadocash/monorepo). These docs live in [`docs/`](https://github.com/tonadocash/monorepo/tree/main/docs) of that repo and sync to GitBook via Git Sync.

## License

MIT. See [LICENSE](https://github.com/tonadocash/monorepo/blob/main/LICENSE/README.md) in the repo.


---

# 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://docs.tonadocash.com/readme.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.
