Lock a fixed FX rate for a specific time window and use it in on/off-ramp transactions.
exchangeRateId
and expiresAt
. Use this ID to execute the on/off-ramp before it expires; attempts after expiry will be rejected.
Request a locked rate
Receive the rate ID
exchangeRateId
plus expiresAt
(UTC).Execute before expiry
exchangeRateId
.Complete the transaction
/exchange-rates
with "type": "locked"
.partnerFeeId
to bake partner fees into the rate.
Parameter | Type | Required | Description |
---|---|---|---|
type | string | Yes | Must be "locked" . |
sourceCurrency | string | Yes | Currency code to convert from (e.g., BRL , USDC , USDT ). |
sourceAmount | string | Yes | Amount in sourceCurrency (string for decimal precision). |
targetCurrency | string | Yes | Currency code to convert to (e.g., USDC , BRL , USDT ). |
targetAmount | string | Yes | Desired amount in the targetCurrency . |
timeLock | string | No | Quote validity window: 30s , 1m , or 5m . Default: 30s . |
partnerFeeId | string | No | UUID of the partner fee to apply. If omitted and a default exists, that fee will be used. |
Field | Description |
---|---|
id | The exchangeRateId to use when executing the transaction. |
type | Exchange rate type (locked ). |
expiresAt | UTC timestamp when the locked quote expires. |
sourceCurrency | Currency being converted from. |
sourceAmount | Amount in source currency. |
targetCurrency | Currency being converted to. |
baseTargetAmount | Target amount before fees. |
baseExchangeRate | Base FX before fees. |
fees | Breakdown of Lumx and partner fees (rate in bps). |
finalTargetAmount | Target amount after fees (guaranteed for the lock window). |
finalExchangeRate | Effective rate including fees. |
30s
— 30 seconds (default)1m
— 1 minute5m
— 5 minutesexchangeRateId
when creating the transaction. You do not need to include currencies/amounts again; they are derived from the locked quote.
expiresAt
.