Developer documentation

Build with ZettaPay.

Non-custodial crypto payments that confirm themselves. You supply public material only — a BIP-84 xpub for Bitcoin, and an xpub or a fixed receive address for Base — and the listener derives receive addresses, watches the chain and posts an HMAC-signed webhook when the customer pays. Bitcoin, plus USDC and USDT on Base. Funds go straight to your wallet. Run it yourself with the open-source @zettapay/listener, or use ZettaPay Cloud.

Start here · self-hosted
Quickstart

npm install -g @zettapay/listener, run zettapay-listener init and start, create an invoice with POST /invoice, verify the webhook. Free, no fees, no limits.

Managed · early access
ZettaPay Cloud

The same listener core, run for you as a multi-tenant service. Still non-custodial. Create an account yourself with an email, a shop name and a public xpub or address; the free plan covers 50 invoices a month.

Guide
Checkout on your site

Send the payer to the hosted checkout link returned by Cloud, or render the qr_uri and receive address yourself and poll the invoice status.

Reference
Webhook spec

HMAC-SHA256 over the raw body, millisecond timestamp header, stable event id for de-duplication, up to 10 delivery attempts.

Reference
HTTP API reference

Every endpoint of the self-hosted listener and of the Cloud API, with request bodies, responses, error codes and rate limits.

Spec
OpenAPI 3.1

Machine-readable description of the listener API — import it into your HTTP client or code generator.

Self-hosted · npm
@zettapay/listener

The payment watcher you run on your own box (systemd or Docker). Public xpub or address in, HMAC-signed webhooks out. Open source (MIT), no phone-home.

Dev tool · npm
@zettapay/receiver

npx @zettapay/receiver listen — a local webhook receiver that checks the signature and replay window of every delivery, for development and CI.

AI agents · npm
@zettapay/mcp

A Model Context Protocol server that lets an agent create and track invoices through your own listener: create_invoice, get_invoice_status, list_supported_assets.

Guide
Install with an AI assistant

Hand the setup to your coding assistant — a ready-made prompt that installs and configures the listener.

Plans
Pricing

No per-transaction fee anywhere. Self-hosting is free; Cloud is a flat subscription by monthly invoice volume.

For LLMs
llms.txt

A plain-text summary of the product and API for language models. Expanded version at /llms-full.txt.