How currency rates actually work
On this page
You see “1 USD = 0.92 EUR” on Google. You change $100 USD on a credit card and get back €88. Where did the extra €4 go?
The short answer: there isn’t one rate. There’s a spread between the rate banks reference internally and the rate they show you. This is a 5-minute orientation to that gap.
The mid-market rate
The “real” rate — the one quoted on Google, Reuters, ECB, our currency converter — is the mid-market rate (also called “interbank rate”). It’s the midpoint between what large institutions are willing to buy a currency for and what they’re willing to sell it for at any given moment.
This is a wholesale price. You can’t transact at it directly unless you’re a large institution moving millions of dollars. It’s a reference — the number against which retail rates are measured.
Mid-market rates change continuously during market hours. The 24-hour volatility for a major-currency pair (EUR/USD, GBP/USD) is typically 0.5–1.0%. For exotic pairs it can be 5%+ in a day.
Reference rates vs live rates
Public APIs typically expose reference rates: a daily snapshot of mid-market, published by central banks (ECB, Fed) or large data providers (Reuters, Bloomberg).
Why daily snapshots and not real-time? Two reasons:
- Real-time mid-market is hard to source — it requires a feed from a major exchange, which is expensive.
- Daily snapshots are good enough for the questions most non-traders ask: “how much is 200 EUR in USD?” The answer is the same to 2 decimal places whether the snapshot is from this morning or 6 hours ago.
Our currency converter uses daily ECB snapshots via a public proxy (Frankfurter). The “Rates as of YYYY-MM-DD” line under the converter shows when the snapshot was taken. For everyday questions, this is more than current enough.
For trading or large transfers, you need a live rate from your broker.
Retail rates — what you actually get
When you buy currency through a bank, exchange, or credit card, you’re not getting mid-market. You’re getting mid-market plus a markup. The markup is the institution’s profit, plus their hedging costs.
Typical markups:
- Credit card foreign transaction: 1–3% over mid-market
- Bank wire transfer: 2–5% (sometimes more for exotic currencies)
- Airport / hotel exchange: 5–10% (sometimes much worse)
- Online services (Wise, Revolut): 0.3–1% (advertised “true mid-market” but with small spread)
- Cryptocurrency exchanges for fiat conversion: 0.5–2%
Two things that compound the cost:
- Conversion fees on top of the spread. Some cards charge a flat fee per transaction (~$2) plus the spread. On small transactions this can be huge in percentage terms.
- Dynamic Currency Conversion (DCC) at point-of-sale. When a foreign merchant offers to charge you “in your home currency,” they’re applying their own conversion rate — typically 5–8% over mid-market. Always decline DCC and pay in the local currency. Your card’s bank will then convert at their normal rate.
”Free conversion” — what’s actually free
Several services advertise “free currency conversion” or “no fees.” Read the fine print:
- “Zero fees, mid-market rate” — usually true for the base conversion. Profit comes from holding-period interest, premium tiers, or paid features (instant transfers, ATM withdrawals beyond a free limit).
- “Zero fees on cards” — usually true for purchases. ATM withdrawals abroad are typically the gotcha; many cards charge 3% there.
- “Best rate guaranteed” — almost always means “best of these three rates we picked,” not “best in the market.”
The reliable test is: convert $1000 USD to EUR somewhere and see how many EUR you get back. Compare that to the mid-market rate quoted at the same moment. The gap is the actual fee, regardless of how the marketing presents it.
For online services in 2026, Wise and Revolut typically come within 0.3% of mid-market. Banks typically come within 2–3%. Airport exchanges and hotel front desks come within 8–15%.
Why the spread exists
Not entirely greed. Three real costs:
- Hedging risk. When a bank converts $1M USD to EUR for a customer, they may not have €920K immediately on hand. They have to buy it at the current mid-market, which itself is moving. The spread covers that risk.
- Counterparty risk. Especially for less-liquid pairs. A bank quoted on TWD/USD has to factor in what could happen if the Taiwanese central bank intervenes.
- Operational cost. Settlement, regulatory compliance, fraud prevention. Real expenses.
For high-volume major pairs (EUR/USD, GBP/USD, USD/JPY) the spread is small because volume covers cost. For low-volume exotic pairs (say USD to a small African currency) the spread is much larger because the bank is taking real risk.
When the rate matters
For everyday questions (“how much is 50 EUR?”), any reference rate is fine. The 1–2% gap between today’s mid-market and yesterday’s or tomorrow’s is smaller than the markup you’d pay anyway.
For these, our converter is fast, private, and accurate enough.
For larger conversions ($1000+ at a time), it’s worth comparing specific services using a real-time rate at the moment of the transaction. The 1–3% you save adds up.
For trading, none of this is relevant — you need a real-time broker feed and you’re not converting between currencies casually.
What our tool does
The currency converter shows mid-market reference rates from ECB. It’s right for everyday “is this expensive?” questions. It’s wrong for “should I take this multi-million-dollar deal?” questions, and you should know the difference.
Everything is inlined at build time, refreshed daily by a GitHub Action. Privacy: nothing you type leaves your browser, no analytics on what currencies you’re looking up. Indicative rates, not retail rates — the gap between is the bank’s job.