| Privacy pool | Smart contract holding pooled ERC-20s and enforcing proofs + write-once state. |
| Note | Immutable record of ownership of an amount of a token; spent via nullifier. |
| Nullifier | One-time value revealed when spending a note; prevents double-spend; unlinkable without viewing key. |
| Channel | Unidirectional link sender → recipient; first send opens it and shares channel key (encrypted to recipient). |
| Channel key | Shared secret derived from sender/recipient viewing material; indexes note locations. |
| Subchannel | Per-channel, per-token lane for notes (avoids extra channel opens per asset). |
| Viewing key | Key pair: private (k) for decrypt/trace/nullifier; public (K) for encrypt-to-user. |
| Client-side action | High-level user intent (open channel, use note, withdraw, …). |
| Server-side action | Primitive the contract runs (WriteOnce, append channel, ERC-20 transfer). |
| WriteOnce | Storage write only if cell is zero—immutability. |
| Open note | Note whose encoding uses a reserved salt so the filled amount is plaintext on-chain; used when an external contract must set the amount after the proof (e.g. AMM output). |
| Paymaster | Relayer that submits txs and is reimbursed from the pool. |
| Auditing entity | Holder of k_audit; decrypts escrowed viewing keys under compliance process. |
| Stwo | STARK prover used for client-side Cairo proofs. |