BlendFi
OfframpOperations

Accepting the quote

POST /v1/quotes/:id/accept. Creates the conversion, issues the deposit address, opens the 15-minute window.

Accepting the quote is the point at which the offramp stops being a disposable quote and becomes an operation. The call is idempotent via the Idempotency-Key header.

What the call does

POST /v1/quotes/:id/accept

In a single atomic transaction:

  1. Marks the quote as consumed and links it to the conversion created.
  2. Creates the conversion in awaiting_deposit.
  3. Issues the USDT deposit address, exclusive to this conversion.
  4. Reserves the operation limit against the end customer at expected_source_amount.
  5. Opens the 15-minute deposit window, counted from accept.
  6. Snapshots your organization's current fee configuration onto the conversion. Future renegotiations do not affect this operation.
  7. Fires the conversion.created webhook.

What comes back

The response carries the full conversion: id, status='awaiting_deposit', quote_id, expected_source_amount, deposit_address, deposit_address_network, deposit_window_expires_at, and the fee snapshot fields. Exact fields land in the API reference once published.

The 15-minute window starts here

deposit_window_expires_at = accept + 15 minutes. That is the interval in which a deposit at the exact amount takes the conversion straight to funded. A deposit after the deadline, with received_amount > 0, takes the conversion to standby with standby_reason='window_expired'.

Narrative errors

The call fails in some predictable scenarios. Exact codes land in the API reference.

  • Expired quote (expires_at in the past): validation error. Create a new quote.
  • Quote already consumed (you already accepted this quote, or another call took the window): conflict error. Check consumed_by_conversion_id returned in GET /v1/quotes/:id and use the existing conversion.
  • End customer has another open offramp conversion: lock error. See Per-user, per-type lock for handling.
  • Limit exceeded for the end customer: validation error. The reserve is not made; the conversion is not created.

Reference coming soon

Detailed response and error documentation will appear here alongside API availability. For the conceptual design, see Conversion.

Next step

On this page