Skip to main content
Like Offramp, Onramp’s underlying logic and status enum are unchanged. What changed is the request/response shape, how the fiat source and crypto destination are specified. See the platform-wide changes for ID format, pagination, error shape, and idempotency — this page only covers what’s specific to Onramp.
Transfer Approval does not apply to Onramp in either version — there’s no requiresApproval field on this resource, unlike Offramp/Onchain Transfer/Bridge.

Endpoints

Request changes: create an onramp

v2:
v3:

Response changes

v2 (nested under a transfer envelope, lowercase currencies):
v3 (flat):

Webhooks

Same event types fire either way (ONRAMP.CREATED, ONRAMP.STATUS.<STATUS>), but the payload shape depends on which API version created the transaction, not which API version you’re currently calling. Onramps created via POST /v3/onramps get the v3 flat payload shown above. Onramps created via the old POST /v2/onramps continue to deliver a different, older payload shape for their entire lifecycle — creating an onramp in v3 going forward is what gets you the new payload, not simply upgrading your webhook consumer.

Status and lifecycle

Unchanged — v2 and v3 onramps share the exact same status enum and transitions (OPEN_QUOTE, AWAITING_FUNDS, FIAT_PENDING, COMPLETED, etc.).