Skip to Content
APIsQuotes

Quotes

The Quotes API allows you to generate firm conversion quotes before posting a transaction.

Quotes simulate a transaction (on-ramp, off-ramp, or crypto-to-crypto) and return gross price, fee amounts, and net settlement amounts. Unlike the Transactions API, the Quotes API does not move funds and does not create an order.

Pre-Requisites

Before you can request quotes, you need:

  1. A valid Adesic API key .
  2. Registered wallets or bank accounts for realistic quotes.

Wallet and bank account IDs are not required for quotes, but recommended for testing your actual workflow.

Introduction

Getting a quote is simple:

  • Create Quote (POST):
    • Use the /v2/transactions/quote endpoint.
    • Provide market + quantity (recommended) or explicit source/destination orders.
    • Receive back USD price, fees, and computed destination quantity.

⚠️ Quotes expire quickly and should not be cached for long-term use. Always request a fresh quote before creating a transaction.

Quotes API Endpoints

Post Quote

POSThttps://api.adesic.com/v2/transactions/quote

Returns a 201 Created status with the calculated quote. Generate a firm quote for converting from a source asset to a destination asset (e.g., crypto→USD for off-ramp).

The response includes gross price, fees, and net destination amount so you can show users exactly what they’ll receive before execution.

Headers

NameTypeDescription
apiKey*stringYour Adesic API key

Request Body

The quote request body contains a top-level transaction object. The transaction object contains the three fields in the following table. The next level contains the information inside the transaction.sourceOrder and transaction.destinationOrder objects.

Field NameTypeDescription
transaction*objectTransaction details used to generate the quote.
transaction.paymentRail*stringHow the fiat-side of the transaction will be settled.
transaction.sourceOrder*objectInformation about where you are sending the currency from.
transaction.destinationOrder*objectInformation about where you are sending the currency to.

The transaction.sourceOrder and transaction.destinationOrder objects are identical in structure. It is worth noting that not all fields are required for each destination and source order. However, a combination of all fields are required amongst the entire transaction. Please reference transaction customization for more information. The fields for source and destination order request objects are outlined below.

Order Field NameTypeDescription
walletId*stringThe user’s wallet ID associated with the order.
blockchain*stringBlockchain used for the order.
currency*stringCurrency of the order.
quantity*stringQuantity of the currency in the order.
bankAccountId*stringThe user’s bank ID which the fiat will be sent or received.
{ "id": "txn-123456815", "type": "OFF_RAMP", "createdAt": "2025-02-02T01:40:48.492", "completedAt": null, "updatedAt": "2025-02-02T01:40:48.487", "feeUsd": "0.5", "priceUsd": "50", "sourceOrder": { "bankAccountId": null, "blockchain": "ethereum", "currency": "USDC", "quantity": "50", "walletId": "wal-123456790" }, "destinationOrder": { "bankAccountId": "bac-123456788", "blockchain": null, "currency": "USD", "quantity": "49.5", "walletId": null, "walletAddress": "0x065149eab6eFa05F4639Da6305B58C91BD92d456" } }

Field meanings

  • sourceOrder.currency — asset you’re selling (e.g., USDC, BTC)
  • sourceOrder.quantitystringified decimal
  • destinationOrder.currency — asset you’re receiving (e.g., USD)
  • destinationOrder.quantitystringified decimal, net after fees
  • priceUsd — gross USD value of the source order (spot * source qty)
  • feeUsd — total fees in USD (typically priceUsd * feeRate)

For USDC→USD off-ramp, destinationOrder.quantity ≈ priceUsd - feeUsd.

Validation & Notes

  • Numbers are strings ("100.00") to avoid float precision issues.
  • market must be a supported pair (BASE-QUOTE).
  • quantity must be a positive decimal within your account’s limits.
  • Quotes incorporate current spot pricing and your fee rate at request time.
  • This endpoint does not move funds—use the returned values to present pricing before creating a transaction.

Quotes Response Attributes

Attribute NameData TypeDescription
idstringUnique identifier for the transaction.
typestringType of transaction (OFF_RAMP, ON_RAMP).
createdAtstringTimestamp indicating when the transaction was created.
completedAtstringTimestamp indicating when the transaction was completed.
updatedAtstringTimestamp indicating when the transaction was last updated
sellOrderobjectInformation about the sell order.
buyOrderobjectInformation about the buy order.
idstringUnique identifier for the order.
bankAccountIdstringID of the bank account associated with the order.
blockchainstringBlockchain used for the order.
createdAtstringTimestamp indicating when the order was created.
currencystringCurrency to be sold or bought.
feeUsdstringFee in USD for the order.
priceUsdstringPrice in USD for the order.
quantitystringQuantity of the currency to be bought or sold.
updatedAtstringTimestamp indicating when the order was last updated.
walletIdstringID of the wallet associated with the order.

© Adesic LLC. All Rights Reserved