Reading these first turns a class of runtime errors into decisions you make before sending a request.
Currency
A currency is a code, its display data, and six independent switches.minorUnits is the one field that changes your arithmetic: 2 for most currencies, 0 for UGX, 8 for every crypto asset.
Route
A route is a way to deliver money to a destination currency — a scheme, a payment method, and the exact fields a payout needs. The important field isid. That is the routeId you send when creating a payment detail or an external destination; the rest of the object tells you what to collect first.
sepa and cemac each cover a set of countries rather than one.
Corridor
A corridor is the same route, presented differently: the currency resolved to its display data, the countries it serves listed out, and the field descriptors alongside. It is the shape to build a UI from. The two views exist because they answer different questions. Corridors are provider-neutral and complete; the routes endpoint returns the row as stored, including internal routing detail you should not depend on.Use corridors to drive a form. Use routes when you already know the currency and just need
routeId values.Country
The country list is every jurisdiction Sakawave will onboard — alphabetical, with dial codes and flags, ready to render into a picker. Twenty jurisdictions are deliberately absent, under sanctions or with no financial system to route to. A country missing from this list is a position, not an oversight: sending its code as ajurisdiction will be refused.
This endpoint is public and unversioned. It takes no Authorization header and does not live under /v1, because the picker it feeds is drawn before anyone has an account.
How they compose
What this service does not do
- It does not tell you what you may do. A currency with
accountIssuanceEnabled: trueopens for any business, but issuing its details and moving money through it depend on your verification, international access, and tier. Capability is platform-wide; those checks are yours. - It emits no events. Reference data changes on a deploy, not through a webhook. Cache it and refresh on a schedule.
- It holds nothing of yours. Every response here is identical for every business.