Skip to main content
Remitflex connects stablecoins and local bank accounts in African markets. You integrate once; we handle bank disbursement, virtual account deposits, FX quoting, and settlement tracking.
Need a customer Smart Wallet, permanent NGN VA, or CNGN↔USDC converts? Use cNGN instead. Local fiat is partner bank payouts/deposits without a Remitflex-managed wallet.
Both products follow the same pattern as payment routes: create an order → fund it → track until settled in the transactions ledger.

Before you create an order

Use the reference endpoints to discover what is supported and validate bank details before committing:
NGN is live today. Additional currencies appear in /fiat/currencies as they become available.

Offramps — pay a local bank account

Send stablecoin; the recipient receives fiat in their bank account.
1

Get a rate

Call GET /v1/fiat/rates/:token/:amount/:currency and note the quoted rate. You pass this rate when creating the order.
2

Create the order

POST /v1/offramps with recipient bank details, amount, rate, returnAddress (where funds return if the order fails), reference, and a customer customerId.
3

Fund the order

Send the exact stablecoin amount to the receiveAddress in the response before validUntil.
4

Link your transfer

After your on-chain transfer succeeds, call PATCH /v1/offramps/:orderId/external-transfer with your internal transfer ID. This ties your funding transaction to the order so settlement can proceed.
5

Track

Poll GET /v1/offramps/:orderId or reconcile via GET /v1/transactions (kind: offramp).
Cancel an unfunded order with DELETE /v1/offramps/:orderId. You cannot cancel after linking an external transfer. List orders: GET /v1/offramps?customerId=... Scopes: api:read, api:write

Example — create offramp

Onramps — collect fiat, deliver stablecoin

Create a virtual account; your user deposits local currency; stablecoin is delivered to the wallet you specify.
1

Create the order

POST /v1/onramps with destinationAddress, destinationAddressType (liquidation_address or main_wallet), refundAccount (bank details for failed deposits), amount, and customerId.
2

Share deposit details

The response includes a deposit object with bank name, account number, amount to transfer, and validUntil. Show these to your user.
3

Track settlement

Poll GET /v1/onramps/:orderId?poll=true to refresh status, or read GET /v1/transactions (kind: onramp).
When settlement completes, the response includes settlementTxHash and settledUsdcAmount. List orders: GET /v1/onramps?customerId=... Scopes: api:read, api:write

Example — create onramp

Reconciliation

Offramps and onramps appear in the unified ledger alongside payment routes and payment links:
Filter by customerId on GET /v1/transactions, GET /v1/offramps, and GET /v1/onramps to build per-user payout or funding history. For status updates, see Webhooks.