1
Check the rate
Call GET /rates with
type=onramp and your preferred network, asset, and fiat_currency to see the current indicative rate.2
Create a quote
Call POST /quotes to lock the rate and fee breakdown for 30 minutes. Save the quote
id.3
Confirm the quote
Call
POST /quotes/{id}/confirm with the destination wallet_address and payer details. You receive a transaction in status awaiting_payment with payment_instructions.4
Track the transaction
Poll GET /orders/{order_id} or wait for webhooks. Status flows from
awaiting_payment to processing, then completed or failed.Confirm an onramp quote
POST/quotes/{id}/confirm
Confirms an active onramp quote and creates the onramp transaction.
Path parameters
string
required
Active onramp quote ID from
POST /quotes. Valid for 30 minutes.Request body
string
required
Blockchain address that will receive the crypto.
object
required
Payer details. For
mobile_money, include phone_number. For bank_transfer, include account details such as account_number and bank_code.string
Optional external reference ID for your records.
Request
Response
Response fields
string
Unique transaction identifier, e.g.
txn_....string
Always
onramp when confirming an onramp quote.string
Current status:
awaiting_payment, processing, completed, failed, expired, refunded.string
ID of the quote used for this ramp.
string
Blockchain network.
string
Crypto asset sent after fiat is received.
string
Fiat currency being paid.
string
Fiat amount paid by the user.
string
Crypto amount the wallet will receive after fees.
object
Fee breakdown from the quote:
total, currency, processing_fee, network_fee.string
Locked exchange rate.
string | null
On-chain transaction hash once crypto is sent.
string
Destination address for the crypto payout.
string
Your optional external reference.
object
Instructions for completing fiat payment. Varies by method.
string
ISO 8601 UTC timestamp when the transaction was created.
string
ISO 8601 UTC timestamp of the last update.
After creation, the transaction status is
awaiting_payment. Crypto is sent to wallet_address once fiat is received. Track progress with GET /orders/{order_id}.