Skip to main content
Build against sandbox, then request go-live from the dashboard when you’re ready. This page covers the differences between the two environments and the steps to switch.

Environments

Sandbox and production share the same API structure — only the base URL and credentials differ. Sandbox API keys do not work in production, or the reverse. Generate environment-specific credentials for each.

Authentication

Every request needs an Authorization: Bearer header. API keys and JWTs both go in the same header. API keys are what you want for server-to-server work — they don’t expire unless revoked. JWTs are short-lived and mainly used while generating a key over the API. Creating API keys →

Idempotency

Always send a reference ID on deposits and withdrawals. The field name differs by flow:
  • Deposits use reference_id (snake_case)
  • Withdrawals use referenceId (camelCase)
Reference IDs must be unique per integrator. If a request times out or fails at the network level, retrying with the same reference ID will not create a duplicate transaction — which is the whole point of sending one.

Webhooks

Use webhooks rather than polling; polling for status is the most common cause of hitting rate limits. Configure your endpoint in the dashboard under Settings. Webhooks & Events → — both delivery modes, every event, and signature verification.

Errors and limits

Status codes, error body shapes and the request limits you need to design around are all on one page. Errors & Limits →

Requesting go-live

Going live is a request you make from the dashboard. You don’t need to email anyone.
1

Finish onboarding

Complete every onboarding step in the dashboard. The go-live request is blocked until they’re all done, so clear this first.
2

Submit your compliance documents

Your dashboard shows a compliance checklist for the countries and services you use. Upload each document and wait for approval — you can retract and re-submit if you sent the wrong file.
3

Request go-live

With onboarding complete, submit the request. A production account is created for you straight away in a pending-review state, and our team is notified.
4

Track the status

Your status reads not started, requested or active, alongside your compliance progress, so you can see what’s still outstanding. You’ll be notified when the review completes.
5

Switch over

Once active, point your base URL at production, generate a production API key, and update your webhook endpoint to your production server.
Your sandbox configuration can be exported so your production account starts from the same setup rather than being rebuilt by hand. Ask support if you want this.
Confirm which environment you’re in before your first live transaction. The dashboard shows this in the environment selector, top right.

Pick your product

Deposits & Collections

Mobile money, bank checkout, and card collections

Withdrawals & Payouts

Mobile money and bank disbursements

Onramp: Buy Crypto

Local currency in, crypto out to a wallet

Offramp: Sell Crypto

Crypto in, local currency out

Payment Links

Hosted checkout pages, no frontend to build

Bulk Payments

CSV-based mass disbursements with batch tracking