Skip to main content

Deployments

Privacy Pools v2 runs in production on three chains, served by one production ASP (https://api-v2.0xbow.io) and one multi-chain production relayer. Sepolia remains the development environment on the dev ASP and is the only chain in the SDK's default DEPLOYMENTS table.

  • Ethereum mainnet (chainId 1): ETH plus three Aave yield shares (ppUSDC, ppUSDT, ppETH); swaps supported.
  • BNB Chain (chainId 56): BNB, FDUSD, and the ppUSDT yield share; swaps supported.
  • Citrea (chainId 4114): cBTC only; no swaps, no yield, and no ASP root published yet.
  • Sepolia (testnet)

One address set, three chains

The production contracts were deployed deterministically on 2026-09-01, so the core addresses are the same on all three chains:

PoolVault 0x0Eb42804BF897662aF851370eaeAdcDBEC1b97ed
Entrypoint 0xca1e072236D231130059eeA6Bfceb7F4e9a1F0C3
Keystore 0x6E463391c79b7e1A88eF26E0B023f9A6C9938a71
ASPRegistry 0x259C0BEa1d783c202509BD3b2688d23b8AEf58B0
AccessRouter 0x40a6bC296D87f71Ab31Ca3Bfb50513441fBD5160
PrivacyPoolRelay 0x01a8Fa4dbb60187aD8d3c3d08E7Fb8C14198A461
RelaySwaps 0xd0395c08DD8eA7671a7A65bDca8E473e8E8260a8 on mainnet and BNB Chain only

What differs per chain is the asset configuration, the yield deployments, and whether the ASP has published a root; each chain page lists those. The monorepo's ChainDeploymentRegistry does not yet record these production addresses, so the deploy script's registries cannot be used as a source for them; the 0xbow frontend pins the same set in config/prod-deployments.ts.

Whatever the chain, take relayer, processor, and yield-router addresses from the relayer's /v1/details rather than hand-copying them, and keep your SDK, circuit artifacts, deployed verifiers, and addresses on one matching set; see Relaying.