BlendFi
OnrampConcepts

Conversion

Central onramp entity. Represents the operation from quote accept to on-chain settlement. State list.

The conversion is the central entity of the onramp. It exists from the quote accept and traverses the full lifecycle to either on-chain settlement or an alternative terminal outcome. It is the resource you read (GET /v1/conversions/:id) and act on (/cancel).

Why conversion is separate from quote

Quote and conversion answer different questions:

  • Quote answers: "what is the rate now?". A frozen, disposable price with no side effect.
  • Conversion answers: "what operation is in flight, in what state?". The executable operation, with Pix QR, window, limit reservation, and state machine.

Separating them keeps discarded quotes from polluting the history of real operations and keeps the state machine compact.

State diagram

States, one by one

StateMeaningWhat you are waiting forAvailable actions
awaiting_depositConversion created, Pix QR issued, 15-minute window runningThe end customer to pay the Pixcancel
fundedPix payment confirmed within the windowOn-chain settlement to advance automatically(none)
completedUSDT delivered to the destination address. Terminal(terminal)(none)
failedIrrecoverable error after funded. See failure_reason. Terminal(terminal)(none)
expiredWindow passed with no payment. Reserve released. Terminal(terminal)(none)
canceledYou canceled in awaiting_deposit. Reserve released. Terminal(terminal)(none)

Onramp has no standby

Unlike offramp, onramp has no standby, liquidated, or abandoned. Pix is atomic: either the exact amount is paid within the window, or it is not confirmed. No amount divergence to resolve.

Key fields

The conversion exposes (among others):

  • id, quote_id, status, transaction_type (pix_onramp).
  • expected_source_amount (BRL expected), received_amount (BRL actually received).
  • pix_qr_code, pix_tx_id, deposit_window_expires_at.
  • destination_wallet_address, destination_wallet_network.
  • Execution fields populated after settlement: USDT transaction hash, timestamps, failure_reason.

The complete field list lands in the API reference.

Webhooks per transition

TransitionEvent
(creation)awaiting_depositconversion.created
fundedcompletedconversion.completed
fundedfailedconversion.failed
awaiting_depositexpiredconversion.expired
awaiting_depositcanceledconversion.canceled

There is no intermediate webhook for funded. The event of interest is the outcome (completed, failed, expired, canceled).

Next steps

On this page