Private payments
for AI agents.

Private USDC on Base. Pay AI agents. Withdraw anywhere.

233,659
Shielded ETH
$49.5M
x402 Volume
2.25M
x402 Transactions
727 ETH
Privacy Pools TVL

Try without your wallet

See a private settle on Base Sepolia in ~17 seconds.

No wallet, no signup. zBase's demo wallet deposits $1.00 USDC into the pool, the facilitator generates a Groth16 proof, and the postman relays a settle to a fresh address that has never appeared on-chain. Both transactions are public on BaseScan and the demo wallet does not appear in the settle transaction.

Why one big deposit, not many small ones

Deposit once. Pay many times.

Each deposit funds a shielded balance you can spend across many private payments — to x402 providers, to agents, to fresh addresses. The setup transaction is one-time per funding event. After that, every payment is just a Groth16 proof plus a relay tx — the postman wallet sends USDC to the recipient and your wallet never appears in the settle transaction.

Setup · one-time

~1525s

Deposit tx + ASP root update + first proof. Per funding event, not per payment.

Each payment

~715s

Proof + relay tx on Base Sepolia after the initial deposit. This is what your agent feels in production.

Recommended fund

~10USDC

Covers many x402 payments at the pool's 1 USDC minimum without re-funding mid-session.

Production agents deposit once at funding time, then make many fast payments. The number that matters for ongoing UX is the per-payment row, not the full first-time flow you see in the demo.

Numbers measured against the live Base Sepolia stack on 2026-06-02. Mainnet figures will land tighter once we ship past testnet. Sepolia confirmation latency varies — see the demo at /app#try for a live end-to-end measurement.

How this works

01

Public deposit, private commitment

The demo wallet sends USDC + a Poseidon commitment to the pool. Deposit is visible on-chain — it has to be. The commitment hides which deposit is yours among the rest.

~6-12s · once per funding

02

Groth16 zero-knowledge proof

The facilitator generates a proof: “I own one of N depositors in the approved set.” The proof binds the recipient address, so a relayer can’t redirect funds.

~3-7s · server-side compute

03

Postman settles to a fresh address

The postman wallet — not the demo wallet — submits the proof. The pool verifies on-chain and transfers USDC to a recipient that has no prior on-chain history.

~7-15s · per payment

Same flow agents use via the x402 facilitator. Privacy strength compounds with each new depositor — see the live anonymity set. Honesty commitments documented in the disclosure policy.

This is a real Base Sepolia settle, paid for by a zBase demo wallet (actual founder budget, not free testnet ETH). Rate-limited to 1 run / IP / 60s and capped at 50 runs / UTC day. Tx hashes are public on BaseScan.

0202
x402 Private Payments
2,249,444
x402 transactions last month. All public on-chain. Until now.
Step 1
Agent requests payment
Step 2
zBase generates ZK proof
Step 3
Payment settled privately
$49.5M
Payment Volume
118,752
Buyers
2.25M
Transactions
0303
Compliant Privacy

The missing infrastructure
for AI agents.
Identity. Permissions. Payments.
All private. All compliant.

a16z flagged the gap: agents can't prove who they represent, what they're allowed to do, or how they get paid. zBase solves all three with ZK proofs, agent registry, and the x402 facilitator. Built on Vitalik's Privacy Pools.

ID
Agent Identity
"Prove who it represents" -- a16z
PM
Agent Permissions
"What it's allowed to do" -- a16z
ZK
Private Payments
"How it gets paid" -- a16z (+ privacy)
V
Vitalik + EF + Apache 2.0
Privacy Pools research, compliant by design
Yield integration (Morpho · Kamino) — coming soon
0404
0
privacy protocols on Base -- until now

Connect your wallet to deposit USDC privately

1% deposit vetting fee (0xbow pool) · 5% take on private settles · Compliant by design

0505
Private Withdrawal

Withdraw from Privacy Pool

Withdraw your USDC privately. A ZK proof is generated server-side. The proof verifies you own a deposit without revealing which one.

Connect your wallet to view your deposits and withdraw privately.

0606
x402 Private Payments

Private Agent Payment

Pay AI agents via x402 without revealing what you bought. Your payment comes from the privacy pool, not your wallet. Nobody can link it to you.

Connect your wallet to pay AI agents privately from the pool.

How private x402 payments work

1.You pre-fund the privacy pool with USDC (Deposit tab). One deposit funds many subsequent x402 payments.
2.When an AI agent sends a 402 payment request, you generate a ZK withdrawal proof.
3.The proof verifies you have funds without revealing which deposit is yours.
4.USDC is sent to the agent from the pool. No on-chain link to your wallet. The agent gets paid. You stay private.

Why this matters

2.25M x402 transactions last month ($49.5M volume, 118K+ buyers). Every one reveals what service you bought, how much you paid, and your wallet's entire history. Competitors see your AI tool spending. Adversaries see your research queries. zBase breaks that link.

0808
Developer SDK

Integrate zBase

Add private payments to any agent, dApp, or x402 service in minutes.

Option 1: SDK

Live on npm

When to use

You're building an AI agent, dApp, or backend service that needs private payments. The SDK handles deposit, private settle, and stealth payout in a few lines of TypeScript.

npm install @zbase-protocol/core

Option 2: x402 Facilitator

Live

When to use

You already have an x402 agent (AgentCash, Claude Code, Cursor, or any x402 client). Just change your facilitator URL from Coinbase CDP to zBase. Zero code changes on the agent side. Like replacing Stripe with PayPal: same checkout flow, different processor, now with privacy.

Option 3: Direct API

Live

When to use

You're building a custom integration that doesn't use x402. You want direct access to ZK proof generation and relay submission. The facilitator endpoints call these internally. More control, less abstraction. One API call = one private payment.

Option 4: Any AI Agent

Live

When to use

You want any AI agent (Claude, ChatGPT, OpenClaw, Cursor) to make private payments. Just paste the prompt below into your agent. No SDK, no install, no code changes. The agent calls two API endpoints and the payment happens privately.

x402 provider? Get paid privately. Register a stealth meta-address, advertise it as your payTo, and every payment lands at a fresh unlinkable address. Seller quickstart → · Questions? DM @zbase__

Contracts (Base Sepolia)

Entrypoint0x275fAA86e2E316Abe46807453c1D95f101d36431
USDC Pool0x46753CED1E87871eA1aaF24Aed47DFA2D95855Dd
USDC Mint0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
zBaseBase SepoliaBuilt for Base Batches 2026