Quickstart

Register, create your first merchant, and receive your first webhook — under 15 minutes.

Goal: from a fresh signup to your first confirmed test invoice in about 15 minutes.

1. Register#

Open the dashboard and sign up with your email and a password. After login you land on an empty merchants list.

2. Create a merchant#

A merchant is your unit of integration. One account can have many (one per brand, region, or environment). For now, create one:

  1. Click Merchants → New merchant.
  2. Enter a display name.
  3. Enter a webhook URL — where we'll POST events. The URL must be a public http(s) host (private and localhost destinations are rejected), so for local development use a tunnel like ngrok or cloudflared pointing at your dev server.
  4. Save.

3. Copy your API key and webhook secret#

On your new merchant's detail page:

  • API key — shown once. Store it in your secret manager. Send it as Authorization: Bearer <api-key> on every API call.
  • Webhook secret — also shown once. Used to HMAC-sign every webhook we send you. See Verify webhook signatures.

Lost either one? Rotate — rotation invalidates the old value immediately.

4. Create your first invoice#

Easiest path is the dashboard's Test payment page — same API call your backend will make, wrapped in a form.

  1. Open Test payment in the sidebar.
  2. Pick a fiat currency + amount, a crypto currency, and a network.
  3. Submit. You're taken to an invoice page with a scannable QR for any wallet.

5. Receive your first webhook#

The moment the invoice is created, we POST invoice.created to your webhook URL. Check:

  • Your server logs for the incoming POST.
  • Your dashboard's Webhook events tab on the merchant page — every attempt is visible with the HTTP status your server returned.

If the attempt shows failed, either your URL was wrong, your server returned non-2xx, or signature verification failed on your side. Fix it — failed deliveries are retried automatically with backoff, or click Retry on the row to redeliver immediately.

6. Pay the invoice#

Send the exact crypto_amount to the deposit address. The platform only supports mainnet — there is no testnet today — so use a small real amount on a dedicated test merchant while you're verifying your integration.

You'll receive, in order:

  • invoice.pending — deposit seen on-chain.
  • invoice.confirming — confirmations accumulating.
  • invoice.confirmed — target reached. Fulfil the order.