Introduction¶
In one sentence: when your AI agent pays for an API, zBase hides the link between your wallet and that payment — while the seller still gets paid exactly as normal.
Get an agent paying in 2 minutes
Agents — paste this and it does the rest (routes itself to MCP or the CLI, sets up a wallet, funds it, and pays):
Setting it up yourself? Install the wallet as an MCP: claude mcp add zbase -- npx -y @zbase-protocol/mcp@latest,
then create a new wallet or import yours — see Install zBase. Prefer code?
npm install @zbase-protocol/core.
Today, every paid API call an agent makes is a public receipt on the blockchain: anyone can see your wallet paid this API this much, at this time, forever. Over hundreds of small calls that becomes a full, public spending profile. zBase removes that link. You deposit USDC once into a shared privacy pool; after that, each payment is funded through a fresh, single-use wallet, so the on-chain record never names you. The seller receives a completely standard payment and delivers as usual — it can't even tell zBase was involved. New here? How zBase compares to the alternatives.
Under the hood: zBase is a private settlement layer for x402 payments on Base. You deposit USDC into a privacy pool, prove ownership with a Groth16 zero-knowledge proof, and settle paid API calls from the pool — so the provider-payment transaction does not directly name your wallet. Base is the active launch path.
This GitBook is the source of truth for setup, integration, architecture, and the security disclosure surface. The sidebar is ordered task-first — do something before you read the theory:
- Start here — what zBase is, and pay privately in 5 minutes (mainnet).
- Integrate (SDK & MCP) —
@zbase-protocol/core, stealth, Merkle proofs, backend API. - Run it yourself — prereqs, install, config, local run + Sepolia/mainnet deploys.
- Under the hood — why a facilitator, the two gates, cryptographic core, contracts, circuits.
- Security & Project — trust + threat models, ceremony, roadmap, FAQ.
Where to start¶
| Goal | Read |
|---|---|
| Pay a real x402 API privately (mainnet) | Pay privately in 5 minutes |
| How is this different from CDP / mixers / others? | How zBase compares |
| Understand why zBase is an app, not an L3 | Why a facilitator on Base |
| Why both ASP and stealth | The two gates |
| The architecture picture | System architecture |
| Integrate an agent or service | SDK overview |
| Evaluate trust before testing | Trust model |
| See attack-to-defense map | Threat model |
| Check what just shipped | CHANGELOG.md — canonical release history + current state |
Status snapshot¶
Base mainnet: live (open pilot). Private x402 payments work end-to-end on Base mainnet today — deposit gaslessly, settle from the pool via a Groth16 ZK withdrawal, and the seller delivers (HTTP 200). Proven against real Coinbase-CDP sellers: BlockRun ($0.028), Nansen ($0.01), and MetaLend ($0.001). Walk the whole thing in the $0.001 payment walkthrough.
Open pilot means the anonymity set is still filling toward its 30-depositor privacy
floor — payments settle and deliver, but aren't yet crowd-anonymous
(result.privacy.private tells you on every payment). The 30-depositor floor is necessary,
not sufficient: even past it, a unique amount or the timing of a withdrawal can narrow the
effective set. result.privacy.private reflects the on-chain payer→provider unlinkability —
see the Threat model for what still leaks.
| Area | Status |
|---|---|
| Base mainnet private x402 (deposit → ZK withdrawal → private pay) | Live — open pilot |
| Proven mainnet sellers (BlockRun, Nansen, MetaLend) | Delivered 200 + data |
| Gasless deposit + settlement (facilitator-sponsored) | Live |
| Exact-amount payment + seed-recoverable change notes | Live |
| Idempotent settlement (no double-pay on a lost response) | Live |
@zbase-protocol/core SDK |
Published on npm |
/api/health + /api/facilitator/supported |
Live |
| Anonymity set | Open pilot — filling toward the 30-depositor floor |
| Base Sepolia (testnet, for development only) | Available |
Performance (measured on a fresh setup): ZK proof generation ~0.7s; warm payment ~7–15s; cold payment ~21s (dominated by fetching pool state, not proving).
Claim discipline¶
zBase is not described as completely anonymous. The current claim is that it removes the direct on-chain settlement edge between the payer wallet and the provider wallet, proven on Base mainnet — and that during the open pilot the anonymity set is still thin, so a payment is unlinkable but not yet crowd-anonymous. See Trust model for what is defeated and what is not.
Next → Why a facilitator on Base