Countries & Routes
How to read coverage via the API
GET /v1/countries lists every country a customer can be onboarded in. GET /v1/countries/{country} returns one country in full. That response carries everything you need to move money in or out of it.
There are no query parameters, because the country is the resource.
What a route is
country + currency + destinationType + rail
Each entry in routes[] carries:
| Field | What it tells you |
|---|---|
operations | PAYOUT, COLLECTION, or both |
identifierTypes | Which identifier kinds register as this destination type here |
fields | Exactly what to collect when registering a destination on this route |
quote | Whether a payout on it needs a quote, broken down by pair shape |
status | LIVE, SANDBOX or TARGET |
limits | Per-transaction and daily caps, where they apply |
fields saves you the most work. It is the requirement set for registering a destination, carried by the route itself. You can build your form from the API instead of from a document that goes stale.
What a status promises
| Status | Means |
|---|---|
LIVE | Tested end to end and enabled in production |
SANDBOX | Available and tested on the sandbox host only |
TARGET | Planned. It is not callable anywhere yet |
Only LIVE routes accept production traffic. Anything else is refused with route_unsupported. The refusal happens before anything is locked, at registration, at quote and at payout.
That timing is deliberate. You learn that a corridor isn't open at the point you ask for it instead of three days later when a payment fails.
Which routes read LIVE changes as corridors open. Read the registry instead of caching a list from this page.
Rails are scheme families
ACH · WIRE · SPEI · PIX · COELSA · FPS · CHATS · WALLET
A rail never names a country, a provider or an account type.
ACHcovers any domestic batch bank transfer. That includes US ACH and the local clearing houses in Colombia, Chile, Peru, Bolivia, Paraguay, the Dominican Republic and China.- In Colombia,
ACHalso covers BreB, for collections and payouts. Alfred decides which of the two delivers a payment. You register the account number and don't choose. WIREcovers RTGS, SWIFT and Fedwire.SPEI,PIX,COELSA,FPSandCHATSare named instant schemes with their own behavior. COELSA is deliberately not folded into ACH.WALLETis a stablecoin destination.
Because the rail doesn't carry the country, (rail, currency) is what names a priced route. (ACH, BOB) and (ACH, CLP) price separately. (CHATS, USD) means US dollars delivered in Hong Kong, which is a different route from US dollars delivered in the US.
Wallets are not in the country registry
Stablecoin wallets have no country, so they don't appear in the country registry. A wallet is registered with a chain and an address, and it's reachable on the WALLET rail for every chain in the Chain enum.
When to read it
Read the registry twice. The first time is when you integrate, to build your forms and your validation. Read it again whenever country.route.updated fires, which is how you learn that a corridor opened or a status moved.
Caching the registry is fine as long as you let that event invalidate your cache.
Updated 4 days ago

