Google shows a delayed mid-market reference. An off-ramp quote is a price you can execute. Why the two differ, and how to measure the gap in bps.
The rate on Google is a delayed mid-market reference: the midpoint between wholesale buy and sell prices, shown for information. An off-ramp quote is a price you can actually execute, on one side of the market, with the provider's spread, fees, and risk for the quote window built in. So the two rarely match, and they shouldn't.
The useful question isn't "why is it different?" It's "how much of the difference is fair?" This guide splits the gap into its parts, shows the arithmetic on a USDC to BRL payout, and gives a rule for when a gap is a red flag.
Key takeaways
commercial_quotation vs blindpay_quotation shows the provider's cost before you send.A mid-market reference rate, slightly delayed. Google's finance data disclaimer says currency prices are provided by Morningstar, lists a delay of 3 minutes for currencies, and states that "Google cannot guarantee the accuracy of the exchange rates displayed. You should confirm current rates before making any transactions."
The mid-market rate is the midpoint between the price buyers bid and the price sellers ask in the wholesale market. Wise's guide to the mid-market rate describes it the same way, and notes it is the rate you see when you search a currency pair online. The glossary for this cluster uses the same definition.
Two words matter there: midpoint and reference. A midpoint is not a price anyone sells at. A reference is not a commitment. Central banks say this out loud: the ECB publishes its euro reference rates around 16:00 CET each working day "for information purposes only" and strongly discourages using them for transactions.
Because a quote is a price you can execute, and executing has costs that a reference rate doesn't carry. Six things open the gap:
| Source of the gap | What happens | How to see it on a quote |
|---|---|---|
| Side of the market | You sell USDC for BRL, so you get the buy (bid) side, not the midpoint | Compare the quote's market rate to the reference |
| Provider margin | The provider earns a spread on the conversion | Market rate vs rate after fees |
| Fees | Flat or percentage fees, plus any partner markup your platform adds | Itemized fee fields |
| Timing | The reference is minutes old. The quote is priced now | Capture both in the same minute |
| Window risk | The provider holds the price for minutes and prices that risk in | Expiry time on the quote |
| Size | Large amounts can run past the cheapest liquidity | Quote two sizes at once |
None of these is a trick on its own. The first three are the cost of the service. The last three are physics: markets move, and depth is finite. Why buy and sell rates differ at all is covered in why on-ramp and off-ramp rates differ.
What would be a problem is a gap you can't see. A provider that shows an indicative rate and settles later at a worse one adds a seventh source: slippage, which you never agreed to. The FX slippage guide shows how to spot it.
Measure it in basis points, against the same minute, on the amount that actually lands. One basis point is 0.01%.
commercial_quotation, the raw market rate when the quote was created. A small gap here is data timing, not margin.blindpay_quotation against commercial_quotation. This is the provider's cost on the conversion.receiver_amount is what the bank account gets, in minor units. It's the only number the recipient cares about.The formula for each step:
gap_bps = (reference rate - effective rate) / reference rate x 10,000
Illustrative example. You off-ramp 1,000 USDC to BRL. All numbers are made up for the arithmetic.
| Rate | Value | BRL for 1,000 USDC |
|---|---|---|
| Google reference | 5.4000 | 5,400.00 |
commercial_quotation | 5.3980 | 5,398.00 |
blindpay_quotation (fees reflected in the rate here) | 5.3710 | 5,371.00 |
Split this way, the R$29 stops being a mystery. About R$2 is the reference being a few minutes old. About R$27 is the price of the conversion, shown before you sent anything. To put that 50 bps in context across a whole payout, stablecoin off-ramp fees explained compares per-transaction costs with a bank wire.
It depends on the job. Pick one per job and write it down, so nobody argues about it at month end.
| Reference | What it is | Good for | Not for |
|---|---|---|---|
Quote's market rate (commercial_quotation) | Raw market rate when the quote was created | Per-payment cost analysis | Accounting policies that name an official fix |
| Google or a currency site | Delayed mid-market reference | Sanity checks, rough estimates | Measuring cost to the basis point |
| Central bank fix (for example ECB) | One published rate per working day | Accounting and reporting policies that name it | Pricing a payment you send at 15:00 |
The quote's own market rate has one big advantage: it's timestamped to the exact quote. The other two are fine references, just not for a payout you priced at a specific minute.
When you can't see where it comes from. Three patterns are worth a closer look:
Decision rule: compare providers on delivered amount, captured in the same minute, for the same size. A quote that looks worse on rate can land more money if its fees are lower. The USDC to BRL routes guide compares the paths a dollar takes into reais.
Plenty. It's free, it's everywhere, and it tells you the direction and the rough level of a currency at a glance. If your quote is 5% away from Google on USD to BRL, something is wrong, and Google is how you notice.
Just don't treat it as a price. The USDC to BRL corridor page shows an indicative rate for the same reason Google does: orientation, not execution.
Request a payout quote for your corridor, open Google in the same minute, and run the three-step split above. If the provider cost on your corridor is a number you can live with, that's the rate you'll get, every time you execute inside the window.
Seven places blockchain payments beat bank rails: contractor payroll, remittances, B2B suppliers, marketplaces, 24/7 treasury, bill pay, and PSP payouts.
AP2, ACP, and x402 each verify that an AI agent had permission to spend. Here is what every protocol covers, who backs it, and the reconciliation gap none of them close.
The three roles behind every card program, stablecoin cards included: what each one does, who carries liability, and what to ask a provider.