---
title: "Why is the rate on Google different from my off-ramp quote?"
seoTitle: "Why the Google exchange rate differs from your quote"
description: "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."
date: "2026-09-26"
updated: "2026-09-26"
category: "payments"
author: "BlindPay Team"
faq:
  - q: "Why is the exchange rate on Google different from what I get?"
    a: "Google shows a mid-market reference rate from a data provider, delayed by a few minutes and shown for information. Your quote is a price you can execute: it sits on one side of the market, includes the provider's spread and fees, and holds for a window. Those four things open a gap even when nobody is overcharging you."
  - q: "Is the Google exchange rate the real rate?"
    a: "It is a real reference, not a real price. The mid-market rate is the midpoint between wholesale buy and sell prices, and nobody executes at a midpoint for free. Google itself says it cannot guarantee the accuracy of the rates displayed and that you should confirm current rates before making any transaction."
  - q: "Can I get the Google rate when I off-ramp stablecoins?"
    a: "Not as a free executed price. Someone has to cover the spread, the fees, and the risk of holding the price while you confirm. Some providers advertise the mid-market rate and charge a separate fee, others build the cost into the rate. Compare the amount that lands in the bank account, not the headline rate."
  - q: "How do I compare an off-ramp quote to the market rate?"
    a: "Capture the reference rate and the quote in the same minute. Then compute the gap in basis points: (reference rate minus your effective rate) divided by the reference rate, times 10,000. At BlindPay, compare commercial_quotation to the reference first, then blindpay_quotation to commercial_quotation, so you can tell data timing apart from margin and fees."
  - q: "What is commercial_quotation in a BlindPay quote?"
    a: "It is the raw market exchange rate at the moment BlindPay created the quote. Next to it, blindpay_quotation is the rate net of BlindPay's fee. The difference between the two is the provider's cost on the conversion, visible before you execute. The amount the bank account receives is in receiver_amount, in minor units."
---

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**

- Google shows currency prices from a data provider with a short delay, and says to confirm rates before you transact.
- The mid-market rate is a reference. Nobody executes at the midpoint for free.
- An off-ramp quote differs because of side of the market, spread, fees, timing, and the risk of holding the price for a window.
- Measure the gap in basis points, captured in the same minute, against the amount that actually lands.
- On a BlindPay quote, `commercial_quotation` vs `blindpay_quotation` shows the provider's cost before you send.

## What rate does Google actually show?

A mid-market reference rate, slightly delayed. Google's [finance data disclaimer](https://www.google.com/googlefinance/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](https://wise.com/gb/blog/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](/resources/more/onramp-offramp-liquidity-glossary) 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](https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/index.en.html) around 16:00 CET each working day "for information purposes only" and strongly discourages using them for transactions.

## Why doesn't an off-ramp quote match the Google rate?

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](/resources/more/why-onramp-and-offramp-rates-differ).

What would be a problem is a gap you can't see. A provider that shows an [indicative rate](/resources/more/indicative-rate-vs-binding-quote-api) and settles later at a worse one adds a seventh source: slippage, which you never agreed to. The [FX slippage guide](/resources/more/stablecoin-fx-slippage-live-quotes) shows how to spot it.

## How do you measure the gap fairly?

Measure it in basis points, against the same minute, on the amount that actually lands. One basis point is 0.01%.

1. **Open the reference and request the quote in the same minute.** A 3-minute delay on a volatile day is enough to move BRL by several basis points.
2. **Compare the quote's market rate to the reference.** At BlindPay that's `commercial_quotation`, the raw market rate when the quote was created. A small gap here is data timing, not margin.
3. **Compare the rate after fees to the market rate.** That's `blindpay_quotation` against `commercial_quotation`. This is the provider's cost on the conversion.
4. **Check the delivered amount.** `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 |

- Timing and data gap: (5.4000 - 5.3980) / 5.4000 x 10,000 = about 3.7 bps
- Provider cost: (5.3980 - 5.3710) / 5.3980 x 10,000 = about 50 bps
- All-in gap vs Google: (5,400.00 - 5,371.00) / 5,400.00 x 10,000 = about 53.7 bps, or R$29 on this payout

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](/resources/more/stablecoin-off-ramp-fees-explained) compares per-transaction costs with a bank wire.

## Which reference rate should a finance team use?

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 is the gap a red flag?

When you can't see where it comes from. Three patterns are worth a closer look:

- **The "market rate" is far from the public reference in the same minute.** A few basis points is timing. A wide, persistent gap on a liquid pair means the market rate itself may already carry margin.
- **The rate settles worse than shown.** That's slippage. On a binding quote executed inside its window, it should be zero.
- **No itemized fees.** If the only number is a rate, you can't split margin from fees, and comparing providers becomes guesswork.

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](/resources/more/usdc-to-brl-routes-2026) compares the paths a dollar takes into reais.

## What does the Google rate get right?

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](/usdc-to-brl) shows an indicative rate for the same reason Google does: orientation, not execution.

## What to do next

Request a [payout quote](/docs/payout-quotes) 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.
