---
title: "How live quotes handle volatile currencies: BRL, MXN, COP, and ARS"
seoTitle: "Live quotes for volatile currencies: BRL, MXN, COP, ARS"
description: "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."
date: "2026-10-05"
updated: "2026-10-05"
category: "payments"
author: "BlindPay Team"
faq:
  - q: "Does a live quote protect me from currency swings?"
    a: "For one payment, inside its window, yes. A live quote locks the rate and fees until expires_at, so a move during that window doesn't change what the recipient gets. It doesn't protect the next payment, a quote you let expire, or a monthly budget. Each new quote prices the currency where it trades at that moment."
  - q: "Why is my BRL quote different from the PTAX rate?"
    a: "PTAX is a reference, not a price you can trade at right now. The Central Bank of Brazil builds it from consultations with dealers at set times during the day. Your quote is an executable price at the moment you request it, with the provider's spread and fees included, so the two will rarely match exactly."
  - q: "How does Argentina's exchange rate band affect ARS payouts?"
    a: "The peso floats inside a band set by the central bank. Since January 1, 2026, the BCRA moves the band's floor and ceiling each month at the latest monthly inflation figure from INDEC, with a two-month lag. The band limits extreme moves, but the rate inside it still changes daily, so every ARS payout needs a fresh quote."
  - q: "Should I quote in USDC or in local currency when the currency is volatile?"
    a: "Quote the side that matches the obligation. If you owe a fixed amount in reais or pesos, quote the receiver side so the local amount stays fixed and the USDC cost moves. If you have a fixed USDC budget per recipient, quote the sender side and let the local amount move. Volatility doesn't change that rule, it raises the cost of getting it wrong."
  - q: "Does a slower rail like ACH Colombia add FX risk after I execute?"
    a: "No. The conversion rate is locked by the quote when you execute the payout, and receiver_amount is the amount the bank account gets. ACH Colombia takes around one business day to arrive in BlindPay's docs, but that delay affects timing, not the rate. The FX risk sits before execution, not after it."
---

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](/resources/more/onramp-offramp-liquidity-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.

| Currency | Payout rail at BlindPay | Official reference | How the reference is built | Source |
| --- | --- | --- | --- | --- |
| BRL | Pix, instant | PTAX | Arithmetic mean of the rates from four daily dealer consultations, published as bulletins | [Banco Central do Brasil](https://dadosabertos.bcb.gov.br/dataset/taxas-de-cambio-todos-os-boletins-diarios) |
| MXN | SPEI, instant | FIX | Average of wholesale market quotes for settlement two banking days later, released from 12:00 on banking days | [Banco de México](https://www.banxico.org.mx/tipcamb/tipCamMIAction.do?idioma=sp) |
| COP | ACH Colombia, about 1 business day | TRM | Amount-weighted average of same-day spot dollar trades by market intermediaries, certified daily | [Superintendencia Financiera](https://www.superfinanciera.gov.co/jsp/60819) |
| ARS | Transfers 3.0, instant | Band floor and ceiling | Peso floats inside a band; since January 1, 2026, the limits move monthly at the latest INDEC monthly inflation figure (T-2) | [BCRA 2026 program](https://www.bcra.gob.ar/Pdfs/Noticias/fase-remonetizacion-2026.pdf) |

Mexico has let the peso float freely since December 22, 1994, per [Banco de México's history of exchange regimes](https://www.banxico.org.mx/mercados/d/%7BC260B142-835E-2F6B-D7BD-3C9E182BB8B9%7D.pdf). 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](/resources/more/usdc-to-brl-routes-2026), [MXN](/resources/more/usdc-to-mxn-routes-2026), [COP](/resources/more/usdc-to-cop-routes-2026), and [ARS](/resources/more/usdc-to-ars-routes-2026).

## 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.

| Moment | Who carries the currency move | What your flow should do |
| --- | --- | --- |
| Before you request a quote | You | Request it at the last responsible moment, right before confirmation |
| Inside the quote window | The provider | Execute against the `quote_id` before `expires_at` |
| After the quote expires | You | Re-quote and compare the new numbers |
| After execution, while the rail settles | Nobody: the rate is locked | Track the payout; `receiver_amount` is what arrives |
| Between this payment and the next | You | Budget 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](/docs/kb/cut-off-times) lists the windows by quote type. [Who carries FX risk at each step](/resources/more/who-carries-fx-risk-stablecoin-payout) 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](/resources/more/why-google-rate-differs-from-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](/resources/more/pay-exact-local-amount-receiver-side-quote).
- **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](/resources/more/batch-stablecoin-payouts-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](/resources/more/stablecoins-local-rails-latin-america) and [Pix vs SPEI](/resources/more/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](/docs/payout-quotes) has the request shape.
