Integration guide
The call sequence for a server-to-server order, start to finish.
A typical order takes six calls. The rest is watching it settle.
Call Get available currencies to list the currencies, channels and legal pairs.
Call Get order limits for the deposit/payout pair the user picked. Use
stepandsupportsDecimalsto drive your amount input.Call Get user KYC state — with the order's USD amounts, so the answer accounts for this order and not just the user's history.
If
requiredKycTypeexceedspassedKycType, call Submit user KYC and wait forpassedKycTypeto reach the tier.The full decision flow, including the Nigerian BVN gate, is on KYC flow.
Call Create quote with the deposit/payout configuration.
Use
deposit.fieldsToCreateOrderandpayout.fieldsToCreateOrderto build your form and collect every required field.
Call Create order with the
quoteIdand those fields.Show
order.deposit.transferInstructionsand let the user pay.On
stk_pushorotp_stk_push, drive the prompt with Trigger order intermediate action.On
redirect, send the user totransferInstructions.paymentUrl.On
manual, showtransferDetailsand let them pay from their own app.
Call Confirm order, including any
fieldsToConfirmOrder.
Creating orders needs a capability on your account. Create order, Confirm order, Cancel order, Trigger order intermediate action and both KYC endpoints require the end-user-creation capability. Without it they return 403 with the message "This feature is not available for this merchant, please contact support". The discovery calls and Create quote are not gated, so you can get all the way to a price before you find out. Ask support to enable it before you start building.
Worked end-to-end examples for each order shape are on Flow examples.
Last updated

