We had opinions going in. Strong ones. Wormhole = safe default. deBridge = fast. Allbridge = stablecoins. LayerZero = flexible. These were vibes from months of casual use, not data. Time to actually test them.
Methodology: 47 transfers over two weeks. $50K USDC each. Three routes: ETH→SOL, ETH→ARB, SOL→ETH. All four bridges on each transfer, within a 10-minute window to keep conditions comparable. Tracked fees, realized slippage (not quoted — actual), speed, and success/failure.
The Full Dataset
1sample from the raw data (10 of 47):2
3# route bridge fees slippage time net output41 ETH→SOL Wormhole $148 0.12% 4m20s $49,79251 ETH→SOL deBridge $95 0.08% 28s $49,865 ★61 ETH→SOL LayerZero $122 0.15% 2m45s $49,80371 ETH→SOL Allbridge $135 0.09% 3m10s $49,8208
92 ETH→SOL Wormhole $142 0.11% 4m05s $49,803102 ETH→SOL deBridge $102 0.22% 32s $49,788112 ETH→SOL LayerZero $118 0.06% 2m30s $49,852 ★122 ETH→SOL Allbridge $130 0.14% 5m15s $49,80013
143 ETH→ARB Wormhole $85 0.04% 3m50s $49,895153 ETH→ARB deBridge $62 0.02% 22s $49,928 ★163 ETH→ARB LayerZero $78 0.03% 1m55s $49,907173 ETH→ARB Allbridge $92 0.05% 4m30s $49,88318
19★ = best net output for that transferNotice #1 and #2. Same route (ETH→SOL), same amount, two days apart. Different winner. deBridge won #1 by $73 over the next best. LayerZero won #2 by $64. The conditions that make one bridge optimal are not stable.
"Wormhole Is the Safe Default"
Sort of. Highest success rate at 99.7% — only one timeout in our entire test period, and it resolved on retry. But also the most expensive on around 60% of routes.
1Wormhole results (47 transfers):2 times it was cheapest: 8 (17.0%)3 times it was most expensive: 28 (59.6%)4 times it was fastest: 0 (0%)5 times it was slowest: 12 (25.5%)6 average fees: $1387 average speed: 4m12s8 success rate: 99.7% (46/47, 1 timeout-retry)9
10 the "safe" choice was the expensive choice most of the time.Guardian verification is reliable but heavy. You're paying a premium for that reliability on every transfer, even when the other bridges would have been equally reliable for that specific route at that specific moment.
"deBridge Is Always Fastest"
Mostly true and we were genuinely surprised by how consistent it was. DLN intent fills are a different model from pool-based bridges — a filler picks up your intent and executes it, which can be almost instant when fill demand is low.
1deBridge results (47 transfers):2 times it was cheapest: 22 (46.8%)3 times it was fastest: 39 (83.0%)4 average speed: 31s5 median speed: 27s6 worst speed: 3m45s (high fill demand period)7 success rate: 97.8% (46/47, 1 fill timeout)8
9 fastest 83% of the time. but the two times it wasn't10 were during congestion when you'd most want it to be fast.The exception cases matter though. During high fill demand, deBridge's speed advantage disappears. And those are exactly the conditions when speed matters most — volatile markets, everyone trying to move at once.
"One Bridge Will Dominate Per Route"
This was the assumption we were most wrong about. We expected that for a given route — say ETH→SOL — one bridge would be clearly best overall if not best at everything.
1// actual data from one test day. same route, different times.2// "optimal" = best net output after real fees + real slippage3
4const ethToSol_march1 = [5 { time: '14:00', winner: 'deBridge', net: 49_720, margin: '+$85' },6 { time: '14:30', winner: 'Allbridge', net: 49_690, margin: '+$42' },7 { time: '16:00', winner: 'Wormhole', net: 49_710, margin: '+$28' },8 { time: '16:30', winner: 'deBridge', net: 49_740, margin: '+$110' },9 { time: '19:00', winner: 'LayerZero', net: 49_680, margin: '+$55' },10];11
12// five tests on one route on one day. four different winners.Out of 47 total transfers, the same bridge was optimal for 11. Eleven. The other 36 times, it was a different bridge.
"Direction Doesn't Matter"
Didn't even think about this until the data showed it. We assumed ETH→SOL and SOL→ETH would have similar characteristics. They don't.
1ETH→SOL optimal bridge distribution (23 transfers):2 deBridge: 11 (47.8%)3 LayerZero: 5 (21.7%)4 Allbridge: 4 (17.4%)5 Wormhole: 3 (13.0%)6
7SOL→ETH optimal bridge distribution (12 transfers):8 Wormhole: 5 (41.7%)9 deBridge: 3 (25.0%)10 Allbridge: 3 (25.0%)11 LayerZero: 1 (8.3%)12
13completely different distributions. same chains, opposite direction.Pool balances are asymmetric. Liquidity depth differs by direction. Fees are calculated differently depending on which chain is source vs destination. Makes complete sense in retrospect. We just hadn't thought about it.
The Aggregate Numbers
Fee spread between cheapest and most expensive bridge on the same route ranged from 0.3% to 1.2%. On $50K that's $150 to $600 per transfer.
1aggregate results (47 transfers):2 average savings of optimal vs default (Wormhole): $3403 average savings of optimal vs worst: $4804 max savings on a single transfer: $6205 min savings: $456
7 if someone makes 10 transfers/month at $50K avg:8 annual cost of using default bridge: ~$40,8009 annual cost of optimal routing: ~$0 (engine is free)10 annual savings: ~$40,80047 transfers. Same bridge was optimal for 11. If you always use your default, you're picking wrong 77% of the time. That's not an edge case. That's the default experience.
What This Validated
We built MNMX on the assumption that the optimal bridge shifts constantly and unpredictably. After 47 data points across two weeks, that assumption held. It's not theoretical. The routing problem is real and it costs real money on basically every transfer where you don't check all options.
The full dataset is in the repo if anyone wants to run their own analysis.