Explainers

How Long Does a Payment Quote Last? What the Window Means

A payment quote lasts for a set window, then its price expires. How long locked and floating quotes hold, what a longer lock costs and what follows expiry.

Caio Barbosa

Founder & CO-CEO

Forbes Under 30. One of the leading voices in Fintech & Crypto in Brazil. Writes weekly about stablecoins, payments, and the future of financial infrastructure in Latin America.

Cover image for Lumx blog article: How Long Does a Payment Quote Last? What the Window Means
Cover image for Lumx blog article: How Long Does a Payment Quote Last? What the Window Means

A payment quote is a price held until its expiry time. The window runs from 30 seconds on Lumx to 24 hours on Stripe's preview API. Inside it, a locked quote holds the rate and amounts; after, the price is void. A floating rate has no window and no promise, so it can move before the money does.

Best for: payments and product teams that show a customer an amount before a cross-border payment runs, and need to know how much time that amount is good for.

The window decides who carries the market movement between the moment a number is shown and the moment money moves. How stablecoin payout pricing works covers how a margin is built; this post stays on time.

How long does each kind of quote last?

Three designs are in use, and they answer "how long" differently.

Quote designs and what each one holds.

Quote design

What it promises

Window

What it costs

Floating rate

A real-time reference, no price lock

None. The rate at execution can differ

No fee

Locked quote, short window

The exact rate, and the amounts, until an expiry time

Seconds to minutes (Lumx: 30 seconds to 5 minutes)

No fee at 30 seconds on Lumx

Locked quote, long window

The same promise for longer

Up to 24 hours (Stripe's preview API)

A premium that grows with the window

A refreshing estimate looks like a window, but settlement still follows the latest rate. The test: does the provider return the receiver's exact amount and an expiry time? If so, the quote is locked.

Windows differ because each provider takes a different risk. A locked quote is a promise to trade at a fixed price while the market keeps moving, and the provider is the one left holding the rate risk until you execute. That promise behaves like a short option, and options cost more the longer they run. Stripe's premium grows with the window, and Lumx charges a fee on every lock longer than 30 seconds.

On Lumx, a locked rate can be held for 30 seconds, 1 minute or 5 minutes. The 30-second lock has no fee, and the longer ones include a fee that covers volatility.

The rate fixes when the quote is created

A locked quote starts counting when it is issued, not when the customer decides, and the clock runs whether or not anyone is looking at the screen.

With a confirmation step, the window includes your own latency: fetch, render, reading time and the submit.

The quote is tied to what was asked: the customer, the rail, both currencies and an amount on one side. Each quote backs one transaction, so a retry after a success needs a new quote.

The stage after submission is where the promise matters. A locked quote settles at the quoted rate, so the conversion step, which takes a short time on its own, does not reprice. A floating payment prices at execution, so the amount shown on screen and the amount that lands can differ by whatever the market did in between.

On Lumx, the exchange rates response returns the quote's id and its expiresAt in UTC, and that id goes on the transaction request as exchangeRateId.

Where the exposure sits between quote and delivery

A quote covers only part of a cross-border payment. The table follows an off-ramp (stablecoin to local currency) and an on-ramp (local currency to stablecoin) on Lumx.

Where a locked quote holds and where it does not, by step.

Step

Off-ramp

On-ramp

Quote created

Rate and fees fixed until the expiry time

Same

Payment submitted with the quote id

Starts with the stablecoin transfer

Starts by waiting for the deposit

Funding

The customer's own stablecoin balance in their wallet is the source

The payer sends local currency, and the payment window equals the quote's expiry. The fiat transfer follows once the deposit lands

Conversion

At the quoted rate

At the quoted rate

Delivery

Fiat transfer, then success

Stablecoin transfer, then success

On an off-ramp, the quote protects the conversion, and the funding is already in the customer's wallet, so there is no waiting for money to arrive. On an on-ramp, the quote has to outlast the payer: the transaction waits for the deposit, and the deposit has to land inside the quote's window. A payer who pays a Pix (Brazil's instant payment system, run by the Central Bank) request inside a 5-minute lock is covered. A payer who opens the banking app tomorrow is not.

A lock does not cover the weeks between an invoice date and a payment date, and it does not turn a payment into a hedge. Cutting that exposure with matched flows is in a natural FX hedge, and the market structure behind the rate is in how stablecoin FX liquidity is changing. A locked quote protects minutes.

Who carries the gap, and when is a locked quote the wrong tool?

The lock covers the conversion. If the quote is valid when the transaction is submitted, the conversion settles at the quoted rate, and if it is not, the request is refused and a new quote starts the cycle again. Once the customer has accepted inside the window, nothing in the documented flow reprices the rate. A trade can still fail for no liquidity available or an insolvent trade. The customer also holds a free option: the quote is theirs to use or let lapse, which is why short locks are cheaper. What the lock does not cover is delivery, a payment whose amount is not known yet, or exposure measured in weeks. For that last gap the tool is a treasury policy or a hedging instrument from your bank or FX broker.

How a client handles those failures is in indicative versus binding quotes.

How long until the money lands after the quote?

A locked rate fixes the conversion, not the delivery, which follows the rail.

Delivery time by rail, from the Lumx payment rail cut-off page.

Rail

Cut-off

Settlement

Pix, SPEI, Faster Payments

None

Instant, 24/7

Fedwire (USD)

3:00 PM ET

Same business day, typically within hours

SWIFT (USD)

3:00 PM ET

1 to 5 business days

A request after a cut-off, on a weekend or on a bank holiday waits for the next business day. An off-ramp triggered at 4:00 PM in São Paulo lands well after Fedwire's 3:00 PM ET cut-off, and none of that wait is repriced, because the conversion already happened at the quoted rate.

On Lumx, these are processing targets, not guarantees, and an off-ramp counts as complete once funds leave the banking partner.

What a longer lock costs

A lock costs money because it is the provider's risk, priced. Stripe's FX Quotes API publishes the premium by duration. For its Group 2 currencies, which include BRL, MXN and COP, it is 0.12% for 5 minutes, 0.15% for 1 hour and 0.30% for 24 hours.

Stripe's published lock premium for Group 2 currencies, as of November 1, 2026, with the added cost on USD 10,000.

Lock duration

Premium

Added cost on USD 10,000

5 minutes

0.12%

USD 12.00

1 hour

0.15%

USD 15.00

24 hours

0.30%

USD 30.00

Going from 5 minutes to a day multiplies the price of certainty by 2.5, and a customer who confirms within a minute used none of it. Stripe also states that an extended quote for payments is invalidated if the rate moves more than 3.5%, and one for transfers if it moves more than 1%, so even a long lock has a limit.

On Lumx, the fee is part of the quote: the response lists the base rate and the final rate, with fee lines for Lumx and for any partner fee the platform adds, so the cost of the window is known before the payment is submitted.

What happens when a quote expires

A quote that expires is simply invalid. Nothing is charged and nothing settles. Request a new quote, which comes back with a new exchangeRateId, show the new amounts and ask for confirmation again. A locked quote that is never used has no side effect today: nothing is held back against your limits or liquidity.

There are two ways to arrive at an expired quote. The first is submitting the payment after the expiry time, which the API refuses with an error. The second is an on-ramp where the payment was created inside the window but the payer sent the money after it.

A transaction held in an RFI (a request for information from compliance) is the exception. It still settles at the quoted rate after the lock expires, because the fiat leg was already converted at the agreed rate.

For floating rates the payment window is different, because there is no lock to match. A floating on-ramp over Pix or SPEI (Mexico's interbank transfer system, run by Banxico) expires after 1 day, and one on other rails after 7 days.

I would size the lock to the slowest human step in the flow, which is 30 seconds or 1 minute for a confirm tap and 5 minutes for an on-ramp where the payer pays from a bank app, and I would not stretch it to cover an approval. If a person signs off on a payout, I would approve the parameters first, request the quote when they press confirm, and show the amount from that response. A longer lock charges for its time on every payout, including the ones confirmed in ten seconds, and it still runs out on the day the approver is slow.

A catalog price in reais that stays on screen for a day cannot hold a 5-minute lock, so show a floating estimate and request a locked quote when the customer commits.

On Lumx, a deposit that lands after the on-ramp expired is not processed. It is refunded to the original sender on the same rail it arrived on, and a new on-ramp starts if the customer still wants to convert.

A worked example: what a re-quote can change

A platform collects 59,255.50 BRL by Pix and converts it to USDC. The quote is the sample request and response in the Lumx exchange rates documentation: a final rate of 5.9386 reais per USDC and a final target amount of 9,978 USDC. The 0.3% move afterwards is an assumption, not a forecast.

Illustrative on-ramp of 59,255.50 BRL to USDC, with an assumed 0.3% move against the customer before a new quote is requested.

Step

Calculation

Result

Customer was shown

59,255.50 / 5.9386

9,978 USDC

Rate on the new quote after an assumed 0.3% move

5.9386 x 1.003

5.9564

New quote returns

59,255.50 / 5.9564

about 9,948 USDC

Gap against the amount shown

9,978 minus 9,948

about 30 USDC

The expiry itself costs nothing. The cost is the gap between the amount the customer was shown and the amount the new quote returns, which is the whole cost of the window in this example. The 0.3% is a round number picked for the arithmetic.

What a locked quote looks like on Lumx

Lumx is stablecoin payments infrastructure for businesses that move money between Latin America and the rest of the world: one API to collect, hold, convert, and pay out in BRL, MXN, COP, USD, EUR, and GBP or in USDC and USDT, over local rails such as PIX, SPEI, PSE, Bre-B, ACH, FEDWIRE, SEPA, and Faster Payments, with SWIFT and on-behalf-of payments and collections (POBO and COBO) in USD, EUR, and GBP, plus named virtual accounts, custodial wallets, and KYB/KYC built in.

A quote is a request to the exchange rates endpoint with the customer, the rail, the two currencies, a source or target amount, and a time lock of 30 seconds, 1 minute or 5 minutes. The response returns an id, an expiry time in UTC, the base and final rates, the final target amount and the fee lines. Show the final target amount, and if the customer confirms before the expiry time, pass the id on the off-ramp or on-ramp request. A platform's partner fee, if it charges one, is attached when it requests the quote and becomes part of the locked price.

Expiry, reuse and a currency mismatch each come back as an explicit error, and all three are answered with a new quote. Webhooks report each status change.

Pricing is a monthly platform fee plus usage-based per-transaction fees, transparent FX on locked quotes, no pre-funding; no published plans. No pre-funding means no capital parked in settlement accounts before a payment, because conversion and settlement happen when the transaction starts. On an off-ramp, the payout draws on the stablecoin balance already in the customer's wallet.

A named virtual account does not get a locked quote on deposits: its autoconversion rule always converts at market, and a locked quote applies to a standalone on-ramp or off-ramp.

The two legs of the corridor are on the USDC to BRL and BRL to USDC pages, and the flow end to end is on global payments. The account that receives a deposit is in what a named virtual account is and on the named virtual accounts page.

The stages around the quote are in what an off-ramp is, what an on-ramp is and sending USDC to a Brazilian bank. Live rails are on the Lumx coverage page and the operator map.

Methodology and sources

Product behavior was read from the Lumx documentation on November 1, 2026: exchange rates, transactions (lifecycle and payment expiration), the exchange rate API reference, error codes, partner fees, wallets and payment rail cut-off times. The worked example uses the sample request and response from the exchange rates page (59,255.50 BRL, final rate 5.9386, final target amount 9,978 USDC). The 0.3% movement is an assumption, and no live Lumx quote was pulled for this post. The 30-second to 24-hour range in the lede rests on two sources, Lumx and Stripe.

The lock premiums and invalidation thresholds are from Stripe's FX Quotes API documentation, read on November 1, 2026. That API is in preview, so the figures can change. Other providers' windows were not compared here, because a comparison needs a dated source for each one.

Verified on November 1, 2026. Operational context, not legal, tax, or investment advice.

Cover photo: Alexandar Todov on Unsplash.

  • How long does a payment quote last?

    It depends on the provider and on whether the quote is locked. A locked quote holds the rate until an expiry time, from 30 seconds on Lumx to 24 hours on Stripe's preview API, and a floating rate has no window at all. On Lumx the options are 30 seconds, 1 minute and 5 minutes, covered above.

  • Does the rate lock when I create the quote or when I pay?

    At creation. The expiry time starts running when the quote is issued, and the payment has to be submitted with the quote id before it. Lumx returns the expiry time in UTC with the quote.

  • What happens if the quote expires before the customer pays?

    The quote is no longer valid and a new one is needed. A deposit that arrives after expiry is not converted. On Lumx, it goes back to the original sender on the same rail.

  • Is a floating rate the same as a locked quote?

    No. A floating rate is a real-time reference with no lock, so the rate at execution can differ from the one shown. On Lumx, the floating rate carries no fee and suits estimates on screen, while the locked rate suits a confirmation step.

  • Does a longer lock cost more?

    Usually, yes, because the provider carries the market risk for longer. Stripe's premium grows from 0.12% at 5 minutes to 0.30% at 24 hours for Group 2 currencies. On Lumx, the 30-second lock has no fee, and the longer locks include one that the quote response shows in its fee lines.

Stay up to date with what Lumx is developing.

Sign up to receive them by email.

Share on socials:

how-long-does-a-payment-quote-last

A

how-long-does-a-payment-quote-last

How Long Does a Payment Quote Last? What the Window Means

Copy link

Copied!

how-long-does-a-payment-quote-last

TALK TO OUR TEAM

Ready to transform your business with stablecoins?

Discover how our infrastructure can seamlessly integrate stablecoins into your financial operations quickly, securely, and efficiently.

Explainers

In this page

©2026. All rights reserved.

Lumx US OP LLC ("Lumx") is a financial technology and payments infrastructure company. Lumx US OP LLC is a Money Service Business (MSB) registered with the Financial Crimes Enforcement Network (FinCEN) (MSB #31000316459619). Lumx is not a state-licensed money transmitter and does not, in its own capacity, engage in the provision of regulated money transmission services. All such regulated activities are conducted exclusively through, and under the licenses of, duly authorized financial-institution partners.


Lumx is not a bank, financial institution, payment institution, or custodian of client funds. Certain services made available through the Platform may be provided by duly authorized and regulated third-party partners, in accordance with applicable laws and regulations.

Please refer to Lumx’s Terms of Use and Privacy Notice for further information regarding the conditions governing the use of the Platform and the processing of your personal data.