Pairs

Get the minimum and maximum amounts for a single trading pair. Validate user input against these bounds before requesting a quote — quoting outside the range returns a validation_error.

GET/v1/pairs

Query parameters

NameTypeRequiredDescription
fromstringrequiredLowercase payin currency ticker.
tostringrequiredLowercase payout currency ticker.

Example

const res = await fetch(`${BASE}/v1/pairs?from=btc&to=eth`, {
  headers: { 'Authorization': AUTH },
});
const { pair } = await res.json();
console.log(`Min: ${pair.minAmountFloat} BTC, Max: ${pair.maxAmountFloat} BTC`);

Response

{
  "pair": {
    "from": "btc",
    "to": "eth",
    "minAmountFloat": "0.0008",
    "maxAmountFloat": "5.0",
    "minAmountFixed": "0.001",
    "maxAmountFixed": "1.5"
  }
}

Response fields

NameTypeDescription
fromstringEchoed payin ticker.
tostringEchoed payout ticker.
minAmountFloatstringMinimum payin for floating-rate swaps. Decimal string.
maxAmountFloatstringMaximum payin for floating-rate swaps. Decimal string.
minAmountFixedstringMinimum payin for fixed-rate swaps. (Fixed-rate is on the [roadmap](/docs/roadmap).)
maxAmountFixedstringMaximum payin for fixed-rate swaps.

Notes

  • Limits change with market conditions; refresh before showing them in your UI.
  • For v1 you'll typically use the *Float fields. The *Fixed fields are returned for forward-compat — fixed-rate swap creation isn't enabled yet.
  • Listing all enabled pairs in one call is on the roadmap. Today you must query pairs individually.

Errors

TypeWhen
validation_errorfrom or to missing/invalid
not_foundThe pair doesn't exist or is temporarily disabled
unauthenticatedMissing/invalid Authorization header
rate_limitedOver 30 RPS
upstream_errorOur liquidity layer returned an error