Skip to content
Last updated

Off-Ramp Overview

For the complete documentation index, see llms.txt. Append .md to any page URL for its markdown version.

Off-ramp refers to the process of converting cryptocurrency into fiat currency. The customer sends crypto to Banxa, and Banxa delivers the fiat payout to the customer's bank account or payment method.


How it works

Customer initiates sell

GET /v2/quotes/sell
Fetch live quote

POST /v2/sell
Create order → checkoutUrl

Redirect or embed checkoutUrl

Customer completes checkout
KYC + payout details

Banxa issues a deposit address

Crypto sent to Banxa
by customer or your platform

Banxa confirms the deposit
and pays out the fiat

Webhook: order status updates

Customer initiates sell

GET /v2/quotes/sell
Fetch live quote

POST /v2/sell
Create order → checkoutUrl

Redirect or embed checkoutUrl

Customer completes checkout
KYC + payout details

Banxa issues a deposit address

Crypto sent to Banxa
by customer or your platform

Banxa confirms the deposit
and pays out the fiat

Webhook: order status updates

  1. Your customer selects the crypto they want to sell and the amount.
  2. They provide their bank account or payout details.
  3. They complete identity verification (KYC) if required.
  4. The crypto is transferred to Banxa's receiving wallet — either by the customer (non-custodial) or by your platform (custodial).
  5. Banxa verifies receipt of the crypto and releases the fiat payout to the customer.

Custodial vs. non-custodial

The sell flow has two variants depending on how the crypto transfer is executed:

Non-custodialCustodial
Who transfers the cryptoCustomer, or your wallet app on their behalfYour platform
HowDepends on the flow configured for your account: QR code, MetaMask, a redirect back to your wallet app (Native Wallet), or a WebView bridgeYour platform executes the transfer, then confirms it via POST /v2/orders/{orderId}/confirm
Typical use caseConsumer walletsExchange or custodial wallet products

→ See Custodial vs. Non-Custodial for implementation details.


Supported payout methods

Banxa pays out sell orders by bank transfer, and by card payout in selected European countries. Supported payout methods include NPP Direct Entry (AUD), SEPA (EUR), Interac (CAD), ACH (USD), Faster Payments (GBP), and card payouts (EUR).

→ See Supported Payment Methods for method IDs and regions.

You can also check the methods available for a given fiat currency at runtime:

GET /{partnerRef}/v2/payment-methods/sell

Supported currencies and crypto

Retrieve the lists for sell from the API. Pass sell as the order type; without it these endpoints return buy data.

GET /{partnerRef}/v2/fiats/sell   → fiat currencies, with payout method limits
GET /{partnerRef}/v2/crypto/sell  → cryptocurrencies and blockchains accepted for sell
GET /{partnerRef}/v2/countries    → supported countries (same for buy and sell)

Off-ramp configuration

Off-ramp must be enabled and configured for your partner account before you can create sell orders. Contact Banxa to:

  • Enable off-ramp for your account.
  • Choose your fulfilment flow (custodial, or a non-custodial flow such as QR code or Native Wallet).
  • Configure supported crypto assets and payout methods.

Expiry and incorrect deposits

Each sell order has a deposit window. The crypto must arrive with the exact amount, on the right network and with the memo (if any) before the window closes.

SituationWhat happens
Order created but checkout never submittedThe order expires, by default after 20 minutes.
Deposit windowSet per payout method, typically 60 minutes plus a short buffer.
Deposit seen on-chain but not yet confirmed when the window closesThe order is not expired; Banxa waits for confirmation.
Exact amount receivedConfirmed automatically; the payout continues.
UnderpaidThe deposit window is extended once and the order returns to waiting for the deposit, so the customer can top up. If it is still short, Banxa Support handles it manually.
OverpaidBanxa Support handles it manually.
Wrong asset or wrong networkNot handled automatically. Contact Banxa Support.
Missing memo or tagThe deposit can't be matched automatically. Contact Banxa Support.
Deposit after the order expiredContact Banxa Support.

These cases can't be resolved through the API. Contact Banxa Support with the order ID and transaction hash. Crypto that arrives after a sell order has expired is not picked up automatically. → See Order Statuses.

Sell refunds are handled manually by Banxa Support. → See Refunds and Chargebacks.


Integration

→ API Integration: Create Sell Order → Referral Integration: sell links → Buy vs. sell: what changes from the on-ramp