// fee history

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.

10 of 12 routes with data832 samples collectedCompare a route live
// 30-day window

Tracked routes

Cheapest total cost across all responding providers, sampled hourly. Each figure is measured, not modelled — a route with few samples says so.

Ethereum → Arbitrum · USDC
cheapest total cost · 1,000 USDC
$0.12
Below average — good time
30d min
$0.12
30d avg
$0.15
30d max
$1.05
usually cheapest: Celer cBridge275 samples
updated 44 min agocompare live →
Ethereum → Arbitrum · ETH
cheapest total cost · 0.5 ETH
latest sample returned no quotes
30d min
$0.23
30d avg
$0.23
30d max
$0.23
usually cheapest: Across Protocol1 sample
updated 44 min agocompare live →
Ethereum → Polygon · USDC
cheapest total cost · 1,000 USDC
$0.12
Below average — good time
30d min
$0.11
30d avg
$0.14
30d max
$1.04
usually cheapest: Celer cBridge275 samples
updated 44 min agocompare live →
Ethereum → Optimism · USDC
cheapest total cost · 1,000 USDC
$0.13
Below average — good time
30d min
$0.13
30d avg
$0.16
30d max
$1.06
usually cheapest: Celer cBridge275 samples
updated 44 min agocompare live →
Ethereum → Base · ETH
cheapest total cost · 0.5 ETH
latest sample returned no quotes
30d min
$0.23
30d avg
$0.23
30d max
$0.23
usually cheapest: Across Protocol1 sample
updated 44 min agocompare live →
Ethereum → Base · USDC
cheapest total cost · 1,000 USDC
latest sample returned no quotes
30d min
$0.23
30d avg
$0.23
30d max
$0.23
usually cheapest: Across Protocol1 sample
updated 44 min agocompare live →
Arbitrum → Ethereum · USDC
cheapest total cost · 1,000 USDC
latest sample returned no quotes
30d min
$0.26
30d avg
$0.26
30d max
$0.26
usually cheapest: Across Protocol1 sample
updated 44 min agocompare live →
Arbitrum → Base · USDC
cheapest total cost · 1,000 USDC
latest sample returned no quotes
30d min
$0.24
30d avg
$0.24
30d max
$0.24
usually cheapest: Across Protocol1 sample
updated 44 min agocompare live →
Polygon → Arbitrum · USDC
cheapest total cost · 1,000 USDC
latest sample returned no quotes
30d min
$0.21
30d avg
$0.21
30d max
$0.21
usually cheapest: Across Protocol1 sample
updated 44 min agocompare live →
Optimism → Base · ETH
cheapest total cost · 0.5 ETH
latest sample returned no quotes
30d min
$0.60
30d avg
$0.60
30d max
$0.60
usually cheapest: Across Protocol1 sample
updated 44 min agocompare live →
// still collecting

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.

Base → Ethereum · ETH · collectingEthereum → BNB Chain · USDT · collecting
// methodology

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.

// use the data

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=30

For 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.

// fee alertsnot sending yet

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.

Delivery isn't live yet — we're collecting requests and will confirm by email before sending anything.

We only store your address to send this alert. No newsletter, no sharing. Privacy policy