Off Ramp Playbook
This tutorial follows the full live off-ramp integration from one-time setup to operational monitoring.
When you need payload and schema details, jump into:
User Management
Off-Ramp
Orders
Webhooks
Phase 1: Setup (one-time)
Obtain credentials:
X-API-Keywebhook_secret
Register your webhook URL:
POST /api/v1/partner/webhooks
Verify delivery:
POST /api/v1/partner/webhooks/test
Phase 2: User onboarding (per user)
Create user:
POST /api/v1/partner/users
Submit KYC:
POST /api/v1/partner/users/{id}/kyc-submissions
Upload documents for
direct_data:POST /api/v1/partner/users/{id}/kyc/documents
Check verification status:
GET /api/v1/partner/users/{id}/verification-status
Create payment details:
POST /api/v1/partner/users/{id}/payment-details
Phase 3: Off-ramp order lifecycle
9
Optional estimate
POST /api/v1/partner/offramp/estimate
Indicative pricing
10
Quote
POST /api/v1/partner/offramp/quote
Quote locked briefly
11
Initiate order
POST /api/v1/partner/offramp/initiate
awaiting_crypto_transfer_authorization
12
Authorize transfer
POST /api/v1/partner/orders/{id}/authorize-crypto-transfer
crypto_received after confirmation
13
Buyer submits proof
No partner API call
fiat_payment_started
14
Admin reviews proof
No partner API call
fiat_payment_review_started
15
Proof accepted
No partner API call
awaiting_fiat_received_confirmation
16
Confirm fiat received
POST /api/v1/partner/orders/{id}/confirm-fiat-received
completed
Alternative endings:
cancelledfor cancellation, expiry, or repeated proof failurefailedfor escrow or relay errorsdispute_startedwhen a dispute is opened
Phase 4: Monitoring
Poll a single order:
GET /api/v1/partner/orders/{order_id}
List orders for reconciliation:
GET /api/v1/partner/orders?status=completed&page=1&limit=20
Use status, timeline, and allowed_actions if polling is needed as a recovery or reconciliation fallback.
Webhooks should remain the primary source of truth.
Last updated
