Quote and accept
Binding fiat ↔ crypto orders for approved vault customers. Prerequisite: Customer KYC complete —status=approved. Quote with customer_id (pcus_*), not inline customer.
Auth and environment
Flow
1
Discover
GET /partner/catalog?country=KE&order_type=OnRamp → copy momo/bank providers[].id2
Quote
POST /partner/orders/quote with customer_id, payment_method, asset, amounts3
Accept
Wait ~2s, then
POST /partner/orders/{quote_id}/accept with {}4
Settle
Webhooks
order.processing → order.settled or order.failed1. Discover network_id
providers[].id as payment_method.network_id on quote. Always fetch from your sandbox — do not hardcode UUIDs across environments.
2. Quote (KE OnRamp, momo)
Quote success — what to expect
Save the quote id:
3. Accept
Accept success — what to expect
data.payment_instructions (when present) for what the customer must do on the fiat rail. OffRamp live: crypto_deposit tells the customer where to send stablecoin.
Request checklist
Field hints per corridor:
GET /partner/order-requirements. Copy-paste payloads: Sandbox test payloads.
Common quote errors
Deprecated: inline customer
Deprecated — migrate to vault customer_id. Still supported for existing integrations and sandbox spikes.
Do not start new production integrations on inline customer. The API accepts a full customer object on quote instead of customer_id until you migrate.
Sandbox-only example (inline, no vault):
Next
- Quickstart — end-to-end first integration
- Kenya corridor · Webhooks · API reference