When you exchange currency at a Canadian bank, the rate you see is rarely the rate you actually get. Banks have developed sophisticated ways to profit from currency exchange that go far beyond any explicit fee they might disclose. Understanding these hidden costs can save you hundreds—or thousands—of dollars, depending on how much and how often you exchange.
Here are the seven fees most Canadians don’t realize they’re paying, and what you can do about each one.
1. The Exchange Rate Markup
This is the big one—the fee that costs you the most while remaining almost invisible.
When you check the exchange rate on Google or a financial news site, you’re seeing the mid-market rate, also called the interbank rate. This is the rate at which banks trade currency with each other. When you walk into a branch to exchange currency, you’ll never get that rate. Banks add a markup of 2.5% to 3.5% above the mid-market rate, and they pocket the difference.
Here’s what that looks like in practice. Say the mid-market rate is 1.36 CAD per USD, and you’re converting $10,000 USD to Canadian dollars. At the true rate, you’d receive $13,600 CAD. But with a 3% bank markup, you might only receive $13,192 CAD. That’s $408 gone—and there’s no line item on your receipt showing this fee. The bank simply gave you a worse rate and kept the spread.
This markup is how banks make most of their money on currency exchange. The explicit fees they charge are almost a distraction from this larger, less visible cost.
How to avoid it: Use a currency exchange service that offers rates closer to the mid-market rate. Specialized foreign exchange providers like CanAm Currency Exchange typically beat bank rates by 2% to 3%, which translates directly into more money in your pocket.
2. Wire Transfer Fees
If you’re moving money between bank accounts across borders, you’ll encounter wire transfer fees. Canadian banks charge anywhere from $30 to $80 for outgoing international wire transfers, depending on the institution and amount.
RBC charges $45 for outgoing wires. TD charges $50. CIBC’s fees range from $30 to $80 depending on the transfer amount. And these are just the fees your bank charges—there may be more coming.
But here’s what makes wire fees particularly frustrating: you’re often paying them on top of a poor exchange rate. So you pay $50 for the wire, and then you lose another $300 to the markup. The wire fee becomes a distraction from the larger cost hidden in the rate itself.
How to avoid it: Some currency exchange services include free wire transfers when you exchange with them. Ask about this before committing to any provider. At minimum, compare the total cost—wire fee plus exchange rate—rather than focusing only on the explicit fee.
3. Incoming Wire Fees
You might think receiving money is free, but Canadian banks charge fees on that end too. Most major banks charge $15 to $17 for incoming wire transfers.
RBC charges $17 for incoming wires (though amounts under $50 are free). TD charges $17.50. BMO charges $14 to $16. These fees apply whether the wire is domestic or international.
If you’re receiving regular payments from the US—maybe you work for an American company, receive pension payments, or earn rental income from a US property—these fees add up month after month.
How to avoid it: Some services can receive funds on your behalf and convert them without an incoming wire fee. For regular income, explore whether electronic funds transfer (EFT) can replace wire transfers, as EFT is typically cheaper or free.
4. Foreign Transaction Fees on Cards
This fee catches travellers and online shoppers alike. Most Canadian credit and debit cards charge a foreign transaction fee of 2.5% on any purchase made in a foreign currency.
So that $100 USD purchase doesn’t cost you $100 USD—it costs $102.50 USD once the fee is applied, plus whatever exchange rate the card network uses for conversion. And unlike the exchange rate markup, this fee is applied after the conversion, meaning it compounds on top of an already unfavorable rate.
The foreign transaction fee applies whether you’re buying dinner in Detroit, shopping on an American website, or paying for a hotel in Europe. Anything charged in a currency other than CAD triggers this fee on most Canadian cards.
How to avoid it: Get a credit card with no foreign transaction fee—several Canadian cards offer this perk. For larger purchases, consider converting currency in advance and paying with a card denominated in the local currency, or simply using cash you’ve exchanged at a competitive rate.
5. Dynamic Currency Conversion (DCC)
This is the fee that tricks you into thinking you’re doing yourself a favour.
When you pay with a card abroad, the merchant’s terminal may offer to charge you in Canadian dollars instead of the local currency. This sounds convenient—you see exactly what you’re paying in familiar terms. But accepting this offer is almost always a mistake.
Dynamic currency conversion adds a markup of 3% to 8% on top of whatever the merchant’s payment processor decides the exchange rate should be. And you’ll still pay your card’s foreign transaction fee on top of that. Studies have found markups as high as 13% in extreme cases.
The presentation is often designed to make DCC the default choice. The “pay in CAD” button might be highlighted, placed on the right side of the screen, or presented as the “recommended” option. Some merchants even select it without asking.
How to avoid it: Always choose to pay in the local currency when given the option. If a terminal doesn’t give you a choice, ask the merchant to reprocess the transaction in local currency. If you see a charge on your statement that’s higher than expected, you may be able to dispute it with your card issuer.
6. Intermediary Bank Fees
When you send an international wire transfer, your money doesn’t travel directly from your bank to the recipient’s bank. It passes through correspondent banks along the way, and each one can take a cut.
These intermediary fees typically range from $15 to $30 per bank, and there may be multiple intermediaries involved depending on the destination. The fees are deducted from your transfer amount, meaning the recipient receives less than you sent—and neither of you knows exactly how much until the money arrives.
This is one of the least transparent aspects of international banking. Your bank might quote you a $45 wire fee, but the total cost could be $75 or more once intermediaries take their share.
How to avoid it: Use services that have direct relationships with banks in your destination country, eliminating the need for intermediaries. Some modern payment platforms bypass the traditional correspondent banking network entirely by using local payment rails in each country.
7. Receiving Bank Fees
Even if you avoid intermediary fees, the receiving bank on the other end may charge its own fee to accept the transfer. This is particularly common for international transfers into countries with less developed banking infrastructure, but it can happen anywhere.
These fees are typically $15 to $25, deducted from the transfer before the recipient receives their funds. Like intermediary fees, they’re often not disclosed until after the transfer completes.
If you’re sending money to family abroad or paying an international supplier, receiving bank fees mean the amount that arrives is less than what you sent—even if your bank told you the “full amount” would be delivered.
How to avoid it: Ask your provider about their fee structure for the specific destination. Some services offer “fee-free” delivery where the sender covers all costs and the recipient receives the exact amount sent. This transparency is worth paying a slightly higher upfront fee to achieve.
How Much Are These Fees Really Costing You?
Let’s add it up with a realistic example. Say you’re a cross-border worker earning $5,000 USD per month, and you need to convert that to Canadian dollars.
If you use your bank, you might pay a 3% exchange rate markup ($150), an incoming wire fee ($17), and possibly intermediary fees ($20). That’s $187 per month, or over $2,200 per year—just to access your own money.
For a one-time large transfer—say, $50,000 USD from selling a property—the stakes are even higher. A 3% markup alone costs you $1,500 CAD. Add wire fees and you’re easily looking at $1,600 or more in total costs.
These aren’t theoretical numbers. They’re what Canadians pay every day because they assume the bank is giving them a fair deal, or because they don’t realize alternatives exist.
The Alternative Approach
Specialized currency exchange services exist specifically to address these problems. By focusing exclusively on foreign exchange, they can offer tighter spreads, lower (or no) transfer fees, and more transparency about the true cost of your transaction.
CanAm Currency Exchange guarantees to beat bank rates—typically by 2% to 3%—while providing free wire transfers on converted funds. There are no intermediary fees to worry about, and the rate you’re quoted is the rate you receive.
The difference in cost can be substantial. On a $10,000 USD conversion, you might save $250 to $350 compared to a major bank. On regular monthly conversions, the annual savings can easily reach thousands of dollars.
What to Do Next
The next time you need to exchange currency, don’t just walk into your bank branch. Take five minutes to compare rates. Check the mid-market rate on a site like XE or Google Finance, then ask your bank what rate they’ll give you. The difference is the markup you’re paying.
Then call CanAm or another currency exchange specialist and ask for a quote on the same amount. Compare the total—not just the rate, but any fees involved. The numbers usually speak for themselves.
Once you see how much banks have been charging you in hidden fees, you’ll wonder why you ever exchanged currency with them in the first place.


