The FX Engine provides two ways to get exchange rate information, each serving a different
purpose:
Tool
Endpoint
Rate locked?
Executable?
Use case
Indicative rate
GET /fx/rates/indicative
No
No
Display current rate in a UI, estimate costs, informational pricing
FX quote
POST /fx/quotes
Yes (60 seconds)
Yes
Lock a rate before executing a conversion or cross-currency payment
Indicative rates are free look-ups with no commitment. FX quotes lock a rate and are
intended to be consumed by a conversion or payment shortly after creation.
Use GET /fx/rates/indicative to fetch the current market rate for a asset pair. This
rate is informational only — it is not locked, cannot be referenced in a conversion,
and may change by the time you execute.
Indicative rates are snapshots of the current market. They can change at any time and
cannot be used as a quoteId in a conversion or payment. If you need a guaranteed rate,
create an FX quote instead.
Use POST /fx/quotes to lock an exchange rate for 60 seconds. The returned quote can
then be used to execute a conversion (POST /fx/conversions) or a cross-currency payment
(POST /payments with executionPreference: use_quote).
Rate is locked and available for use. Execute before expiresAt.
No
expired
The 60-second hold period elapsed without the quote being used.
Yes
consumed
The quote was used in a conversion or payment.
Yes
Quotes expire after approximately 60 seconds. The holdSeconds value is determined by
the server and returned in the response — do not hardcode it. Create your quote as close
to execution time as possible to avoid expiration.
You can check a quote’s current status at any time by calling
GET /fx/quotes/{quoteId}. This is useful for confirming a quote is still active
before executing.
OpenFX has two types of quotes that serve different purposes. Do not confuse them:
FX Quote
Payment Quote
Endpoint
POST /fx/quotes
POST /payments/quotes
ID prefix
qte_
pqt_
Purpose
Lock rate for standalone conversion or payment FX component
Lock full payment pricing (FX + fees + total cost)
Use with
POST /fx/conversions or POST /payments
POST /payments
Includes fees?
No
Yes
Includes delivery estimate?
No
Yes
Rule of thumb: Use FX quotes when doing standalone balance conversions. Use
payment quotes when you want a complete price guarantee for an outbound payment
including fees and delivery timing.