How every fee on this site is collected, normalised, priced in USD, checked and dated — including what we throw away and what we still do not cover.
They come from different places and are refreshed on different clocks, so we label them differently everywhere on the site.
For each exchange we take the first source on this ladder that actually works, and we record which one it was:
Coverage is deliberately exhaustive per exchange: if an exchange lists 9,000 coins, we want all 9,000 rows, not the top hundred. A missing coin looks identical to a free withdrawal on a comparison table, and that is exactly the kind of error this site exists to avoid.
Tickers collide — several different projects ship under the same symbol, and the one an exchange means is not always the famous one. Every symbol is resolved to a specific asset by its CoinMarketCap identifier, with a manual override table for the collisions that automated matching gets wrong. When a symbol cannot be resolved with confidence, we still publish the exchange’s fee, but we leave it unattached to any coin page rather than attach it to the wrong coin.
The same chain appears as “Bitcoin”, “BTC”, “btc”, “BTC (SegWit)” or “Mainnet” depending on who wrote the exchange’s integration. We map 514 observed spellings onto 201 named chains so that a comparison across exchanges is a comparison of the same route. The mapping happens when we render, never by rewriting what the exchange said: the exchange spelling stays visible on detail pages. Ambiguous bare tickers that different exchanges use for different chains are deliberately left unmerged instead of being guessed.
A withdrawal fee is quoted in the coin. The USD figure you see is fee in coin × the coin’s live price at page load, recomputed on every refresh rather than frozen at sync time. Percentage fees stay percentages — there is no honest fixed USD value for them. Trading fee percentages are stored as published (0.1 means 0.1%), and a trade’s cost is computed from the tier your 30-day volume actually puts you in, not from the headline rate.
Before a newly collected exchange goes live, its numbers are spot-checked by hand against the exchange’s own fee page — our rule is at least five coins across three exchanges per batch, chosen to include both major coins and long-tail ones, since collection bugs usually show up in the tail. Curated trading fees are re-read at the source and re-dated rather than silently carried forward, so an old verified date is visible to you rather than hidden from you.
Automated checks run alongside the human ones: rows whose USD value is implausible, exchanges whose row count collapses between syncs, coins that resolve to two different assets on the same exchange, and chains that split into two spellings after a mapping change.
If a number here disagrees with the exchange, the exchange is right and we want to know. Send the exchange, the fee, what we show, what they show and a link to [email protected]. Fixes are made in the underlying data, so they propagate to every page that uses the number, and the row’s verification date moves with them.
Withdrawal fees are re-synced from each exchange and every row carries the timestamp of its last sync, shown on the page. Coin prices are polled continuously, so the USD value of a fee is computed from a fresh price at page load. Trading fees and VIP ladders are curated by hand and carry the date we last verified them against the exchange's own fee schedule.
Four common reasons: your VIP tier or a token-fee discount changes your personal rate; the exchange changed the fee after our last check, which the timestamp on the page will show; the exchange charges different fees per region or account type; or the fee is a percentage that depends on the amount you withdraw. Always confirm on the exchange's own screen before you transact.
A dash means we have no verified number, not that the fee is zero. We never publish a zero we did not read from the exchange, because on a fee site 'unknown' and 'free' being confused is the worst mistake we could make.
USD = fee in coin × the live price of that coin at the moment the page renders. We do not display the USD value that was true at sync time, because for a volatile coin that number is wrong within minutes. Percentage-based fees have no fixed USD value and are shown as a percentage.
No. Being listed, being compared and the fee numbers themselves are not for sale. Some outbound buttons are referral links, marked “Referral” on the exchange’s own page, as are the occasional exchange banners we place ourselves, and may earn us a commission, but they feed into no calculation: every comparison and cheapest-route verdict comes from the fee data alone. The single hand-set thing is the default order of the exchange directory on the home page, which is editorial and not for sale.
Related: about this site · general FAQ · disclaimer.