Skip to main content
Off-ramp is the crypto-to-fiat direction of the ramp primitive. You create a session with a crypto source and a fiat destination — the user opens the hosted widget, Meld debits the wallet and routes the fiat payout, and the resulting transaction appears on /v0/ramp/transactions with transaction_type set to CRYPTO_SELL.

Prerequisites

  • A KYC-verified Sumvin user.
  • A funded wallet holding the crypto you want to sell.
  • A fiat destination Meld can pay out to. In practice this is a bank account linked through Bank linking, matching the user’s country and fiat currency.
Without a linked fiat destination, a quote may return but the session creation will fail or the transaction will stall at the payout step.

Mechanics

Off-ramp uses the same endpoints as buy and sell:
  • GET /v0/ramp/quotes — quote a fiat amount you will receive for a given crypto amount.
  • POST /v0/ramp/sessions — open a hosted widget for the user to authorise and settle.
  • GET /v0/ramp/transactions — poll for settlement. The status lifecycle (pendingprocessingcompleted) is the same as the on-ramp direction.
The on-ramp quickstart walks the full flow with code samples. For off-ramp, swap from_asset and to_asset so crypto is the source and fiat the destination; chain_id stays the same (it always describes the crypto leg). Pass the user’s wallet address as the debit origin.

Payment method coverage

Off-ramp payouts run over bank rails, not card rails. Expect payment_method_type values along the lines of ACH, SEPA, BANK_TRANSFER, or LOCAL_BANK_TRANSFER depending on the user’s country. GET /v0/ramp/quotes is the authoritative live list — filter with payment_method_type to preview what a single rail looks like, or omit it to let Sumvin rank the options. Service provider coverage differs from on-ramp: the set of providers returned by service_provider on a sell quote is typically narrower than on a buy quote. An empty quotes response for an off-ramp pair usually means no provider supports that corridor for the user’s country right now — widen the country or amount and re-quote.

Settlement timing

On-chain debit completes in seconds. Fiat payout timing depends on the rail: ACH typically settles 1–3 business days, SEPA same-day to next-day for euro area, local bank transfers vary by country. The ramp transaction stays in processing until the payout confirms, then moves to completed.
The meld_status field on a transaction mirrors provider-side state while the payout leg runs. Surface it when debugging a transaction that has been processing longer than expected.