Skip to main content
Each guide below walks through one complete flow: the calls to make, the webhooks to handle, how to deal with failures, how to reconcile, and what to check before go-live.

What do you want to build?

Collect local payments with virtual accounts

Give each payer its own local deposit details and credit incoming transfers to your fiat balance.

Pay out local currency from your balance

Send local bank payouts from your fiat balance, and move balance between your merchants.

Convert local currency to stablecoins

Turn local currency into USDT or USDC with on-ramp orders.

Pay out local currency funded with stablecoins

Sell stablecoins from your balance and pay the local currency to a beneficiary’s bank account.

Onboard your customers as merchants

Register your own customers, run KYC/KYB, and activate their currency accounts.

Cross-border payments

Send fiat in one currency and deliver another, with stablecoins as the rail.

Go-live checklist

Credentials, webhooks, idempotency, error handling and reconciliation for every integration.

Prefunded or pay-per-order?

On-ramp orders can be paid in two ways. Choose before you build, because it changes how your payers pay and how orders fail.
Use the prefunded model whenever you can. A balance that is already in place removes the dependency on the payer completing a transfer in time, which is where most pay-per-order failures come from.
Payouts work the same way: payouts from your balance are paid from the fiat balance, and stablecoin-funded payouts are paid from the merchant’s crypto balance.

Combine use cases

The flows share the same merchant balances, so you can chain them: Whatever you build, finish with the go-live checklist.