Skip to main content
Use exchange rates to check whether UQPAY has a current rate for a currency pair before you create a conversion or cross-currency payout. The List Current Rates API returns the latest available rates for one or more currency pairs, plus any requested pairs that are currently unavailable. Exchange rates are useful for discovery, pricing previews, and operational checks. They do not create a quote_id and do not reserve a rate for execution. To execute a conversion or cross-currency payout, create a quote immediately before submitting the transaction.

When to use exchange rates

Call List Current Rates when you need to:
  • Show available FX pairs in your UI.
  • Check whether a currency pair is currently supported before calling Create Quote.
  • Refresh indicative buy and sell prices for treasury or operations teams.
  • Detect unsupported or temporarily unavailable pairs through unavailable_currency_pairs.
  • Run pricing checks for a master account or a sub-account before creating a conversion or payout.
For an executable rate, use Create Quote. The quote response returns a quote_id, the calculated buy_amount or sell_amount, and a validity window.

Exchange rates versus quotes

buy_price and sell_price are for rate previews and currency-pair availability checks only. They are not executable rates and do not lock the final transaction amount. When a customer confirms a conversion or cross-currency payout, call Create Quote and use the returned quote_id and calculated amounts.

Step 1: Query current rates

You can query specific currency pairs or omit currency_pairs to return all available pairs.

Query selected currency pairs

Pass currency_pairs as a comma-separated list. Each pair must be a six-letter uppercase code such as USDEUR or USDJPY. You can request up to 100 pairs.

Query all available rates

Omit currency_pairs when you need the full list of currently available currency pairs.
If you are checking rates for a sub-account, include the sub-account ID in x-on-behalf-of.

Step 2: Read the response

A successful response wraps the result in a data object: available rates in data.rates, unavailable requested pairs in data.unavailable_currency_pairs, and the rate timestamp in data.last_updated.
If a requested pair appears in unavailable_currency_pairs, do not continue to quote creation for that pair. Show a clear message to the user or route the transaction through another supported currency pair.

Step 3: Use rates before creating a quote

Use List Current Rates as a pre-check, then use Create Quote when the user or system is ready to execute. Recommended flow:
  1. Query current rates for the pair you plan to use.
  2. If the pair is unavailable, stop the flow and ask the user to choose another pair.
  3. If the pair is available, show the rate preview or continue to your approval flow.
  4. Immediately before execution, call Create Quote.
  5. Submit Create Conversion or Create Payout with the returned quote_id within the quote validity window.

Sub-account pricing

The endpoint accepts x-on-behalf-of. Use it when you need the rate context for a specific sub-account:
  • For a master account operation, omit x-on-behalf-of.
  • For a sub-account operation, set x-on-behalf-of to the sub-account account_id.
  • Use the same account context when you later call Create Quote and the corresponding create endpoint.
Keeping the same account context avoids mismatches in FX product configuration, currency enablement, and pricing.

Common validation issues