How these numbers are produced
Everything on this site is scraped, converted and published by a script you can read. This page says exactly where each figure comes from, what the arithmetic is, and where it can be wrong.
Where the data comes from
| Figure | Source | Collected by |
|---|---|---|
| Swap long / swap short | myfxbook.com/forex-broker-swaps, one page per broker | collect_myfxbook.py |
| Spread and commission | myfxbook.com/forex-broker-spreads, live table | collect_spreads.py |
| Currency rates (to convert into dollars) | open.er-api.com, falling back to the ECB via frankfurter.dev | collect_myfxbook.py |
| Gold, silver and crypto prices (to size a position) | gold-api.com and Binance | collect_myfxbook.py |
| Broker logos | Each broker's own MyFXBook review page | fetch_assets.py |
MyFXBook is an aggregator: it connects to brokers' MT4 and MT5 servers and republishes what those servers report. Brokers themselves do not publish swap tables in any machine-readable form — their own help pages tell you to read the number inside the trading terminal — which is why an aggregator sits in the middle.
collect_mt5.py
reads the same swaps directly off a broker's MT5 server, and
compare_sources.py diffs the two and reports every disagreement. That
check needs a demo login per broker, so it is opt-in rather than automatic.
How a swap becomes a dollar figure
Brokers publish the swap as a number of points, which means nothing until you know the size of the contract. The conversion is:
dollars per night = published swap × pip value per lot × (quote currency → USD) × your trade size
Pip value per lot uses the standard MetaTrader contract sizes: 100,000 units of the base currency for a currency pair, 100 ounces for gold, 5,000 for silver. So one pip on one lot of EUR/USD is $10, and on USD/JPY it is 1,000 yen.
This is an estimate, and here is when it is wrong. A broker offering mini contracts, or quoting gold to three decimals instead of two, uses a different multiplier, and the dollar figure for that broker will be out by a factor of ten. The underlying number they published is still shown correctly — the conversion is the part that assumes.
Annualising
Where a percentage appears, it is the nightly figure times 365, divided by the face value of the position — 100,000 × the base currency's dollar price for a currency pair, 100 × the gold price for XAU/USD. It ignores compounding and assumes the swap stays where it is, which it will not.
What is deliberately left blank
- Crypto is never converted to dollars. Brokers disagree on both the contract size for Bitcoin (1 coin, 0.1, or 100) and the point value (1, 0.1 or 0.01). One multiplier would be wrong by up to a thousand times, so those pairs show an explanation instead of a ranking.
- Brokers quoting a swap as an annual interest rate rather than in points are left out of the money columns. Converting those needs the broker's own contract sheet, which the source does not carry.
- Brokers reporting 0.00 on both sides are hidden. That is the source having no feed for them, not a swap-free instrument.
- A 0.0 spread is a missing quote, not a free trade, and is excluded from the cheapest-broker ranking.
Timing, and why it matters
- Swaps are charged once per night, and three times on the broker's rollover day — usually Wednesday for currencies, but it varies by broker and by instrument. A week of holding costs nine nights of swap, not seven.
- Brokers change swaps without notice, often daily, and always around central bank decisions. The header says how old the snapshot is and warns past 24 hours.
- Spreads are a live snapshot. Read while the market is closed they are frozen at the last value the feed saw, and the page says so when that is the case.
What is not here yet
- Energy, indices and share CFDs. The source covers currencies, gold, silver and Bitcoin only.
- The per-broker rollover day. MetaTrader exposes it; the aggregator does not.
- Swap-free and Islamic account variants, which have their own rates.
- Financing on the account balance, inactivity fees, and withdrawal charges — all real costs, none of them in this data.
Not advice
This is a comparison of published numbers, not a recommendation. Nobody here has a commercial relationship with any broker listed, and the ordering is arithmetic on the data, nothing else. Before you move money, check the figure on the broker's own site or in their terminal — that is the number they will actually charge you.