# What is Privacy Pools v2?

> A shielded-pool protocol on Ethereum with private transfers, selective disclosure, and ASP-mediated compliance.

Privacy Pools v2 is a privacy protocol that enables compliant, private transactions on Ethereum. It builds on the foundation of [v1](/introduction/v1-vs-v2) 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](/operations/transfer) without revealing sender, recipient, or amount.
-   **EVM address receipt:** send and receive funds using any standard Ethereum address, [no pre-registration required](/concepts/discoverable-vs-oob).
-   **Keystore contract:** register with the [keystore contract](/protocol/contracts/keystore) to create your account and [rotate your keys](/operations/rotate-revocable-key), no separate seed phrase to back up.
-   **Multi-asset pool:** single pool with [multi-asset support](/operations/deposit) for greater anonymity.
-   **Selective disclosure:** create [receipts](/operations/receipts-and-viewing-keys) for single transactions or [viewing keys](/concepts/keys) to reveal account activity.
-   **Compliance:** 0xbow [ASP](/concepts/asp-attestation) screens deposits and maintains an association set of approved deposits to keep the pool clean.
-   **Private yield:** shield a [yield-bearing position](/concepts/yield-shares) on Aave v3 as fixed-count ppUSDC shares, [deposit](/operations/yield-deposit) and [withdraw](/operations/yield-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](/operations/withdraw-and-swap), [change asset without leaving](/operations/reshield), or [enter from any wallet token](/operations/swap-and-deposit), on this chain or across a bridge. The [RelaySwaps](/protocol/contracts/relay-swaps) contract is the on-chain half of the integration.
-   **Batch withdrawal:** empty a whole single-asset balance to one address in [one transaction](/operations/batch-withdraw), up to ten transact proofs at a time.
-   **Stealth withdrawal:** pay a withdrawal to a [one-time ERC-5564 address](/operations/stealth-withdraw) 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 `authType` beyond 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](/concepts/notes):** mental models for v2 including notes, commitments, nullifiers, and more.
-   **[Operations](/operations/deposit):** protocol actions supported by v2 including deposit, transfer, withdraw, and more.
-   **[Guides](/guides/integration-architecture):** sample repos and code for building on the v2 SDK.
-   **[Protocol reference](/protocol):** technical reference for v2 circuits, contracts (core, relay processors, and the yield stack), and ASP.
-   **[SDK reference](/sdk):** technical reference for the v2 SDK, including the stealth subpath.
-   **[Deployments](/deployments):** contract addresses for Ethereum mainnet, BNB Chain, and Citrea, plus the Sepolia testnet.
-   **[Developer Guide](/dev-guide/local-setup):** local setup, testing, and common failure modes.
