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:
- A valid Adesic API key .
- 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/quoteendpoint. - Provide market + quantity (recommended) or explicit source/destination orders.
- Receive back USD price, fees, and computed destination quantity.
- Use the
⚠️ 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
| Name | Type | Description |
|---|---|---|
| apiKey* | string | Your 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 Name | Type | Description |
|---|---|---|
| transaction* | object | Transaction details used to generate the quote. |
| transaction.paymentRail* | string | How the fiat-side of the transaction will be settled. |
| transaction.sourceOrder* | object | Information about where you are sending the currency from. |
| transaction.destinationOrder* | object | Information 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 Name | Type | Description |
|---|---|---|
| walletId* | string | The user’s wallet ID associated with the order. |
| blockchain* | string | Blockchain used for the order. |
| currency* | string | Currency of the order. |
| quantity* | string | Quantity of the currency in the order. |
| bankAccountId* | string | The user’s bank ID which the fiat will be sent or received. |
201: Created Success
{
"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.quantity— stringified decimaldestinationOrder.currency— asset you’re receiving (e.g.,USD)destinationOrder.quantity— stringified decimal, net after feespriceUsd— gross USD value of the source order (spot * source qty)feeUsd— total fees in USD (typicallypriceUsd * feeRate)
For USDC→USD off-ramp, destinationOrder.quantity ≈ priceUsd - feeUsd.
Validation & Notes
- Numbers are strings (
"100.00") to avoid float precision issues. marketmust be a supported pair (BASE-QUOTE).quantitymust 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 Name | Data Type | Description |
|---|---|---|
| id | string | Unique identifier for the transaction. |
| type | string | Type of transaction (OFF_RAMP, ON_RAMP). |
| createdAt | string | Timestamp indicating when the transaction was created. |
| completedAt | string | Timestamp indicating when the transaction was completed. |
| updatedAt | string | Timestamp indicating when the transaction was last updated |
| sellOrder | object | Information about the sell order. |
| buyOrder | object | Information about the buy order. |
| id | string | Unique identifier for the order. |
| bankAccountId | string | ID of the bank account associated with the order. |
| blockchain | string | Blockchain used for the order. |
| createdAt | string | Timestamp indicating when the order was created. |
| currency | string | Currency to be sold or bought. |
| feeUsd | string | Fee in USD for the order. |
| priceUsd | string | Price in USD for the order. |
| quantity | string | Quantity of the currency to be bought or sold. |
| updatedAt | string | Timestamp indicating when the order was last updated. |
| walletId | string | ID of the wallet associated with the order. |