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

# Get a quote

> Price an onramp or offramp and hold the price for a short time.

Requires the **Quotes** scope (write). See [Get a quote](https://docs.bridge.linkio.world/flows/quotes.md) for a walkthrough.

## Headers

**API-Version** `string` *required* (default: 2026-10-29-atlas)

Your account's API version.

## Body

**customer\_id** `string` *required*

The customer, starting with `cus_`.

**transaction\_type** `string` *required*

`onramp` or `offramp`.

**source\_amount** `string` *required*

How much the customer sends, as text, for example `"150000"`. No more decimal places than the currency allows.

**source\_currency** `string` *required*

Onramp: a fiat currency, for example `NGN` or `GHS`. Offramp: a stablecoin, for example `USDC`. See [Supported currencies](https://docs.bridge.linkio.world/before-you-build/currencies.md).

**target\_currency** `string` *required*

Onramp: a stablecoin, for example `USDC`. Offramp: a fiat currency, for example `NGN` or `GHS`. Must differ from `source_currency`.

**network** `string` *required*

`base`, `polygon`, `bsc`, `ethereum`, `tron`, or `solana`.

**payment\_method** `string`

**Onramp only, required there.**`bank_transfer` or `momo`, depending on the currency (for example `bank_transfer` for NGN, `momo` for GHS). Don't send it on an offramp.

**payout\_method** `string`

**Offramp only.**`bank_transfer` or `momo`, depending on the currency (for example `momo` is available for GHS). Defaults to `bank_transfer`. Don't send it on an onramp.

## Response

`201 Created`

**status** `string`

`success`

**message** `string`

`Quote generated`

**quote** `object`

**fields**

**id** `string`

Quote ID, starting with `qte_`.

**source\_amount** `string`

Amount the customer sends.

**source\_currency** `string`

Currency the customer sends.

**target\_amount** `string`

Amount the customer receives.

**target\_currency** `string`

Currency the customer receives.

**payment\_method** `string`

How the customer pays in. `stablecoin` on offramps.

**payout\_method** `string`

How the customer is paid. `stablecoin` on onramps.

**network** `string`

The blockchain network.

**transaction\_type** `string`

`onramp` or `offramp`.

**rate** `string`

Fiat per 1 stablecoin.

**expires\_at** `string`

When the price expires (ISO 8601).

**processor\_fee** `string`

Sometimes included. A processing fee.

**vat** `string`

Sometimes included. VAT on the fee.

**amount\_expected** `string`

Sometimes included. The exact total the customer must send.

## Errors

| Status | Code | Why |
| - | - | - |
| `422` | `validation_failed` | A field is wrong, the currency or method isn't supported, or the amount has too many decimal places. |
| `422` | `invalid_amount` | Below the minimum or above the maximum. See [Limits](https://docs.bridge.linkio.world/before-you-build/limits.md). |
| `403` | `pair_not_enabled` | The pair isn't turned on for your business. |
| `404` | `customer_not_found` | No such customer. |
| `409` | `customer_banned` | The customer is banned. |
| `503` | `route_temporarily_unavailable` | No partner can price this right now. |
| `504` | `request_timeout` | A partner took too long. |

```bash Onramp theme={null}
curl -X POST https://sandbox.core.linkio.world/api/quotes/generate \
  -H "X-BRIDGE-API-Key: $BRIDGE_API_KEY" \
  -H "API-Version: 2026-10-29-atlas" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "cus_4hT9pL2mQx8VnR3tY7wZ1cB5dE",
    "transaction_type": "onramp",
    "source_amount": "150000",
    "source_currency": "NGN",
    "target_currency": "USDC",
    "payment_method": "bank_transfer",
    "network": "solana"
  }'
```

```bash Offramp theme={null}
curl -X POST https://sandbox.core.linkio.world/api/quotes/generate \
  -H "X-BRIDGE-API-Key: $BRIDGE_API_KEY" \
  -H "API-Version: 2026-10-29-atlas" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "cus_4hT9pL2mQx8VnR3tY7wZ1cB5dE",
    "transaction_type": "offramp",
    "source_amount": "100",
    "source_currency": "USDC",
    "target_currency": "GHS",
    "payout_method": "momo",
    "network": "base"
  }'
```

```json 201 theme={null}
{
  "status": "success",
  "message": "Quote generated",
  "quote": {
    "id": "qte_9xLp3VnR7tY1wZ4cB6dE8fK2mQ",
    "source_amount": "150000",
    "source_currency": "NGN",
    "target_amount": "97.71",
    "target_currency": "USDC",
    "payment_method": "bank_transfer",
    "payout_method": "stablecoin",
    "network": "solana",
    "transaction_type": "onramp",
    "rate": "1535",
    "expires_at": "2026-10-28T10:15:20.000Z"
  }
}
```

```json 422 theme={null}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_amount",
    "message": "Invalid amount 1000 NGN: minimum is 15000",
    "request_id": "req_3VnR7tY1wZ4cB6dE8fK2mQ9xLp",
    "status": 422
  }
}
```

```json 403 theme={null}
{
  "error": {
    "type": "authorization_error",
    "code": "pair_not_enabled",
    "message": "The USDC/NGN pair is not enabled for this business. Contact support to enable it before creating onramp transactions.",
    "request_id": "req_3VnR7tY1wZ4cB6dE8fK2mQ9xLp",
    "status": 403
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.