The five steps
1
Add your customer
Tell us who is making the payment: a person (
retail) or a company (business). You get back a customer ID that starts with cus_. You do this once per customer.Onboard a customer2
Get a quote
Ask how much your customer will receive. For example: “If my customer pays ₦150,000, how much USDC do they get?” You get back a quote ID that starts with
qte_ and a price that is held for a short time.Get a quote3
Create the payment
Use the quote to create a payment. You also say where the money should go: a stablecoin wallet (onramp) or a bank or mobile money account (offramp). You get back a payment ID that starts with
pay_ and deposit instructions: where your customer must send their money.4
Your customer pays
Show the deposit instructions to your customer. They send the money: a bank transfer, a mobile money approval on their phone, or a stablecoin transfer.
5
Your customer receives their funds
Once we receive the money, we convert it and send it to the destination. We send you a webhook at every step, so you always know where the payment is.
Status and state
Each payment has two labels that tell you where it is.statusis the simple answer:pending,success, orfailed. Use it to show your customer a result.stateis the exact step, such asfiat_pendingorprocessing. Use it to show progress or to debug.
- Onramp
- Offramp
failed, canceled, or reversed, or be put on hold as paused or flagged. Each state is explained on the onramp and offramp pages.
IDs you’ll see
Every ID has a short prefix so you can tell what it is at a glance.
After the prefix, every ID has 26 letters and numbers, for example
pay_8fK2mQ9xLp3VnR7tY1wZ4cB6dE.
Amounts
Amounts are always sent and returned as text, not numbers, so no precision is lost. For example"150000" or "97.25". Amounts are in the main unit of the currency (for example naira, not kobo).
