Is bridging cheap right now?
A single quote tells you today's price. It does not tell you whether today's price is good. We snapshot 12 high-volume routes every hour and keep 30 days, so you can see where the current cost sits in its own range.
Tracked routes
Cheapest total cost across all responding providers, sampled hourly. Each figure is measured, not modelled — a route with few samples says so.
These routes are on the same hourly schedule but have not produced a usable sample yet — usually because no provider quoted the pair, or because collection only recently started. They appear above as soon as they do.
How these numbers are produced
Hourly samples
Once per hour a collector requests quotes for each of the 12 tracked routes from every provider that supports the pair, and records one row per route. A round where no provider answers is written as an empty sample rather than skipped, so a gap in the data stays visible as a gap instead of quietly closing up.
Fixed reference amount
Every sample uses the same transfer size — 1,000 units for stablecoins, 0.5 ETH for ether. Bridge costs scale non-linearly with amount, so a series where the amount drifted between samples would not be comparable over time. The trade-off: these figures describe a mid-size transfer, not yours.
Total cost, not headline fee
The cost we chart is the bridge fee plus source-chain gas, converted to USD with live token prices at capture time. Ranking on the fee alone would put a "0.01% fee" route above one that costs half as much to execute.
Missing gas estimates are recorded, not guessed
Some providers return no gas estimate. Rather than substituting an average, each stored quote carries an explicit includesGas flag, and its fee and gas components stay separate — so a fee-only figure can never be mistaken for a full cost. Expect a slight downward bias on routes where several providers report no gas.
Destination gas is not included
Claiming or receiving on the destination chain can cost extra on some providers. We do not currently model it, so treat these figures as the source-side cost of the transfer.
The raw series is readable by anyone. One CORS-open, no-key JSON endpoint per route returns the summary stats and every sample in the window:
GET /api/history/{from}/{to}/{token}?days=30For example /api/history/ethereum/arbitrum/usdc?days=30. Chains: ethereum, polygon, arbitrum, optimism, base, bsc, avalanche. Tokens: eth, usdc, usdt, wbtc, dai. Attribution to BridgeFees.com is appreciated; the response is empty-but-valid for a route we have not sampled yet.
Rather than checking this page, name your route and a target cost and let the collector tell you when it gets there.
Tell us your target cost
Pick a route and the total cost you would actually bridge at. We are collecting these requests now so we know which routes to watch first.