Convert a Quote

Once you have created a Quote, you can execute it to complete the conversion and create a trackable conversion transaction.

Execution Basics

Quote execution consists of:

  • quote_id: the unique identifier from a previously created quote
  • The quote must be in ACTIVE status and not expired
  • Execution will create a conversion transaction with tracking information
  • You receive a conversion ID to monitor and retrieve the transaction details

⚠️ Important: Once expired, quotes cannot be converted and will return a quote_not_found error.


Endpoint URL

You can execute a Quote by posting to the following URL:

POST https://api.bitso.com/rfq/v1/conversions


Request

Fields

FieldTypeRequiredDescription
quote_idstringYesThe ID of the Quote to be converted

Payload Example

{
  "quote_id": "38af5e7e-2dd0-4af0-a03c-895662a1ea21"
}

Response

Fields

FieldTypeDescription
idstringUnique conversion transaction ID for tracking
sourcestringSource currency (what you're selling)
targetstringTarget currency (what you're buying)
source_amountstringAmount of source currency converted
target_amountstringAmount of target currency received
quote_idstringOriginal quote ID that was executed
ratestringExchange rate applied (including fees)
fee_amountstringTotal fee charged for the conversion
fee_currencystringCurrency in which the fee was charged
statusstringConversion status (COMPLETED, FAILED, etc.)
quoted_atstringWhen the original quote was created (ISO 8601)
created_atstringWhen the conversion was executed (ISO 8601)
updated_atstringLast update timestamp (ISO 8601)

Payload Example

{
  "id": "38af5e7e-2dd0-4af0-a03c-895662a1ea21",
  "source": "USDT",
  "target": "BTC",
  "source_amount": "68206.00",
  "target_amount": "1.0",
  "quote_id": "38af5e7e-2dd0-4af0-a03c-895662a1ea21",
  "rate": "68206.00",
  "fee_amount": "341.03",
  "fee_currency": "USDT",
  "status": "COMPLETED",
  "quoted_at": "2025-08-04T20:50:33Z",
  "created_at": "2024-06-24T14:15:22Z",
  "updated_at": "2024-06-24T14:15:22Z"
}

Error

Responses

Status CodeError CodeError Message
400quote_not_foundQuote ID doesn't exist
400insufficient_fundsNot enough balance to complete conversion
400quote_already_executedQuote was previously executed
400quote_cancelledQuote was cancelled before execution
403forbidden_requestUser not allowed to use RFQ API

Payload Example

{
  "errors": [
    {
      "code": "quote_not_found",
      "message": "Quote with the specified ID was not found."
    }
  ]
}