Skip to main content
A corridor is a supported settlement_currency → destination_currency pair. It determines the rail you settle on, the fee schedule, and the minimum size of a payout.

Supported pairs

settlement_currency defaults to USDT when you omit it.
The two lists are not interchangeable. NGN is both — you can settle in NGN and you can pay out in NGN, but only from USDT. There is no NGN → NGN corridor. Settling in ZAR, KES, or GHS is not supported at all.
An unsupported pair fails at payout creation, synchronously:
The details entry names which side is wrong. An unsupported destination_currency lists what your settlement currency can actually reach; an unsupported settlement_currency lists the settlement currencies that exist. That distinction matters — asking to pay out in NGN and asking to settle in NGN are different requests with different fixes. This is checked before the payout row is written, so a bad corridor never leaves a payout stranded in CREATED.

The two rails

The corridor picks the rail — you do not choose it directly.
You settle on-chain to an address that belongs to your account. Choose the chain with settlement_network on the payout: TRON or BSC, defaulting to TRON.The payment instruction returns rail: "CRYPTO", the address as account_unique, and the chain as network. Settlements wait for network confirmations before the payout advances.Fees on this rail: a 1% spread, a 1% platform fee, and a flat network fee in USDT.

Destination types

What the beneficiary is paid into, set with destination_type: Get valid codes from GET /v1/banks. The display name in destination_provider_name is never used for routing.

Minimums

The minimum applies to the settlement amount, not the destination amount. A payout is rejected when the amount you would owe falls below the corridor floor:
Note the field is destination_amount — that is the value you control, even though the floor is measured on the settlement side. Because the floor is on the settlement side, whether a given destination amount clears it moves with the rate. Quote before you commit if you are working near the boundary.

Checking a corridor at runtime

GET /v1/rates?from=USDT&to=GHS is the cheapest way to confirm a pair is live and see the current rate. A supported corridor returns a rate; an unsupported one returns UNSUPPORTED_CORRIDOR.
Rates are quoted live by our liquidity engine, and the fee percentages above are the current schedule rather than a contractual guarantee. Read total_fee_amount off a quote or the payout itself for the numbers that will actually be charged — never recompute them from percentages on this page.