Live on Solana · invite-only beta

The infrastructure layer for crypto payments

Take payments in crypto, know the instant they land, and run your own logic the moment they do. Money settles straight to a wallet you control: no KYC, no bank account, no processor in the middle.

Invite-only while we're in beta. Already invited? Sign in.

Everything a payment processor does. None of the banking.

A card processor sits between you and your money. Underwriting, a list of supported countries, payout delays, chargebacks, and a compliance file on every merchant, all of it before a single customer pays you.

Zuuppa does the work a processor does: prices a checkout, watches for the payment, confirms it really arrived, and tells your backend so it can act. It does none of the work a bank does. There is no account for anyone to freeze and no payout to wait for, because the money moves on-chain from your buyer into a wallet you already control.

We are the layer that makes crypto usable as a payment rail, not a wallet, not an exchange, not a token. Solana today; the API is the product.

No bank account

No processor, no merchant account, no underwriting.

No KYC on you

Set a destination wallet and start taking payments.

No key handling

We derive, detect and sweep. Your keys stay yours.

Three calls from end to end

Your backend creates a payment and reacts when it settles. Everything between those two moments (address derivation, on-chain detection, conversion, sweeping, refunds) is ours.

  1. Create the payment

    One POST from your server, priced in USD, listing the tokens you'll accept. You get back a deposit address unique to this payment, and a client secret for the buyer's side.

  2. The buyer pays in what they hold

    They choose a token; we convert the USD price at spot and lock it. From creation they have 10 minutes. After that the checkout cancels itself and anything already sent comes back.

  3. You hear about it, and act

    We detect the transfer, sweep it to your wallet, and POST a signed event to your endpoint. It carries the exact amounts that landed and the on-chain signatures, so fulfilment and bookkeeping run off the same source of truth.

Your backend → Zuuppa

POST /intents
{
  "amount_usd_cents": 1250,
  "accepted_tokens": [
    { "kind": "sol" },
    { "kind": "spl", "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" }
  ],
  "reference": "order-1003"
}

Zuuppa → your webhook

{
  "type": "intent.swept",
  "intent": { "reference": "order-1003", "status": "swept" },
  "settlement": {
    "asset": "USDC",
    "decimals": 6,
    "destination_amount": 12375000,
    "platform_fee_amount": 125000,
    "signatures": ["4bd..."]
  }
}

Prefer not to run an endpoint? Poll for status instead. Same information, same guarantees. Full API reference.

What you get

A fresh address per payment

Every checkout derives its own deposit address, never reused. No shared wallet to untangle later, and no guessing which payment a transfer belonged to.

Priced in USD, paid in tokens

You quote $12.50. The buyer picks SOL, USDC or any SPL token you accept; we convert at spot and lock the amount for a 10-minute window.

Settles to your wallet

Detected on-chain and swept to the destination you set, a wallet whose keys are yours. You never hold a seed, run a node or touch an RPC endpoint.

Your backend finds out

HMAC-signed webhooks for paid, swept, refunded and failures: one event per transition, each with a stable id to dedupe retries on. Or skip them and poll for status.

Numbers you can account for

A settled payment reports the exact amounts delivered, the asset, the fee deducted and the transaction signatures. Verifiable against the chain, not just our word.

The awkward cases, handled

Overpayments refund the excess. Underpayments wait, then refund. The wrong token arrives, or nobody pays at all? Returned automatically. None of it needs a human.

What people build on it

Anywhere money needs to change hands and something needs to happen afterwards.

Online checkout

Sell physical or digital goods for crypto. Keep a catalogue of items and let us price the cart server-side, so the total can't be tampered with in the browser.

Credits and top-ups

Let people fund a balance, buy credits or add money to an account. The settled webhook is your signal to credit them, for the exact amount that landed.

In-app purchases

Drop the SwiftUI checkout sheet into an iOS app. The buyer chooses a token, pays, and the sheet reports back. No web view, no redirect out of your app.

Anything that unlocks on payment

Metered APIs, game items, access passes, releases. Attach your own id to a payment and run whatever you like the moment your backend hears it settled.

One percent. That's the pricing.

1%

per settled payment

  • Plus the Solana network fee: a fraction of a cent per sweep, and we front it on token payments so you receive the full amount.
  • No monthly fee, no setup fee, no minimum volume.
  • Nothing held back for chargebacks, because on-chain payments can't be reversed by the payer.
  • Taken in the same transaction as the sweep, and reported on every payment, so the amount you netted is never a calculation you have to do.

Start taking crypto payments

We're onboarding accounts by invite while we're in beta. Tell us what you're building and we'll get back to you.