# What is TONado Cash?

TONado Cash is a **privacy pool** for The Open Network. It lets you deposit a fixed amount of money into a shared pool, then later withdraw the same amount to a completely separate address, in a way that makes it cryptographically impossible to tell which deposit your withdrawal corresponds to.

## The mental model

Imagine a community lockbox where everyone deposits the same amount of cash. You drop in $100, take a numbered ticket, and the ticket goes into your pocket. A week later you (or someone you give the ticket to) walks up to the same lockbox, hands over the ticket, and gets $100 back, but not necessarily the same physical bills you dropped in. Anyone watching the lockbox sees money go in and money come out, but can't tell which deposit funded which withdrawal.

TONado Cash is the same idea, with two differences:

1. **The "ticket" is a cryptographic deposit note**, a random string only you know.
2. **The "you can't tell which is which" guarantee is mathematical, not physical.** It's enforced by a zero-knowledge proof, not a courteous attendant who pinky-promises not to look.

## What you actually do

1. **Deposit.** Your wallet generates a random deposit note locally, computes a *commitment* to that note (a one-way hash), and sends a transaction to the pool containing the commitment plus the pool's fixed denomination (say, 1 TON). The note never leaves your machine.
2. **Wait.** Time and other deposits build up your anonymity set (see below).
3. **Withdraw.** Using only the note, you produce a zero-knowledge proof that says: *"I know a note whose commitment is somewhere in the pool's deposit list, and I haven't withdrawn it before."* The proof reveals nothing about which deposit it corresponds to. You send the proof (plus a recipient address) to the pool. The pool verifies the proof and pays the recipient.

The recipient address can be anything: a freshly created wallet, a friend, an exchange deposit address. The protocol does not link it to your depositing wallet in any way.

## What privacy you actually get

TONado Cash provides **anonymity-set privacy**. Your withdrawal is indistinguishable from any other deposit in the *same pool*, defined by `(asset, denomination, network)`. A "1 TON pool on TON mainnet" is one anonymity set; a "10 TON pool on TON mainnet" is a different, separate one.

This means:

* If 1,000 people have deposited 1 TON and not yet withdrawn, your withdrawal could be any of those 1,000, a 1-in-1,000 chance for any observer to guess correctly.
* If 5 people have deposited 1 TON and not yet withdrawn, your privacy is 1-in-5, much weaker.
* Withdrawing immediately after depositing reduces your effective anonymity set, because at the moment of withdrawal there are fewer plausible candidate deposits.

**The pool only mixes people who chose the same denomination.** If you deposit 1.04 TON, you're not mixing with anyone. The pool rejects amounts that don't exactly match its denomination (see [Pools and denominations](/using-tonado-cash/pools-and-denominations.md)).

## What can break your privacy

The protocol's cryptography prevents an observer from *cryptographically* linking your deposit to your withdrawal. But there are several ways you can leak the link yourself:

| Mistake                                                   | Why it leaks                                                                                               |
| --------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| Withdrawing from the same wallet that deposited           | The withdrawing wallet is on-chain. If it's you, the link is trivial. Use a relayer or a brand-new wallet. |
| Withdrawing immediately after depositing                  | Timing correlation. Wait at least a few hours, ideally days, with other deposits between.                  |
| Withdrawing to a wallet that's already linked to you      | An address tied to your other on-chain activity defeats the unlinkability. Use a fresh wallet.             |
| Re-using the recipient wallet across multiple withdrawals | Each tie multiplies the linkability.                                                                       |
| Deposits with unusual amounts or gas patterns             | A pool with one 1-TON-and-10-nanoTON-tip deposit and one 1-TON-flat deposit is trivially distinguishable.  |

The cryptography is a tool. Operational hygiene is up to you.

## What TONado Cash is **not**

* **Not a custodian.** No party (not the protocol, not the relayer, not the deployer) can withhold or redirect your funds. The contract is the only thing that can pay you, and it will only pay the address bound to a valid proof.
* **Not a mixer that holds your funds while it shuffles them.** You either have your deposit note, in which case you can withdraw at any time, or you don't, in which case nobody can.
* **Not a bridge.** TON-side deposits are unrelated to Ethereum Tornado Cash deposits. There is no path to redeem a Tornado Cash note on TONado Cash or vice versa.
* **Not anonymous against your wallet provider, your ISP, your browser, or your trail of off-chain behavior.** TONado Cash only addresses the on-chain link. Everything else is on you.

## Cost

* The **pool's fixed denomination** (the amount you're depositing).
* **Gas** to send the deposit transaction (a small fraction of a TON).
* **A relayer fee** when you withdraw, if you use a relayer. The fee is typically a small percentage of the denomination (e.g., 0.5%) with a floor (e.g., 0.05 TON), set by each relayer. The fee is deducted from the withdrawal: the recipient gets `denomination - fee`.
* **No fee** at all if you self-relay, but self-relaying defeats most of the privacy. See [Withdrawing](/using-tonado-cash/withdraw-walkthrough.md).

## Next

Once you understand the model, head to [Depositing](/using-tonado-cash/deposit-walkthrough.md) for the practical walkthrough.


---

# 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/using-tonado-cash/what-is-tonado.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.
