Deposit, sign, withdraw: the integration kit, a browser tool to try the flow, and a markdown brief your AI agent can integrate from.
|=[ DEEP DIVE :: PROTOCOL FILE 001 ]=
PRIVACY POOLS
PRIVACY POOLS · 0XBOWA non-custodial privacy protocol on Ethereum, built by 0xbow: the production version of the September 2023 paper by Buterin, Illum, Nadler, Schär and Soleimani.
LAUNCHED — 31.03.2025 · ETHEREUM MAINNET
DEFILLAMA + L2BEAT, CROSS-CHECKED
PROVE YOU'RE CLEAN WITHOUT REVEALING WHO YOU ARE
Prove your deposit isn't linked to illicit funds without revealing your history.
Deposit your token(s) into the privacy pool. Your deposit becomes a commitment in the pool's Merkle tree, with a note only you can spend.
The Association Set Provider (ASP) reviews deposits and maintains the approved set. Approved deposits join it; rejected ones can still leave; see ragequit.
To withdraw, you need to have your note, which generates a zero-knowledge proof. There is no visible link to the original deposit.
Withdraw to a fresh address via a relayer, so you do not need gas. Use partial amounts, and wait before withdrawing to increase obfuscation. Use wenwithdraw.xyz to simulate your withdraw and how hidden it is.
THE FLOW
RAGEQUIT
If the ASP rejects your deposit, or removes it later, ragequit returns the full amount to your original address with no approval needed. That logic lives in the immutable pool contracts, so deposits stay non-custodial even though screening is permissioned. Past successful withdrawals can't be deanonymized by the protocol.
THE POOLS
Pools with more TVL make it easier to hide your deposit and withdrawal.
| POOL | VALUE LOCKED | SHARE OF TVL | CUM. DEPOSITED |
|---|---|---|---|
| USDT | $5.77M (5,784,627 USDT) | 66.2% | $8.01M |
| ETH | $1.52M (809.8 ETH) | 17.5% | $10.47M |
| USDC | $1.25M | 14.4% | $4.17M |
| wstETH | $58.9K | 0.7% | $311.7K |
| BOLD | $50.0K | 0.6% | $50.4K |
| 9 smaller pools | ≈ $26.3K combined | 0.3% | — |
live when fetched
TRADE OFFS
Real privacy at the pool layer with one named trust assumption at the screening layer:
THE ASP IS ONE OPERATOR TODAY
It can't steal funds, ragequit covers removal, but it does decide what enters the approved set.
SCREENING ADDS A WAIT
Deposits aren't withdrawable until the ASP approves them.
THE ENTRYPOINT IS UPGRADEABLE
A 2/4 multisig can pause deposits, update ASP roots and upgrade the Entrypoint hub. It cannot touch funds already in pools as the contracts are immutable.
WHY
WHY USE IT
Withdraw with no visible link to your deposit, and prove your funds came from a clean set (i.e., not mixed with illicit funds) without showing your history. Useful for all transactions, like payroll, donations, trading, without being visible to everyone.
WHY INTEGRATE IT
Anyone, like exchanges and custodians, can accept deposits that are clean without seeing the user's past. Membership and exclusion proofs support compliance for regulators without sacrificing user privacy. Association Sets can be defined and tailored to specific needs.
WHAT IT'S NOT
It is not a universal compliance layer, and the policy is only as good as the set construction. It is also not an identity system — the ASP brings the set, not KYC.
BUILD WITH IT
Learn what an Association Set Provider actually is, how set construction works, and how to create and host your own.
Evaluating Privacy Pools but not sure if it fits your product? Talk to Ben.
TALK TO BEN →