Guide
Going live
Production is gated, and nothing on this page is self-service yet. What is checked, and what to expect.
sk_live_ keys and production webhook registration are issued by
Moja Switch to each organisation at go-live, after its readiness checks pass.
There is no production URL to configure before then.
What going live depends on
Moja Switch enables production per tenant, per corridor and per product. Signing a contract or holding an entitlement is not, on its own, enablement. The checks are:
| Dimension | What it covers | Blocks go-live |
|---|---|---|
| Compliance | Your onboarding and due diligence are complete and approved | Yes |
| Funding | How your payments are funded is set up and verified | Yes |
| Corridor capability | You are entitled to the corridor you will send on | Yes |
| Treasury | Settlement and liquidity arrangements | Reported, not blocking today |
| Commercial | Your commercial terms, including FX margin where applicable | Reported, not blocking today |
Your tenant also needs Moja Switch to enable each flow you will use
(403 tenant_not_activated until then) and a limit profile for your send
currency (403 tenant_limits_unresolved until then).
Check your readiness
GET /account/readiness (scope read) reports your production readiness from
the same data the production payment gate uses, so can_send_live here always
matches whether a live payment would clear the gate.
curl -sS "$MOJA_BASE/account/readiness" -H "Authorization: Bearer $MOJA_KEY"{
"environment": "production",
"readiness": "not_ready",
"can_send_live": false,
"requirements": [
{ "key": "compliance", "status": "…", "blocking": true, "message": "…" }
]
}The response is abridged. Each entry in requirements[] says whether it is met
and whether it blocks. The endpoint fails closed: on a read error it returns
500, never a falsely ready account. Asking about a specific corridor
(?corridor=) is Planned; today readiness is
evaluated for CA-TZ.
Not available in production yet
| Capability | Status |
|---|---|
Collections (kind: collection) and tenant payouts |
Planned: sandbox only |
| Self-service production keys and webhook endpoints | Planned: issued by Moja Switch |
Dated API revisions and Deprecation / Sunset headers |
Planned: only the /v1 prefix is live |
| Official SDKs | Planned: generate a client from the OpenAPI file |
| Status page | Planned |
Versioning
The API is versioned by URL major (/v1). The contract is published as
1.0.0-draft. Once your organisation is live, a breaking change to /v1 will not
be made silently: it will ship as a new major version with a deprecation window.
Before you ask to go live
Work through the checklist at the end of Sandbox testing, then contact your Moja Switch onboarding contact. When you write to us, include request ids and payment ids. Never include an API key or webhook secret.
