Skip to main content
Off-Ramp lets your users sell crypto and receive fiat in a bank account. You integrate it with a reusable off-ramp session: you set it up once against the customer’s destination account, and an off-ramp order is created automatically every time the customer sends crypto to it. For request and response details, follow the endpoint link in each step.
Available payout methods depend on the country. See Countries & payment methods first. In Colombia, Request-to-Pay (R2P) is On-Ramp only and cannot be used for payouts.

Common setup

1

Authenticate

Get an access token with the OAuth2 Client Credentials flow and send it as a Bearer token on every call.Acquire Access Token
2

Create the customer

Register the end user and keep the returned customerId.Create Customer
3

Accept Terms & Conditions

Right after creating the customer, register their acceptance of the active Terms & Conditions. This is a required step before the customer can operate.Terms & Conditions · Accept Terms
4

Verify identity (KYC)

The customer must reach KYC status COMPLETED before operating.Identity verification (KYC)
5

Register and confirm the payout account

Register the user’s destination bank account (their external fiat account) — for example a CBU/CVU/alias in Argentina, a CLABE in Mexico, a PSE/BRE-B account in Colombia, or a PIX key in Brazil. First fetch the required fields, then create the account and confirm it.Validation may be synchronous (usable right away) or asynchronous (it starts in processing and becomes usable once validation returns). It must be enabled before it can receive a payout. Keep its fiatAccountId — the session needs it.
In some countries the payout account is registered against the customer’s deposit account, which then becomes a prerequisite. This is the case in Brazil (PIX): you must create the deposit account first and wait until it is enabled, otherwise registering the payout account returns HTTP 400. See Brazil (PIX).
Retrieve Fiat Account Requirements · Create Fiat Account · Confirm Fiat Account · Create Deposit Account

Set up the off-ramp session

1

Create the off-ramp session

Create a session with the destination fiatAccountId. The response includes the crypto deposit addresses (one per supported network). The session is reusable and does not expire.Create Off-Ramp Session
2

User sends crypto — orders are created automatically

Each time the customer sends crypto to a session deposit address, an off-ramp order is created automatically, a fresh quote is applied, the trade executes and the fiat is paid out. No per-deposit API call is needed.Track each order with Off-Ramp Events or by inspecting the session’s transactions via Retrieve an Off-Ramp Session.

Order lifecycle

Payout account states

Only one account can be active per payment method at a time. See Fiat account lifecycle for the full state model and how to reactivate a suspended account.