Developer documentation

Build with ZettaPay.

Multi-chain, non-custodial crypto payments that confirm themselves. Install the SDK, configure your pubkey in env vars (MERCHANT_BTC_PUBKEY / MERCHANT_ETH_PUBKEY / MERCHANT_SOL_PUBKEY) — we watch the chain and post a signed webhook the moment the customer pays. BTC, ETH (mainnet + L2s), USDC on Solana. Open SDKs in TypeScript, Python, PHP and Rust. x402 + MCP native.

Start here · no code
Embed quickstart · 5 min

Get your API key, drop a <script> tag with your pubkey in your <head> — done. Recipes for plain HTML, vanilla JS, React and Next.js.

For developers
SDK quickstart · 5 min

Get your API key, install the SDK, configure your pubkey in env vars (ZETTAPAY_API_KEY + MERCHANT_*_PUBKEY), call zp.register(), verify the webhook. Snippets in TypeScript, Python, PHP and Rust.

Reference
Webhook spec

HMAC-SHA256 signature, 300 s tolerance window, idempotent by tx_hash, exponential-backoff retries.

SDK · TypeScript
@zettapay/sdk

npm install @zettapay/sdk — full API surface, webhook verifier, on-chain helpers.

SDK · Python
zettapay (PyPI)

pip install zettapay — typed client, verify_webhook helper.

SDK · PHP
zettapay/sdk

composer require zettapay/sdk — PSR-18 HTTP client, Webhook::verify helper.

SDK · Rust
zettapay (crates.io)

cargo add zettapay — async tokio client, constant-time webhook verifier.

Self-hosted · npm
@zettapay/listener

npm install @zettapay/listener — non-custodial BTC payment watcher you run on your own box (systemd, Docker, Railway, Fly). BIP-84 xpub in, HMAC-SHA256 webhooks out. Zero phone-home. Free forever.

Reference
HTTP API reference

Every REST endpoint, webhook event, and AI-agent surface. x402 and MCP included. Errors, idempotency, rate limits.

No code
Embed quickstart

Paste one <script> tag in your <head>. Pay button, QR code, address, all bundled.

Spec
x402 + MCP

AI agents pay autonomously via the open x402 header. ZettaPay also exposes a pay_with_zettapay MCP tool.

Operations
Status & health

Liveness, readiness and metrics endpoints — plug them into your monitoring.