Withdrawal fee changes
Exchanges do not announce a fee change. The old number is replaced and the page carries no trace of it, so unless you looked yesterday you cannot tell that anything moved. We re-read the same public APIs before every build and keep the previous answer. This is the record.
Last re-read: 2026-07-28
All observed on 2026-07-28, rather than reported to us.
One row per exchange, asset and network — BTC, ETH, USDC, USDT across 4 venues.
Read directly from each exchange, never from a fee page or a screenshot.
Everything we have recorded
| Observed | What happened | Asset · network | Venue | Fee | Change |
|---|---|---|---|---|---|
| 2026-07-28 | Fee increased | USDC · MATIC | CoinEx | 0.002 → 0.0025 | +25.0% |
| 2026-07-28 | Fee decreased | USDC · MATIC | CoinEx | 0.0023 → 0.002 | -13.0% |
| 2026-07-28 | Fee increased | ETH · BEP20 | Bitget | 0.00007972 → 0.0000799 | +0.23% |
| 2026-07-28 | Fee increased | ETH · Morph | Bitget | 0.00005315 → 0.00005327 | +0.23% |
What is being watched
| Venue | Assets | Networks tracked | Last read |
|---|---|---|---|
| Bitget | BTC, ETH, USDC, USDT | 38 | 2026-07-28 |
| CoinEx | BTC, ETH, USDC, USDT | 19 | 2026-07-28 |
| HTX | BTC, ETH, USDC, USDT | 39 | 2026-07-28 |
| KuCoin | BTC, ETH, USDC, USDT | 50 | 2026-07-28 |
Binance, OKX, MEXC, Bybit do not publish per-chain withdrawal fees without an account, so their movements cannot be observed from a public source. They are absent from this log rather than estimated into it.
Take it as a feed
Every entry above is published as RSS and as aJSON Feed, written by the same build that writes this page. Entries carry a stable identifier derived from the observation itself, so re-running the check cannot resurface a movement you have already seen. No account, no email, no tracking parameter on the feed URL.
How the log is produced
Before each build, one request per exchange per asset goes to that exchange's own public endpoint. The answer is compared against the copy stored from the previous run, and only differences are appended — a re-run that finds the same numbers writes nothing, which is why this log has no "no change today" entries. The comparison happens before the stored copy is overwritten, because the file about to be replaced is the only record of the previous state.
A network that disappears from an exchange's response is recorded as removed only when that exchange answered the request. When an API is unreachable its whole asset is missing from the response, and calling that a delisting would be a claim about the exchange when the only fact in evidence is about our own request. Themethodology page covers the same rule for the rest of the site.
Where this actually helps
A fee that moved is a reason to re-check a decision you already made. If you route USDT out through the same venue every month, a doubling that nobody announced costs you every month until you notice. The per-asset guides carry the current answer: cheapest way to withdraw USDT, USDC, BTC and ETH, each rebuilt from the same read that feeds this log.
- How often is this checked?
- Before every build of the site, which is at least daily. Each check re-reads the public API of 4 exchanges directly; nothing on this page is typed by hand or copied from a fee page that may itself be stale.
- Why do withdrawal fees change at all?
- A withdrawal fee is set by the exchange, not by the blockchain. Venues re-price it as network costs move, as their own hedging costs move, and sometimes as a competitive lever. Because the exchange sets it, two venues can charge very different amounts for an identical transfer on the same network.
- Which exchanges are missing?
- Binance, OKX, MEXC, Bybit do not expose per-chain withdrawal fees without an account, so their movements cannot be observed from a public source and are absent here rather than estimated. Their fees are visible to you once you are logged in.
- Can I get these as a feed?
- Yes. The same entries are published as RSS at /changes.xml and as JSON Feed at /changes.json, updated in the same build that updates this page. Each entry carries a stable identifier, so a reader will not show you the same movement twice.