Skip to main content
Validates the recipient’s account, locks a quote, and returns where to send USDC. Nothing moves until you deposit.
Backend only. Never call from frontend.

Endpoint

Requires the offramp scope.
Always send an Idempotency-Key (any string unique per payout, e.g. your payout ID). Replaying the same key returns the original order with a 200 instead of creating a duplicate, so retries on timeouts are safe.

Body

amount
number
required
USDC amount, 0.5 – 50,000. The local equivalent must fall inside the per-transaction range.
currency
string
required
Payout currency: KES, NGN, GHS, or UGX.
refund_address
string
required
A 0x EVM address you control. Failed NGN payouts are refunded here automatically; it is also the return path of record for support cases.
recipient
object
required
Who gets paid. Shape per method in recipients. Validated before the order is created.
reference
string
Your reference (e.g. internal payout ID). Echoed back as external_reference in responses and webhooks.

Example

Response (201)

order_id
string
required
Unique order identifier.
total_deposit_usdc
number
required
The exact USDC amount to send. Equals amount_usdc for KES, GHS, and UGX. For NGN it is amount_usdc + sender_fee_usdc + transaction_fee_usdc.
sender_fee_usdc
number
NGN orders only. A network fee included in total_deposit_usdc.
transaction_fee_usdc
number
NGN orders only. A network fee included in total_deposit_usdc.
deposit_address
string
required
Where to send USDC on Base. For KES, GHS, and UGX this is a shared settlement address; always follow your transfer with a hash submission. For NGN it is a single-use address monitored automatically.
deposit_chain
string
required
Always base. USDC sent on other chains is not detected.
rate
number
required
Quoted rate. For KES, GHS, and UGX the payout executes at the live rate at deposit time, and the order’s rate, amount_local, and fee update to the executed values. For NGN the rate is locked.
expires_at
string
required
Deposit deadline, ISO 8601. 30 minutes for KES, GHS, UGX; about 5 minutes for NGN. After it passes the order becomes expired.
instructions
string
required
Human-readable next step for this specific order.

Errors