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.
An unsupported pair fails at payout creation, synchronously:
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.- Crypto (USDT)
- Bank transfer (NGN)
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 withdestination_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: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.