Private payments
for AI agents.
Private USDC on Base. Pay AI agents. Withdraw anywhere.
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
~15–25s
Deposit tx + ASP root update + first proof. Per funding event, not per payment.
Each payment
~7–15s
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
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
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
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.
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.
Connect your wallet to deposit USDC privately
1% deposit vetting fee (0xbow pool) · 5% take on private settles · Compliant by design
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.
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
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.
Integrate zBase
Add private payments to any agent, dApp, or x402 service in minutes.
Option 1: SDK
Live on npmWhen 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/coreOption 2: x402 Facilitator
LiveWhen 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
LiveWhen 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
LiveWhen 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__