Every private action still settles on chain. This table says what each lane stops showing and what stays visible.
| On chain | Immediate | Sealed batch | Perps |
|---|---|---|---|
| Who acted | Hidden | Hidden | Hidden |
| Your order size | Visible | Hidden | Visible |
| Market | Visible | Visible | Visible |
| Price | Visible | One rate per side | Visible |
| Batch totals, order count, net routed | Not a batch | Visible | Not a batch |
| Your deposit, your withdrawal | Visible | Visible | Visible |
How to read it
Immediate. A swap, a bin move, a vault deposit or a launch trade from a note. Nobody can tell which wallet acted, and the trade itself is public like any other trade: the market, the amount and the price. See Immediate lane.
Sealed batch. Your order joins a batch for one market. A side's order count shows as orders land. Its total, the net routed and its one rate show together, in the transaction that settles the batch. An amount stays hidden from everyone except all 3 keepers together. See Sealed batches.
Perps. A position note hides the owner. Size and price stay public because the vault's solvency depends on them. See Private perps.
Every ticket says in one sentence what its action reveals, before you send it.
What no lane hides
Your deposit and your withdrawal are public: the address and the amount show. Depositing 1,000 USDG and withdrawing 1,000 USDG a minute later to a known wallet links the two for anyone who looks. The client reads a withdrawal before you make it, using the amount, the timing and the destination, says it is hard, somewhat easy or easy to link, and says why.
A relayer's fee is public too. Paid in the note's own token, it shows that token.
How much the set hides
Privacy comes from the other notes in the tree. Early on there are few, so an amount or a time can stand out. The app shows the live size of the set, with no invented activity.
A batch with few orders reveals more, so a side needs at least minOrders orders (default 5) to seal, and otherwise waits and refunds. Someone holding all but one of a tranche's orders can still read the last from the total: see Sealed batches.
Who can read what
- Anyone: everything in the table.
- Sealed batch keepers: all 3 keepers together could read per-order amounts, but not who placed them. They cannot move funds.
- A relayer: the proof it submits and what that proof makes public, the same as the chain, and the IP address the request came from. Not your wallet. The relayer here writes no request log and holds an IP only as a salted hash for its rate limit, and anyone can run their own.
- The site's RPC route: the chain reads your browser makes, and a raw transaction sent from a fresh address. Its logs are the pool's and the sealed lane's only, the same for everyone. Your browser builds its Merkle paths itself, so no server learns which commitment is yours.
- Someone you give your viewing key: every note of the balance, its amounts and which are spent. They cannot spend.
- Someone you choose: the
disclosecircuit proves up to 8 notes to them, with their amounts. See Keys and backup.