How live quotes handle volatile currencies: BRL, MXN, COP, and ARS

A live quote locks one payout's rate, not your budget. How BRL, MXN, COP, and ARS rates are set, and how to design payouts around moving currencies.

A live quote handles a volatile currency by locking one payout's rate and fees for a short window, usually 5 minutes. Moves inside the window are the provider's problem. Moves between quotes are yours. For BRL, MXN, COP, and ARS, that means a quote protects each payment, not your budget, so the payout flow has to plan for re-quotes.

Volatility doesn't break live quotes. It just makes the gaps between them more expensive.

Key takeaways

  • A quote is a lock on one payment for one window. The next payment gets the next price.
  • Each currency has an official daily reference: PTAX in Brazil, FIX in Mexico, TRM in Colombia. None is a price you can execute at right now.
  • Argentina's peso floats inside a central bank band that, since January 1, 2026, moves monthly with INDEC inflation.
  • Fix the side that matches the obligation: receiver side for local-currency bills, sender side for USDC budgets.
  • Execution locks the rate. A slower rail delays the money, not the conversion.

Why do volatile currencies make payout quotes harder?

Because the price you saw a minute ago is less useful. In a calm currency, a quote and the next re-quote land close together. In a moving one, the gap can be large enough that a user notices, a finance team asks, or an approved budget no longer covers the payment.

Three things widen that gap in Latin American corridors:

  • News and data releases. Inflation prints, rate decisions, and fiscal announcements move the local currency in minutes.
  • Overnight and weekend gaps. Some reference rates are only set on business days, while payout rails like Pix and SPEI run every day.
  • Policy regimes. A currency in a managed band behaves differently from a free float, and the band itself can move.

The quote doesn't remove any of this. It draws a box around one payment and says: inside this box, the number is fixed. The glossary defines the box (quote window) and the gap (re-quote delta) if you want the precise terms.

How are BRL, MXN, COP, and ARS rates set?

Each country publishes an official daily reference, computed differently. Knowing how it's built tells you why your quote won't match it.

CurrencyPayout rail at BlindPayOfficial referenceHow the reference is builtSource
BRLPix, instantPTAXArithmetic mean of the rates from four daily dealer consultations, published as bulletinsBanco Central do Brasil
MXNSPEI, instantFIXAverage of wholesale market quotes for settlement two banking days later, released from 12:00 on banking daysBanco de México
COPACH Colombia, about 1 business dayTRMAmount-weighted average of same-day spot dollar trades by market intermediaries, certified dailySuperintendencia Financiera
ARSTransfers 3.0, instantBand floor and ceilingPeso floats inside a band; since January 1, 2026, the limits move monthly at the latest INDEC monthly inflation figure (T-2)BCRA 2026 program

Mexico has let the peso float freely since December 22, 1994, per Banco de México's history of exchange regimes. Argentina is the outlier: the BCRA says the band exists to limit extreme and abrupt moves, and because the band doesn't adjust for US inflation, the ceiling rises in real terms over time.

For the corridor-level view of each currency, see the routes guides for BRL, MXN, COP, and ARS.

What does a live quote protect you from, and what doesn't it?

It protects the payment you execute inside the window. Everything before the quote, after expiry, and between payments is still yours.

MomentWho carries the currency moveWhat your flow should do
Before you request a quoteYouRequest it at the last responsible moment, right before confirmation
Inside the quote windowThe providerExecute against the quote_id before expires_at
After the quote expiresYouRe-quote and compare the new numbers
After execution, while the rail settlesNobody: the rate is lockedTrack the payout; receiver_amount is what arrives
Between this payment and the nextYouBudget for it, and pick the right quote side

BlindPay payout quotes expire 5 minutes after creation by default, and an expired quote is rejected, never executed at a new rate. Read expires_at from each response rather than hardcoding the window; the cut-off times reference lists the windows by quote type. Who carries FX risk at each step goes deeper on the hand-offs.

Illustrative example: one re-quote in BRL. A user requests a sender-side quote for 10,000 USDC at an effective 5.40 BRL per USDC: the recipient would get R$54,000.00. The user walks away, the quote expires, and the re-quote comes back at 5.43. Now the recipient gets 10,000 x 5.43 = R$54,300.00. The re-quote delta is (5.43 - 5.40) ÷ 5.40 = 0.56%, or about 56 basis points. Rates here are made up for the arithmetic.

Nobody lost money on the expired quote. But the user saw two different numbers, and in a fast market they'll see a third if they wait again.

Why does your quote differ from PTAX, FIX, or TRM?

Because a reference rate is an average of the past and a quote is a price for now. They answer different questions.

  • Timing. FIX is released from 12:00 on banking days and describes wholesale trades for settlement two days later. Your quote at 21:00 on a Saturday is priced on the market at 21:00 on a Saturday.
  • Size and market. TRM averages wholesale spot trades between regulated intermediaries. A payout of $800 doesn't trade there.
  • Spread and fees. A quote includes the provider's margin and fee lines. A reference rate includes neither.

The useful comparison is your quote's commercial_quotation, the raw market rate, against blindpay_quotation, the rate after BlindPay's fee. That gap is the price of the conversion. The distance from PTAX or FIX is mostly time. Why the rate on Google differs from your quote covers the same mismatch for consumer rate sites.

Should you fix the local amount or the USDC amount?

Fix whatever the obligation is written in. Volatility doesn't change the rule. It changes how much it costs to get it wrong.

  • Local-currency obligations (a BRL invoice, an MXN salary, ARS rent): quote the receiver side. The local amount stays fixed across re-quotes and the USDC cost moves. See how to pay an exact BRL, MXN, or EUR amount.
  • USDC budgets (a marketplace balance, a fixed dollar bonus): quote the sender side. The USDC amount stays fixed and the local amount moves.

Illustrative example: a fixed ARS obligation across two months. A company pays a contractor a fixed 2,500,000 ARS a month. In month one the effective rate is 1,450 ARS per USDC, so the payout costs 2,500,000 ÷ 1,450 = 1,724.14 USDC. In month two the rate is 1,500, so the same pesos cost 2,500,000 ÷ 1,500 = 1,666.67 USDC, about 3.3% less. Rates are made up for the arithmetic.

Both payments were locked by their quotes. The dollar cost still changed by 57.47 USDC between them. That's budget risk, and no payout quote covers it. Teams that need dollar certainty across months write the contract in dollars and quote the sender side.

How should a payout flow behave when the market moves fast?

Assume re-quotes are normal and design for them. A few rules hold up in every one of these currencies.

  1. Quote late. Request the quote when the confirmation screen loads, not when the user opens the form.
  2. Show the countdown. Count down from expires_at, and re-quote silently when it hits zero. Highlight the change only if the amount moved.
  3. Set a tolerance. For approved payments, accept a re-quote within an agreed band, for example 0.5%, and send anything wider back for approval.
  4. Keep batches short. In a long batch run with live quotes, early and late rows price at different moments. Fund with a buffer.
  5. Never cache a quote. A quote that expired is gone. Its id can't back a payout, and its numbers are history.
  6. Track the re-quote delta per corridor. If the ARS corridor's average delta doubles in a week, your users feel it before your dashboards do.

On the payin side, one more rule applies: MXN, COP, and ARS payin quotes on the sender side must be whole currency units, so round before you request. For how the local rails themselves behave, see stablecoins and local rails in Latin America and Pix vs SPEI.

What to do next

Pick your most volatile corridor and log commercial_quotation from every quote you request for a week, with the timestamp. The spread of those numbers by hour tells you how wide your approval tolerance needs to be and when to run batches. The payout quotes guide has the request shape.

FAQ