Zuuppa Documentation
Accept Solana payments without touching a private key. Zuuppa gives every order its own deposit address, detects the payment on-chain, sweeps the funds to your wallet, handles refunds automatically, and notifies your backend, all over a small HTTP API.
It works for native SOL and any SPL token (including Token-2022).
You never run a server, hold a seed, or touch Solana RPC. You sign up, set your sweep destination, grab an API key, and make HTTP calls.
How it works in 30 seconds#
text
1. Your backend ──POST /intents──▶ Zuuppa → returns a deposit address
2. Your frontend shows that address (+ QR) to the payer
3. Payer sends SOL / USDC / etc. to the address
4. We detect it and sweep it to YOUR wallet (net of a small platform fee, if any)
5. Your backend is notified (webhook) or polls GET /status → "swept", exact amountsEverything on-chain (key custody, detection, sweeping, refunds) is handled for you. You only ever call the HTTP API with your API key.
Get set up#
- Getting started: create your account, set your sweep destination and webhook, and get an API key. Start here.
- Concepts: payment intents, assets, base units, the settlement lifecycle, and statuses. Read before integrating.
- API reference: every endpoint, field, and error.
- Integration guide: a step-by-step checkout flow with example code.
- Webhooks: get pushed events instead of polling.
- Swift SDK: the drop-in iOS checkout sheet, installed and used component by component.
The two ways to talk to us#
- Dashboard (this website): sign in, configure your account, manage API keys, and watch payments. Sign-in is passwordless. We email or text you a code.
- Payments API: your backend calls it with an API key
(
Authorization: Bearer sk_live_...). This is what powers checkout.
Ready? Getting started →