> ## Documentation Index
> Fetch the complete documentation index at: https://docs.liquidramp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quotes

> How rate preview and reserved quotes work before order creation.

A **quote** previews exchange rate, fees, and deliverable amounts before you commit an order.

## Endpoints

| Endpoint                | Purpose                                               |
| ----------------------- | ----------------------------------------------------- |
| `GET /v1/exchange-rate` | Rate preview (does not reserve). Public key accepted. |
| `POST /v1/orders/quote` | Reserved quote with a `quote_id` for order creation   |

## Inferring flow type

Quote requests do not include a `type` field. The API derives it from the legs:

| `from`                 | `to`                            | Inferred type |
| ---------------------- | ------------------------------- | ------------- |
| Fiat (`currency` only) | Crypto (`currency` + `network`) | `onramp`      |
| Crypto                 | Fiat                            | `offramp`     |
| Crypto                 | Crypto (same network)           | `swap`        |

Cross-network swaps are rejected.

## Amount rules

Exactly **one** of `from.amount` or `to.amount` must be provided. The other side is calculated.

## Quote result

A successful reserved quote returns:

```json theme={null}
{
  "quote_id": "550e8400-e29b-41d4-a716-446655440000",
  "type": "onramp",
  "from": { "currency": "NGN", "amount": 50000 },
  "to": { "currency": "USDT", "network": "BSC", "amount": 32.15 },
  "pricing": {
    "base_currency": "NGN",
    "quote_currency": "USDT",
    "exchange_rate": 1555.2
  },
  "fee": {
    "currency": "USDT",
    "protocol_fee": 0.3,
    "partner_fee": 0,
    "total": 0.5
  },
  "ttl_in_seconds": 60,
  "timestamp": "2026-06-27T12:00:00.000Z"
}
```

`fee` is omitted when the fee is already included in `pricing.exchange_rate`. When no provider can fulfil the corridor, the API may return a suggestion with an alternate amount instead of a quote.

## Reservation

`POST /v1/orders/quote` always reserves. Pass the returned `quote_id` to `POST /v1/orders` to lock pricing. Create the order before `ttl_in_seconds` elapses; re-quote if the user delays.

## Related

* [Exchange rates](/concepts/exchange-rates)
* [Orders](/concepts/orders)
* [Onramp quickstart](/quickstarts/onramp)
