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 amounts

Everything 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#

  1. Getting started: create your account, set your sweep destination and webhook, and get an API key. Start here.
  2. Concepts: payment intents, assets, base units, the settlement lifecycle, and statuses. Read before integrating.
  3. API reference: every endpoint, field, and error.
  4. Integration guide: a step-by-step checkout flow with example code.
  5. Webhooks: get pushed events instead of polling.
  6. 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 →