What is Privacy Pools v2?
Privacy Pools v2 is a privacy protocol that enables compliant, private transactions on Ethereum. It builds on the foundation of v1 and introduces a new shielded pool design that offers greater privacy affordances, better user experience, and new features.
Key features in v2
- Private transfers: transfer funds within the pool without revealing sender, recipient, or amount.
- EVM address receipt: send and receive funds using any standard Ethereum address, no pre-registration required.
- Keystore contract: register with the keystore contract to create your account and rotate your keys, no separate seed phrase to back up.
- Multi-asset pool: single pool with multi-asset support for greater anonymity.
- Selective disclosure: create receipts for single transactions or viewing keys to reveal account activity.
- Compliance: 0xbow ASP screens deposits and maintains an association set of approved deposits to keep the pool clean.
- Private yield: shield a yield-bearing position on Aave v3 as fixed-count ppUSDC shares, deposit and withdraw through a router, with the protocol fee charged on yield only.
- Intents: intent-based routing through a DEX aggregator, with the route frozen into the proof: leave the pool as a different token, change asset without leaving, or enter from any wallet token, on this chain or across a bridge. The RelaySwaps contract is the on-chain half of the integration.
- Batch withdrawal: empty a whole single-asset balance to one address in one transaction, up to ten transact proofs at a time.
- Stealth withdrawal: pay a withdrawal to a one-time ERC-5564 address with the announcement bound on-chain to the payout.
- Relayed registration: a relayer can register your keystore entry and withdraw for you in one transaction, signed EIP-712 or ERC-1271, so a Safe or other contract account can hold a pool account.
What's coming next
- Multisig spending: contract-account authorisation inside the pool (an
authTypebeyond the direct key) so no single signer can spend. - Conditional spending: notes whose spend conditions live in the circuit rather than with a keystore owner, so a spender need not be known when the note is created (the basis for in-pool atomic settlement).
- Hardware wallet support: store secrets on a hardware device for greater security.
Documentation sections
- Core concepts: mental models for v2 including notes, commitments, nullifiers, and more.
- Operations: protocol actions supported by v2 including deposit, transfer, withdraw, and more.
- Guides: sample repos and code for building on the v2 SDK.
- Protocol reference: technical reference for v2 circuits, contracts (core, relay processors, and the yield stack), and ASP.
- SDK reference: technical reference for the v2 SDK, including the stealth subpath.
- Deployments: contract addresses for Ethereum mainnet, BNB Chain, and Citrea, plus the Sepolia testnet.
- Developer Guide: local setup, testing, and common failure modes.