The two are separate deployments with separate databases. Accounts, keys and
balances do not carry over; a key used against the wrong one is refused with
wrong_environment_key.
Conventions
- Every response is
{ "environment": "sandbox" | "production", "data": … }. - Errors are
{ "environment", "error": { "code", "message", "details"? } }.codeis stable; switch on it, not onmessage. - Money is always a string in major units (
"1250.50"), never a float. Wallet currencies:NGN,USD. - Writes that move money take an
Idempotency-Keyheader. Retrying with the same key returns the original result (replayed: true); reusing it for a different request is409 reference_conflict.
Where to start
- Sign in and create an organisation, then create an API key.
- Fund a wallet. In sandbox, a simulated deposit is one call.
- Book a hotel or buy a gift card.