RateRunnertransfer cost ledger

How RateRunner calculates the true cost of a money transfer

True cost = upfront fee + (amount sent − fee) × markup %, where markup is how far the provider’s rate sits below the mid-market rate when the quote was collected. Providers are ranked by what the recipient receives.

Last updated

Data sources

DataSourceSnapshot
Provider quotes: fee, rate, markup, amount received, collection timeWise public comparison data (endpoint https://api.wise.com/v4/comparisons/)15 Oct 2026, 14:57 UTC
Reference exchange rates (cross-check only)ECB euro reference rates via Frankfurter15 October 2026

RateRunner covers 40 corridors at three amounts: 200, 1,000, 5,000 units of the sending currency. The calculator can also request quotes for any other amount directly from the same public endpoint in your browser; when that is not possible it shows the nearest snapshot band and says so.

Wise collects the quotes it publishes from banks and transfer services and lists itself alongside them. That is a potential conflict of interest in the source, which is why RateRunner shows each provider’s own collection time and does its own ranking. RateRunner does not scrape bank or provider websites.

The formula

For each quote, with amount sent S, upfront fee F, provider rate R and markup m (in %):

  • amount converted = S − F
  • recipient gets = (S − F) × R
  • mid-market at collection = R ÷ (1 − m/100)
  • markup cost = (S − F) × m/100
  • true total cost = F + markup cost
  • cost % = true total cost ÷ S × 100

Because markup is measured against the mid-market rate at the moment each quote was collected, it is not distorted by currency movements between quotes collected at different times. The amount received, which is what ranking uses, is the provider’s own figure.

Screening: which quotes are ranked

Quotes are shown in every table, but two kinds are set aside and not ranked:

  • Old quotes: collected more than 48 hours before RateRunner retrieved them. Rates move; an old quote cannot be compared fairly with a fresh one. Quotes between 24 and 48 hours old are ranked but flagged with their age.
  • Implausible rates: more than 1% better than the mid-market rate (markup below -1%). No provider can sustain that; it indicates a data error or a one-off promotion. Smaller negative markups are ranked and noted, because introductory rates for new customers are common.

Ranking

Ranked quotes are sorted by amount received, highest first. For a fixed amount sent this is almost the same as sorting by true total cost, lowest first; small differences appear because quotes were collected at different moments and the mid-market rate moved in between. Amount received is what the recipient actually gets, so it decides the order. Commercial relationships never affect it.

What the numbers do not include

  • Fees charged by the recipient’s bank or by intermediary banks on SWIFT transfers. See SWIFT vs local payout.
  • Differences between payout methods (bank deposit, cash pickup, mobile wallet) and funding methods (bank transfer, debit or credit card), which can change both fee and rate. See cash pickup vs bank deposit.
  • Taxes on transfers, such as the US federal excise tax on cash-funded remittances. See the US remittance tax guide.
  • Promotional first-transfer pricing that a provider may offer you but not in the published quote, or vice versa.

Treat every figure as indicative and confirm the final quote with the provider before you pay. In the US, providers must show you the exchange rate, fees and amount to be received before you pay (12 CFR 1005.31).

Refresh and stale data

A scheduled job runs pnpm refresh, rebuilds the site and publishes it. If a request fails, the previous good figures stay in place with their original retrieval time and the page says that they could not be refreshed. Dates in sitemaps change only when the underlying data or text changes.

Calculation tests

The arithmetic is covered by automated tests against hand-computed cases, including a real published quote: 1,000 USD to MXN with a 1.99 USD fee and a 2.30526545% markup gives a markup cost of 23.0068 USD, a true cost of 25.00 USD, and 18,054.13 MXN received at the quoted rate of 18.0901339966.