1. Getting Started

Five minutes from sign-up to your first payment. Everything here happens in this dashboard, with no server to run.


Step 1: Create your account#

  1. Go to Sign in and enter your email or phone number.
  2. We send you a one-time code (8 digits by email, 6 by SMS). No password.
  3. Enter the code. On first sign-in your account is created automatically.

Step 2: Set your sweep destination#

Open Settings → Sweep destination and paste the Solana wallet address where you want payments to land. It can be your treasury, an exchange deposit address, a Phantom wallet, or anything else you control.

Optionally also configure:

  • Webhook URL: set it to get pushed events (see Webhooks). Recommended for production. The signing secret is generated for you: reveal it in Credentials and copy it into your server's secrets.

Click Save.


Step 3: Create an API key#

Open API keys → Create key, give it a name (e.g. production), and copy the key. It looks like:

text
sk_live_9f2c...   (or sk_test_... for a test account)

Step 4: Make your first call#

From your backend, create a payment intent. You get back a deposit address and a derivation_index to track it:

bash
curl -X POST https://api.zuuppa.com/intents \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "amount_usd_cents": 2500, "accepted_tokens": [{ "kind": "sol" }], "reference": "order-1001" }'
json
{
  "derivation_index": 42,
  "address": "9xQe...pump",
  "client_secret": "cs_7pKf...9dQ2",
  "price_usd_cents": 2500,
  "expected_lamports": null,
  "status": "pending",
  "reference": "order-1001"
}

The amount is priced in USD; the buyer picks a pay-in token at checkout (via an SDK, or POST /intents/select-token), which locks expected_lamports at spot.

Show address (and a QR of it) to your payer, then either wait for a webhook or poll GET /status?index=42 until it's swept.

That's the whole loop. The Integration guide walks through a complete checkout with code; on iOS the Swift SDK draws the whole payment screen for you.


Watch it happen#

The Payments page in this dashboard lists your intents live (status, expected vs. received amount, and the deposit address) so you can watch a payment move from pending to swept as you test.

You can also try the whole flow with no code on the Demo page in this dashboard.

Next: Concepts →