Skip to main content

Create off-ramp order (crypto → fiat)

POST 

/offramp

Creates an off-ramp order: the customer sends crypto and receives a bank payout.

There is no separate quote step and the exchange rate is not locked at creation. The payout is priced when the deposit is credited. Until then order.fiat_amount is null.

Pay exactly the returned amount. The returned order.crypto_amount may be up to 1000 base units lower than requested: no two open orders share an amount, so a deposit matches only its own order. Send exactly that amount, as an Arkade transfer, to deposit_crypto_address, then report it with POST /order/{token}/deposit. Use ARK-BTC or USDT-CX: only Arkade transfers are credited.

Destination fields by destination_type:

  • sepa: destination_bank_address (IBAN), destination_bank_name (beneficiary name).
  • swift: destination_bank_address (IBAN), destination_bic, destination_bank_name, and a structured beneficiary address: destination_country (ISO 3166-1 alpha-2), destination_street_name, destination_building_number, destination_town_name, destination_post_code.
  • us: destination_bank_account_number, destination_bank_routing_number (ABA), destination_bank_name (beneficiary name). US payouts are not automated yet: these orders are reviewed and paid out by our team (PENDING_MANUAL) and take longer.

For customers verified with ID-Flow, SEPA payouts go to the IBAN registered in their ID-Flow profile, which takes precedence over the IBAN in the request.

Request​

Body

required
    asset stringrequired

    Possible values: [BTC, ARK-BTC, USDT, USDT-CX, CEXT]

    Crypto asset ticker, e.g. ARK-BTC. See GET /assets.

    fiat_currency stringrequired

    Possible values: [EUR, CHF, USD]

    email emailrequired
    crypto_amount stringrequired

    Amount the customer will send

    destination_type stringrequired

    Possible values: [sepa, swift, us]

    destination_bank_address string

    IBAN — required for sepa/swift

    destination_bank_name string

    Beneficiary name — required for all circuits

    destination_bic string

    Beneficiary bank's BIC/SWIFT code — required for swift

    destination_bank_account_number string

    Required for destination_type=us

    destination_bank_routing_number string

    ABA routing number — required for destination_type=us

    destination_country string

    ISO 3166-1 alpha-2 — required for swift

    destination_street_name string

    Required for swift

    destination_building_number string

    Required for swift

    destination_town_name string

    Required for swift

    destination_post_code string

    Required for swift

    origin string

    Possible values: [api, web, app]

    Default value: api

Responses​

Order created

Schema
    order object
    id string

    Short public token (shown to customer)

    code string

    Human-readable order reference. Quote it when contacting support.

    email string
    direction string

    Possible values: [onramp, offramp]

    asset stringnullable

    Null for gift card purchases — no crypto asset involved

    fiat_currency string
    fiat_amount stringnullable

    Null until settlement for off-ramp orders — see status

    crypto_amount stringnullable

    Null until settlement for on-ramp orders — see status

    status string

    Possible values: [WAITING_FOR_DEPOSIT, DEPOSIT_RECEIVED, PROCESSING, COMPLETED, FAILED, PENDING_MANUAL, REJECTED, EXPIRED, REFUNDED]

    transfer_code string

    Bank payment reference the customer must include in their transfer

    destination_type string

    Possible values: [crypto, sepa, swift, us, gift_card]

    destination_crypto_address stringnullable
    deposit_txid stringnullable

    Off-ramp: the Arkade transaction credited as the deposit

    deposit_iban stringnullable
    deposit_bic stringnullable
    deposit_beneficiary stringnullable
    deposit_bank_name stringnullable
    deposit_payment_type stringnullable
    kyc_verified boolean
    created_at date-time
    expires_at date-timenullable
    completed_at date-timenullable
    deposit_crypto_address stringnullable

    Crypto address the customer must send tokens to

    fee object
    feePct string
    feeFlat string
    feeAmount string
    netAmount string
Loading...