diff --git a/answers/cheapest-bridge-usdc-to-base.yml b/answers/cheapest-bridge-usdc-to-base.yml
index e97491898..31abc564c 100644
--- a/answers/cheapest-bridge-usdc-to-base.yml
+++ b/answers/cheapest-bridge-usdc-to-base.yml
@@ -1,41 +1,42 @@
slug: cheapest-bridge-usdc-to-base
question: "Which bridge is cheapest to move USDC to Base?"
short_answer: |
- OpenChainBench measures the all in cost of a $300 USDC bridge (fee plus slippage plus destination gas) across eight routers: Mobula, Relay, LI.FI, deBridge, Across, Near Intents, Squid and Socket. Since the bench aggregates across the Solana, Base and Arbitrum corridors, the USDC-to-Base leader on a specific corridor is on the per corridor breakdown at openchainbench.com/benchmarks/bridge-fee.
+ {{best_name:chain:Base}} is the cheapest measured bridge for $300 USDC from Solana to Base at {{best_p50:chain:Base}} all in (fee plus slippage plus destination gas, p50 over 24h); {{worst_name:chain:Base}} is the most expensive on that corridor at {{worst_p50:chain:Base}}. Across every corridor the leader is {{best_name}} at {{best_p50}}, measured live by OpenChainBench across {{count}} routers.
benchmark: bridge-fee
intro: |
- Bridge comparison articles publish rack rate fee schedules and stop there. The rack rate is one number in a bill that also includes destination gas, LP fees passed through as slippage, and the effective execution price the router actually delivers. On a $300 USDC bridge to Base, two providers quoting the same 5 bps headline can deliver very different real fees once the router walks the pool. This page answers the specific question retail and small-treasury movers actually search for: at $300 USDC notional, which bridge to Base is cheapest today. OpenChainBench queries the same USDC to Base intent against every major router every 5 minutes, computes the all-in effective fee including destination gas, and publishes the ranked leaderboard live.
+ Bridge comparison articles publish rack rate fee schedules and stop there. The rack rate is one number in a bill that also includes destination gas, LP fees passed through as slippage, and the effective execution price the router actually delivers. On a $300 USDC bridge to Base, two providers quoting the same 5 bps headline can deliver very different real fees once the router walks the pool. This page answers the specific question retail and small treasury movers actually search for: at $300 USDC notional, which bridge into Base is cheapest today. OpenChainBench sends the same Solana to Base USDC quote request to every measured router every 5 minutes, computes the all in cost including destination gas, and publishes the ranked leaderboard live; the Sol to Base tab of the bench page is the corridor this answer reads.
methodology: |
- Every 5 minutes the harness sends the same intent (source: Ethereum mainnet USDC, destination: Base USDC, amount: $300 notional, receiver: probe wallet) to each router's quote API in parallel. Effective fee is computed as `(source_input_usd - destination_output_usd - destination_gas_usd) / source_input_usd` in basis points, so slippage, LP fees and gas are all inside the same number. Providers that fail to return a quote (5xx, rate limit, timeout) leave the previous gauge in place and increment a fetch_errors_total counter. The leaderboard ranks by 24h average of bridge_effective_fee_bps for the USDC to Base pair. The $300 size is the small ticket regime; sibling benches probe higher notional to expose where routers slip on size.
+ Every 5 minutes the bridge-monitor harness requests a quote for the same intent (source: USDC on Solana, destination: USDC on Base, amount: $300) from each router's quote API. The recorded metric is `bridge_cost_percent`, the share of the $300 ticket that does not arrive on Base once the explicit fee, the slippage and the destination gas returned by the quote are summed. Quotes that error (unsupported route, quote_failed, timeout) are excluded from the cost aggregate and counted toward the success rate, so a broken router cannot post a zero. The leaderboard ranks by the 24h p50 of `bridge_cost_percent{bridge="X", amount_usd="300", to_chain="Base"}`; p90 and p99 capture the worst minutes. The bench page's Sol to Base tab is this corridor; the other tabs (Base to Arb, Arb to Sol, Arb to HyperCore) show the same routers on the other measured routes.
limitations:
- - "Quote fee only. This measures router-quoted effective fee, not settlement. Any router that quotes tighter than it settles would show a fast p50 with degraded real-world execution; the sibling bridge-quote-latency bench flags routers where quote-to-settle drift is measurable."
- - "One size, one route. The $300 USDC to Base pair is the highest-search-volume small-ticket bridge query. At $50k notional the leaderboard re-orders because the spread and LP fee components dominate. Producers moving treasury size should read the per-size breakdown on the bench page."
- - "Destination gas at quote time. Destination gas is included in the effective fee at the quoted receiver payout, not at a delayed execution instant. A destination gas spike between quote and settle would degrade the actual fee below what this leaderboard reports."
- - "No canonical CCTP fast path. The USDC canonical bridge via Circle CCTP has different guarantees and speeds than the market-maker routers ranked here. The leaderboard measures the market-maker path (Mobula, Relay, LI.FI, deBridge, Across, Near Intents) because it is the head-to-head every comparison article ranks."
+ - "Quote cost, not settled cost. This measures what the router quotes for the transfer, not what lands after settlement. A router that quotes tighter than it settles would look cheaper here than in a wallet; a separate execution bench on the same harness reads the realized amount on chain for the routers that support programmatic execution."
+ - "One size, one route. The $300 USDC Solana to Base corridor is the highest search volume small ticket bridge query. At $10000 the ranking re-orders because the fixed components (destination gas, base protocol fee) dilute into the percentage; the harness quotes $5, $50 and $300 only, so larger tickets are not measured."
+ - "Destination gas at quote time. Destination gas is included in the all in cost at the quoted payout, not at a delayed execution instant. A Base gas spike between quote and settlement would move the real cost away from what this leaderboard reports."
+ - "No canonical CCTP path. Circle's burn and mint bridge has different guarantees and speeds than the market maker routers ranked here. The leaderboard measures the router path because it is the head to head every comparison article ranks."
+ - "Single point of measurement in EU-West (Paris). A router whose solvers sit in us-east can quote differently from there; the us-east and Singapore probes are paused."
faq:
- q: "Which bridge is cheapest for a $300 USDC transfer to Base?"
- a: "The bench-fee leaderboard on the Base corridor is at openchainbench.com/benchmarks/bridge-fee. Eight routers compete on the same $300 USDC probe (Mobula, Relay, LI.FI, deBridge, Across, Near Intents, Squid and Socket) and the ranking re-sorts every 5 minutes against fresh Prometheus samples."
+ a: "{{best_name:chain:Base}} at {{best_p50:chain:Base}} all in on the Solana to Base corridor (p50 over 24h). {{count}} routers compete on the same $300 USDC quote and the ranking re-sorts every 5 minutes against fresh Prometheus samples; the most expensive on this corridor is {{worst_name:chain:Base}} at {{worst_p50:chain:Base}}."
- q: "Why $300, and does the winner change at $10k or $100k?"
- a: "$300 is the small-ticket regime that dominates retail search. At $10k the leaderboard shifts because aggregator markups compress against intent-based routers (Across, Near Intents, Mobula) whose quotes are less size-dependent. At $100k the spread widens further and the choice becomes size-specific; the per-size tab on the bench page shows the leader at each notional."
+ a: "$300 is the small ticket regime that dominates retail search. At $10k the ranking shifts because fixed components (destination gas, protocol base fee) dilute into the percentage and aggregator markups compress against intent based routers whose quotes are less size dependent. The harness quotes $5, $50 and $300, so this page cannot name the leader at $10k; treasury size transfers should be quoted directly."
- q: "Is Circle CCTP not on this ranking?"
- a: "CCTP is Circle's canonical burn-and-mint path for USDC. It has different guarantees, speeds and a fixed protocol path, so it is not directly comparable to market-maker routers that price a swap through a pool. The bench measures the market-maker rankings because that is the choice retail actually makes; canonical CCTP is a separate decision users make once they know their maximum acceptable latency."
- - q: "How is Across usually so cheap on this route?"
- a: "Across runs an intent-based settlement model where relayers compete to fill from destination inventory. That model compresses the spread component to near zero on high-liquidity pairs like USDC Ethereum to Base. On less-liquid destinations Across loses its edge; that per-destination effect is why the leaderboard re-ranks by pair rather than emitting a single global cheapest bridge."
+ a: "CCTP is Circle's canonical burn and mint path for USDC. It has different guarantees, speeds and a fixed protocol path, so it is not directly comparable to market maker routers that price a transfer through a pool or a solver auction. The bench measures the router rankings because that is the choice retail actually makes; canonical CCTP is a separate decision users make once they know their maximum acceptable latency."
+ - q: "Why does the Base corridor leader differ from the overall leader?"
+ a: "The overall headline pools the Solana, Base, Arbitrum and HyperCore corridors. A solver network with deep inventory on Base can lead Sol to Base and trail on Arb to HyperCore, where inventory is thinner. Today the overall leader is {{best_name}} at {{best_p50}} and the Sol to Base leader is {{best_name:chain:Base}} at {{best_p50:chain:Base}}; the two names coincide only when one router leads on every route."
- q: "Which USDC routers are on this leaderboard?"
- a: "Eight routers: Mobula, Relay, LI.FI, deBridge, Across, Near Intents, Squid and Socket. Stargate is not measured because its $300 USDC quote API did not meet the harness's coverage or reliability threshold."
+ a: "{{count}} routers with live data today. The measured set spans direct protocols, aggregators, intent layers and relays; a router drops out of the ranking when its quotes fail for the whole 24h window and returns when they resume. Stargate is not measured because its $300 USDC quote API did not meet the harness's coverage or reliability threshold."
- q: "How often is the leaderboard refreshed?"
- a: "Every 5 minutes. The harness probes every router's quote API at that cadence, publishes bridge_effective_fee_bps to Prometheus, and the page reads a 24h rolling average. Because the recording rules re-aggregate every 30 seconds the on-screen ranking re-orders within a minute of any router changing quote behavior."
+ a: "Every 5 minutes. The harness requests a quote from every router at that cadence, publishes `bridge_cost_percent` to Prometheus, and the page reads a rolling 24h p50, p90 and p99, so a single off market quote cannot move the headline."
related:
- which-bridge-has-the-fastest-quote-api
- which-bridge-has-the-cheapest-usdc-fee
- which-blockchain-has-cheapest-transaction-fees
-seo_title: "Cheapest bridge for USDC to Base 2026 live"
-seo_description: "OpenChainBench ranks six USDC routers (Mobula, Relay, LI.FI, deBridge, Across, Near Intents) on all in cost at $300 notional across Solana, Base and Arbitrum. Live per corridor breakdown on the bench page."
+seo_title: "Cheapest bridge for USDC to Base: {{best_name:chain:Base}} at {{best_p50:chain:Base}}"
+seo_description: "{{best_name:chain:Base}} is the cheapest bridge for $300 USDC from Solana to Base at {{best_p50:chain:Base}} all in (fees, slippage, gas), measured live every 5 minutes across {{count}} routers."
status: live
diff --git a/answers/what-is-the-highest-crypto-staking-yield.yml b/answers/what-is-the-highest-crypto-staking-yield.yml
index 8aaae87eb..6d5689b25 100644
--- a/answers/what-is-the-highest-crypto-staking-yield.yml
+++ b/answers/what-is-the-highest-crypto-staking-yield.yml
@@ -1,7 +1,7 @@
slug: what-is-the-highest-crypto-staking-yield
question: "What is the highest crypto staking yield right now?"
short_answer: |
- {{best_name}} currently pays the highest staking yield at {{best_p50}} (median validator net yield, 24h) across the {{count}} chains OpenChainBench measures live: Solana, Hyperliquid, Ethereum, Cardano, SUI, Cosmos Hub and Avalanche. Net yield means gross APR multiplied by validator uptime, after commission, with MEV included where the chain has a validator level MEV market.
+ {{best_name}} currently pays the highest staking yield at {{best_p50}} (median validator net yield, 24h) across the {{count}} chains OpenChainBench measures live; the lowest is {{worst_name}} at {{worst_p50}}. Net yield means gross APR multiplied by validator uptime, after commission, with MEV included where the chain has a validator level MEV market.
benchmark: validator-yield
@@ -35,5 +35,5 @@ related:
- which-blockchain-has-cheapest-transaction-fees
seo_title: "Highest crypto staking yield right now? Live validator data"
-seo_description: "{{best_name}} currently pays the highest staking yield at {{best_p50}} (median validator net yield, 24h) across {{count}} chains (Solana, Hyperliquid, Ethereum, Cardano, SUI, Cosmos Hub, Avalanche), measured live on chain by OpenChainBench."
+seo_description: "{{best_name}} currently pays the highest staking yield at {{best_p50}} (median validator net yield, 24h) across {{count}} chains; {{worst_name}} pays the least at {{worst_p50}}. Measured live on chain by OpenChainBench."
status: live
diff --git a/answers/which-bridge-has-the-cheapest-usdc-fee.yml b/answers/which-bridge-has-the-cheapest-usdc-fee.yml
index c2af08d88..5aaf01105 100644
--- a/answers/which-bridge-has-the-cheapest-usdc-fee.yml
+++ b/answers/which-bridge-has-the-cheapest-usdc-fee.yml
@@ -1,18 +1,18 @@
slug: which-bridge-has-the-cheapest-usdc-fee
question: "Which cross-chain bridge has the cheapest USDC transfer fee in 2026?"
short_answer: |
- OpenChainBench ranks six USDC routers (Mobula, Relay, LI.FI, deBridge, Across and Near Intents) on all in bridging cost (fee plus slippage plus destination gas) at $300 notional across the Solana, Base and Arbitrum corridors. The 24h p50 leader today is at openchainbench.com/benchmarks/bridge-fee; per corridor breakdown available on the same page.
+ {{best_name}} is the cheapest measured bridge for a $300 USDC transfer at {{best_p50}} all in (fee plus slippage plus destination gas, p50 over 24h) across {{count}} routers on the Solana, Base and Arbitrum corridors; the most expensive is {{worst_name}} at {{worst_p50}}. OpenChainBench re-quotes every router every five minutes and the per corridor split is on the bench page.
benchmark: bridge-fee
intro: |
- Bridge fee comparisons in the wild quote rack rates at $1000 or $10000 notionals where fixed costs dilute into the percentage, then publish a single advertised fee per bridge. The reality every retail user faces is different. At small ticket sizes the destination gas, the base protocol fee and the solver spread combine into one number that often exceeds the advertised "0.05% fee" by an order of magnitude. This page answers the only question that matters before signing a bridge transaction. What does a $300 USDC transfer actually cost, all in, on each major venue, right now. OpenChainBench polls deBridge (direct protocol with a native token fee), LI.FI (aggregator routing through underlying bridges), Mobula (intent layer compressing cost into a settlement spread), Relay (cross chain relay), Across (intent based settlement) and Near Intents (solver settled) every five minutes for a $300 USDC quote on Solana, Base and Arbitrum corridors. The reported figure is `bridge_cost_percent`, the full bottom line (fees plus slippage plus destination gas), not the explicit fee field most providers advertise. The 24h p50 sets the leaderboard, so a single favourable quote cannot crown a winner.
+ Bridge fee comparisons in the wild quote rack rates at $1000 or $10000 notionals where fixed costs dilute into the percentage, then publish a single advertised fee per bridge. The reality every retail user faces is different. At small ticket sizes the destination gas, the base protocol fee and the solver spread combine into one number that often exceeds the advertised "0.05% fee" by an order of magnitude. This page answers the only question that matters before signing a bridge transaction. What does a $300 USDC transfer actually cost, all in, on each major venue, right now. OpenChainBench polls {{count}} routers every five minutes for a $300 USDC quote on the Solana, Base and Arbitrum corridors: direct protocols with a native token fee (deBridge), aggregators routing through underlying bridges (LI.FI, Squid, Socket), intent layers and solver networks that compress cost into a settlement spread (Mobula, Across, Near Intents) and a relay (Relay). The reported figure is `bridge_cost_percent`, the full bottom line (fees plus slippage plus destination gas), not the explicit fee field most providers advertise. The 24h p50 sets the leaderboard, so a single favourable quote cannot crown a winner.
methodology: |
Each bridge is queried every five minutes from a single eu-west origin on the same set of USDC corridors (Solana, Base, Arbitrum) at $300 notional. The harness records `bridge_cost_percent`, which sums the explicit fee, the price impact (slippage) and the destination gas component returned by each provider's quote endpoint. Quotes that error (unsupported route, quote_failed, timeout) are excluded from the cost aggregate and counted toward the success rate so a fast but broken provider cannot game the headline. The 24h p50 of `bridge_cost_percent{bridge="X", amount_usd="300"}` is the headline number; p90 and p99 capture the worst minutes. Provider types are surfaced as badges because each pricing architecture (direct protocol, aggregator, intent layer) absorbs cost differently and they do not converge under the same query.
limitations:
- - "Reported costs aggregate over Solana, Base and Arbitrum corridors. A solver with deep inventory on one route can lead overall yet trail on a specific corridor, the per corridor split lands once `dimensions:` for `from_chain` and `to_chain` are wired into the bench page."
+ - "The headline aggregates the Solana, Base, Arbitrum and HyperCore corridors. A solver with deep inventory on one route can lead overall yet trail on a specific corridor; the corridor tabs on the bench page (Sol to Base, Base to Arb, Arb to Sol, Arb to HyperCore) show the per route leader."
- "Sampled at $300 USDC notional. At $5000 or $10000 the fixed gas and base fee components dilute into the percentage and the leaderboard re-orders; intent layers usually keep their lead but the gap to direct protocols compresses sharply."
- "Single point of measurement in eu-west. A bridge whose solver pool sits in us-east can post a different quote there; multi-region requires running additional monitor instances of the bridge-monitor harness."
- "The number is the quote cost at request time, not the realised cost after settlement. On volatile corridors the underlying spot can drift between quote and signing, intent layers re-quote at signing time, aggregators usually pass through a slippage parameter."
@@ -20,9 +20,9 @@ limitations:
faq:
- q: "What is the cheapest cross-chain bridge for USDC right now?"
- a: "The 24h p50 leader on $300 USDC across the measured Solana, Base and Arbitrum corridors is at openchainbench.com/benchmarks/bridge-fee. Six routers compete (Mobula, Relay, LI.FI, deBridge, Across, Near Intents) and the ranking refreshes every five minutes against fresh Prometheus samples; the 24h p50 smooths a single favourable quote so the ranking reflects sustained competitiveness. Per corridor leaders can diverge from this aggregate when one solver has deep inventory on a specific route."
+ a: "{{best_name}} at {{best_p50}} all in on $300 USDC (p50 over 24h) across the measured Solana, Base and Arbitrum corridors. {{count}} routers compete and the ranking refreshes every five minutes against fresh Prometheus samples; the 24h p50 smooths a single favourable quote so the ranking reflects sustained competitiveness. Per corridor leaders can diverge from this aggregate when one solver has deep inventory on a specific route."
- q: "Why use $300 USDC instead of $1000 or $10000?"
- a: "Most published bridge comparisons quote at $1000 or $10000 where fixed fee components (destination gas, base protocol fee) dilute into the percentage. At $300 the fixed component becomes the dominant share of the cost, matching the regime real retail users actually face. The harness records $5, $50, $300, $1000 and $10000 buckets; the $300 bucket is the most representative of small ticket flows where intent layers compress costs hardest and aggregator markups become visible."
+ a: "Most published bridge comparisons quote at $1000 or $10000 where fixed fee components (destination gas, base protocol fee) dilute into the percentage. At $300 the fixed component becomes the dominant share of the cost, matching the regime real retail users actually face. The harness quotes $5, $50 and $300; this page reports the $300 bucket because it is the most representative of small ticket flows where intent layers compress costs hardest and aggregator markups become visible."
- q: "How is bridge cost calculated, fee or all in?"
a: "All in. The headline metric is `bridge_cost_percent`, which sums the explicit fee, the slippage (price impact on the underlying liquidity) and the destination gas paid by the user. The narrower `bridge_fees_percent` would let aggregators with implicit pricing render as 0% while still charging the user through the spread, which is the comparison failure most articles fall into. The bottom line that leaves the wallet is the right metric, and it is what this page surfaces."
- q: "Are bridge aggregators always cheaper than direct bridges?"
@@ -38,7 +38,7 @@ related:
- which-evm-aggregator-has-the-fastest-quote
seo_title: "Which cross-chain bridge has the cheapest USDC fee in 2026?"
-seo_description: "OpenChainBench ranks six USDC routers (Mobula, Relay, LI.FI, deBridge, Across, Near Intents) on all in cost at $300 notional across Solana, Base and Arbitrum. Live 24h p50 leader on the bench page."
+seo_description: "{{best_name}} is the cheapest bridge for $300 USDC at {{best_p50}} all in (p50, 24h) across {{count}} measured routers; {{worst_name}} costs {{worst_p50}}. Live, per corridor."
status: live
expert_take: |
diff --git a/answers/which-bridge-has-the-fastest-quote-api.yml b/answers/which-bridge-has-the-fastest-quote-api.yml
index b6da78421..9bb7fa155 100644
--- a/answers/which-bridge-has-the-fastest-quote-api.yml
+++ b/answers/which-bridge-has-the-fastest-quote-api.yml
@@ -1,19 +1,20 @@
slug: which-bridge-has-the-fastest-quote-api
question: "Which cross-chain bridge has the fastest quote API in 2026?"
short_answer: |
- {{best_name}} currently returns USDC bridge quotes the fastest at {{best_p50}} (p50, 24h), measured live across {{count}} bridges (Mobula, Relay, LI.FI, deBridge, Near Intents, Across, Squid and Socket) on identical USDC routes by OpenChainBench.
+ {{best_name}} currently returns USDC bridge quotes the fastest at {{best_p50}} (p50, 24h), measured live across {{count}} bridges on identical USDC routes by OpenChainBench; {{worst_name}} is the slowest at {{worst_p50}}.
benchmark: bridge-quote-latency
intro: |
- Every wallet, aggregator UI and chat app swap module that integrates a bridge sits behind the provider's quote API. A 200 ms p99 lets the integration render a price the moment the user changes the input. A 5000 ms p99 forces a long loading spinner or a timeout fallback that masks the slow path with a stale quote. This page answers the question integrators ask before pasting a quote endpoint into production. Which cross chain bridge API actually returns a usable quote the fastest, measured in wall clock milliseconds from request dispatch to last byte received, on identical USDC routes. OpenChainBench cycles a 5 minute sweep across 4 routes (USDC pairs spanning Solana, Base and Arbitrum) and 3 notional sizes ($5, $50, $300) against every supported bridge from 3 regions (eu-west, us-east and Singapore). Errored quotes (quote_failed, unsupported route, timeout) are excluded from the latency aggregate and counted toward a separate success rate so a fast but broken bridge cannot game the headline number.
+ Every wallet, aggregator UI and chat app swap module that integrates a bridge sits behind the provider's quote API. A 200 ms p99 lets the integration render a price the moment the user changes the input. A 5000 ms p99 forces a long loading spinner or a timeout fallback that masks the slow path with a stale quote. This page answers the question integrators ask before pasting a quote endpoint into production. Which cross chain bridge API actually returns a usable quote the fastest, measured in wall clock milliseconds from request dispatch to last byte received, on identical USDC routes. OpenChainBench cycles a 5 minute sweep across 4 routes (USDC pairs spanning Solana, Base and Arbitrum) and 3 notional sizes ($5, $50, $300) against every supported bridge; every figure on this page is pinned to the EU-West (Paris) origin. Errored quotes (quote_failed, unsupported route, timeout) are excluded from the latency aggregate and counted toward a separate success rate so a fast but broken bridge cannot game the headline number.
methodology: |
- The bridge-monitor harness issues identical quote requests against every measured bridge for the same route and notional, every 5 minutes, from 3 regions (eu-west, us-east and Singapore). Each request times wall clock duration from send to last byte received, then publishes a Prometheus histogram with buckets at 50, 100, 200, 500, 1000, 2000, 5000 and 10000 ms. p50, p90 and p99 are derived via `histogram_quantile(sum by (le) (rate(bridge_quote_latency_ms_bucket{bridge="X"}[24h])))` over the rolling 24 hour window. Errored quotes land on the `bridge_errors_total` counter by error type (quote_failed, execution_failed, unsupported route) and are excluded from the latency aggregate; they feed the success rate column instead.
+ The bridge-monitor harness issues identical quote requests against every measured bridge for the same route and notional, every 5 minutes, from the EU-West (Paris) origin. Each request times wall clock duration from send to last byte received, then publishes a Prometheus histogram with buckets from 10 ms to 10000 ms (500 ms steps between 1 and 5 s). p50, p90 and p99 are derived via `histogram_quantile(sum by (le) (rate(bridge_quote_latency_ms_bucket{bridge="X"}[24h])))` over the rolling 24 hour window. Errored quotes land on the `bridge_errors_total` counter by error type (quote_failed, execution_failed, unsupported route) and are excluded from the latency aggregate; they feed the success rate column instead.
limitations:
- "Single eu-west point of measurement. Bridges with solver pools or relayer infrastructure closer to other regions (us-east, sgp) will look slower from eu-west than a real backend integration sitting next to their origin would observe."
- "Quote latency is decoupled from bridge fill time. A bridge can quote in 100 ms and take 30 seconds to settle on the destination chain, or quote in 2 seconds and settle in 5 seconds. This leaderboard measures the quote half, the realised cost is on the `/benchmarks/bridge-fee` page."
+ - "Near Intents' dry quotes wait a fixed 3 s solver window (quoteWaitingTimeMs: 3000) before answering, so its figures sit at about 3 s by construction; the harness discloses this rather than shortening the wait, because it is what an integrator gets from the documented endpoint."
- "Cross corridor aggregate. Every bridge is queried on the same 4 USDC routes but per corridor leaders can diverge when one provider's solver pool is closer to a specific destination chain. The per corridor breakdown lands once dimension labels for `from_chain` and `to_chain` are surfaced in the page UI."
- "Failure responses are excluded from the latency aggregate. A bridge that times out in 500 ms on an unsupported corridor will not appear faster than one that returns a real quote in 800 ms; the success rate column carries the failure signal separately."
- "USDC only. Long tail token corridors (wrapped assets, memecoins, RWAs) have different route search complexity and the latency curves do not generalise."
@@ -26,7 +27,7 @@ faq:
- q: "Why does bridge quote latency matter for builders?"
a: "Every product that integrates a bridge sits behind its API. Wallets, aggregators, intent layers, chat app swap modules. A 1500 ms p99 forces a long loading spinner; a 5000 ms p99 forces a timeout fallback that masks the slow path with a stale quote. The number controls perceived UX, time to first quote in side by side comparators, and how aggressively the integrator has to parallelise calls across bridges to mask the slowest one."
- q: "Are intent and relay bridges faster than aggregators?"
- a: "On a single route query, usually. Intent layers and relays like Relay or Mobula query a pool of pre positioned solvers, so the API is a thin price discovery call. Aggregators like LI.FI run a route search graph over N underlying bridges per request, which adds 100 to 400 ms of irreducible work. On multi hop or rare corridor queries the aggregator advantage in coverage matters more than the latency gap, and the comparison flips."
+ a: "On a single route query, usually. Intent layers and relays like Relay or Mobula query a pool of pre positioned solvers, so the API is a thin price discovery call. Aggregators like LI.FI run a route search graph over N underlying bridges per request; today that shows as {{p50:lifi}} against {{p50:relay}} for Relay at p50. On multi hop or rare corridor queries the aggregator advantage in coverage matters more than the latency gap, and the comparison flips."
- q: "Are timeouts counted as slow quotes?"
a: "No. Timeouts, 5xx responses and `unsupported route` errors are excluded from the latency histogram. They are recorded in the `bridge_errors_total` counter by error type and surface in the success rate column. A bridge that fails fast on an unsupported corridor is not credited with low latency; it loses success rate instead, which is the honest signal."
- q: "Does quote latency affect the price the user gets?"
@@ -38,5 +39,5 @@ related:
- which-solana-dex-aggregator-is-the-fastest
seo_title: "Which cross-chain bridge has the fastest quote API in 2026?"
-seo_description: "{{best_name}} leads bridge quote latency at {{best_p50}} (p50, 24h) across {{count}} bridges (Mobula, Relay, LI.FI, deBridge, Near Intents, Across, Squid, Socket) on identical USDC routes, measured live by OpenChainBench."
+seo_description: "{{best_name}} leads bridge quote latency at {{best_p50}} (p50, 24h), {{worst_name}} trails at {{worst_p50}}. {{count}} bridge APIs timed on identical USDC routes every 5 minutes."
status: live
diff --git a/benchmarks/bridge-fee.yml b/benchmarks/bridge-fee.yml
index 7c8708225..deef4755b 100644
--- a/benchmarks/bridge-fee.yml
+++ b/benchmarks/bridge-fee.yml
@@ -3,8 +3,8 @@
slug: bridge-fee
number: "003"
title: Cheapest cross-chain bridge for USDC at $300 notional
-seo_title: "Cheapest cross-chain bridge 2026"
-seo_description: "Cheapest cross-chain bridge for USDC at $300. Total cost (fees, slippage, gas) across Across, deBridge, LI.FI, Mobula, Near Intents, Relay, Squid and Socket."
+seo_title: "Cheapest USDC bridge: {{best_name}} at {{best_p50}} all in"
+seo_description: "{{best_name}} bridges $300 USDC for {{best_p50}} all in (fees, slippage, gas); {{worst_name}} costs {{worst_p50}}. {{count}} bridges measured live on Solana, Base and Arbitrum."
subtitle: Total cost as a percent of notional, fees plus slippage plus destination gas combined, sampled at $300 USDC across Solana, Base and Arbitrum corridors.
category: Bridges
status: live
@@ -90,15 +90,15 @@ findings:
faq:
- q: "What is the cheapest cross-chain bridge right now?"
- a: "{{best_name}} currently leads the cross-corridor aggregate at {{best_p50}} (p50, 24 h) for $300 USDC trades, averaged across the Solana/Base/Arbitrum corridors the harness sweeps. The leaderboard re-sorts every five minutes against fresh Prometheus samples, so the answer is anchored to the last 24 hours of live data rather than a frozen table from a blog post. Per-corridor leaders can diverge from this aggregate when a solver has deep inventory on one specific route and not on others, that breakdown is on the roadmap once corridor dimensions are surfaced in the page UI."
+ a: "{{best_name}} currently leads the cross-corridor aggregate at {{best_p50}} (p50, 24 h) for $300 USDC trades, averaged across the Solana/Base/Arbitrum corridors the harness sweeps. The leaderboard re-sorts every five minutes against fresh Prometheus samples, so the answer is anchored to the last 24 hours of live data rather than a frozen table from a blog post. Per-corridor leaders can diverge from this aggregate when a solver has deep inventory on one specific route and not on others; the corridor tabs above (Sol to Base, Base to Arb, Arb to Sol, Arb to HyperCore) show the per route leader."
- q: "How much does it cost to bridge $300 USDC?"
a: "Total cost varies between providers. The current p50 across {{count}} bridges spans from {{best_p50}} (leader) up to {{worst_p50}} (laggard) of the $300 notional. The figure already includes fees, slippage and destination gas because we report `bridge_cost_percent`, the all-in number that actually leaves the user's wallet, not the explicit fee field providers advertise."
- - q: "Why do bridge fees vary 10x between providers?"
- a: "Three pricing architectures cohabit in this leaderboard. Direct protocols (deBridge) charge a native-token fee front-loaded into the quote. Aggregators (LI.FI) pay an underlying bridge plus a thin markup. Intent and relay layers (Mobula, Relay, Across, Near Intents) compress all of it into a single spread quoted on a settlement intent or an optimistic fill. On small trades the fixed-fee component dominates and the gap stretches, on large trades the spread component dominates and the leaderboard re-orders."
+ - q: "Why do bridge fees differ so much between providers?"
+ a: "Today the spread runs from {{best_p50}} ({{best_name}}) to {{worst_p50}} ({{worst_name}}) on the same $300 USDC trade. Three pricing architectures cohabit in this leaderboard. Direct protocols (deBridge) charge a native-token fee front-loaded into the quote. Aggregators (LI.FI) pay an underlying bridge plus a thin markup. Intent and relay layers (Mobula, Relay, Across, Near Intents) compress all of it into a single spread quoted on a settlement intent or an optimistic fill. On small trades the fixed-fee component dominates and the gap stretches, on large trades the spread component dominates and the leaderboard re-orders."
- q: "Are bridge aggregators cheaper than direct bridges?"
a: "Not consistently. Aggregators route through whichever underlying bridge is cheapest at quote time, but they add a markup on top and their best route is constrained to the bridges they have integrated. Intent layers can route to any solver willing to settle the intent, including aggregators themselves. On liquid USDC corridors intent layers usually lead this leaderboard, but aggregators win when a corridor has only one underlying bridge and that bridge is cheaper than every solver's quote."
- q: "Is it cheaper to bridge small or large amounts?"
- a: "Large amounts, in percentage terms. Part of every bridge quote is fixed (destination gas, base protocol fee), so at $300 the fixed component is the dominant share of the cost, while at $1000 or $10000 it dilutes into the percentage and the leaderboard re-orders. That is also why published bridge fee tables sampled at $10000 understate what retail users pay. The harness records $5, $50, $300, $1000 and $10000 buckets; this report surfaces $300 because the small-trade regime is where intent layers compress costs hardest, aggregator markups become visible, and most real transfers happen."
+ a: "Large amounts, in percentage terms. Part of every bridge quote is fixed (destination gas, base protocol fee), so at $300 the fixed component is the dominant share of the cost, while at $1000 or $10000 it dilutes into the percentage and the leaderboard re-orders. That is also why published bridge fee tables sampled at $10000 understate what retail users pay. The harness quotes $5, $50 and $300; this page surfaces $300 because the small-trade regime is where intent layers compress costs hardest, aggregator markups become visible, and most real transfers happen."
- q: "Why does the cheapest bridge change throughout the day?"
a: "Solver competition is the main driver. Intent layers like Mobula and Relay rank quotes from a rotating set of solvers whose inventory and risk appetite shift with destination-chain volatility and time of day. When Solana gas spikes or an L2 sees a deposit cluster, solvers reprice, and the leaderboard re-orders. The 5-minute scrape cadence catches these moves; the 24-hour p50 smooths them so the headline number reflects sustained competitiveness rather than a single favourable quote."
diff --git a/benchmarks/bridge-quote-latency.yml b/benchmarks/bridge-quote-latency.yml
index a177381be..9827768b6 100644
--- a/benchmarks/bridge-quote-latency.yml
+++ b/benchmarks/bridge-quote-latency.yml
@@ -3,8 +3,8 @@
slug: bridge-quote-latency
number: "002"
title: Fastest cross-chain bridge quote API, live ms ranking
-seo_title: "Fastest bridge quote API 2026"
-seo_description: "Live p50 latency for cross-chain bridge quote APIs. Mobula, deBridge, Relay, LI.FI, Near Intents, Across, Squid and Socket ranked."
+seo_title: "Fastest bridge quote API: {{best_name}} at {{best_p50}} (live p50)"
+seo_description: "{{best_name}} returns a USDC bridge quote in {{best_p50}} (p50), {{worst_name}} in {{worst_p50}}. {{count}} bridge APIs timed every 5 minutes on identical routes, with p99 tails."
subtitle: Time to receive a usable cross-chain quote, in milliseconds. Identical route and identical notional, measured every five minutes across Mobula, deBridge, Relay, LI.FI, Near Intents, Across, Squid and Socket.
category: Bridges
status: live
@@ -13,11 +13,11 @@ unit: ms
# Per-destination breakdown. The bridge-monitor harness emits the chain
# label set to route.ToChain (capitalized). Each bridge has wildly
-# different per-corridor latency profiles (Near Intents in particular is
-# bimodal: solver-cached corridors return in ~30ms while uncached ones
-# wait the full 3s solver auction window) so aggregating across all
-# destinations produces meaningless cross-corridor averages. The "All"
-# tab keeps the aggregate view; the per-chain tabs reveal the truth.
+# different per-corridor latency profiles (Near Intents' dry quotes wait a
+# fixed 3 s solver window on every corridor; the execution-path quotes,
+# which return in tens of ms, are recorded on a separate metric) so the
+# per-chain tabs matter. The "All" tab pools every corridor; the per-chain
+# tabs show each route on its own.
dimensions:
chain:
- { value: Base, label: Sol to Base }
@@ -66,7 +66,7 @@ methodology:
- "Notional sizes: $5, $50, $300 per quote."
- "Cadence: full sweep (4 routes × 3 amounts × N bridges) every 5 minutes for 24 hours."
- "Regions: every figure on this page is pinned to the EU-West (Paris) origin. A us-east probe also runs and its cells stay in Prometheus for the region breakdown, but they are not pooled into the headline; the sgp probe is down. Execution-path quotes ($3 and $30 tickets) and the R4 meme route quoted by the same loop are excluded from every cell."
- - "Histogram buckets: 10, 25, 50, 100, 200, 500, 1000, 2000, 5000, 10000 ms. Sub-50ms buckets added 2026-07-13 so solver-cached fast paths (Near Intents on HyperCore in particular) surface their true p50 instead of being floored at the interpolation of the (0, 50] bucket."
+ - "Histogram buckets: 10, 25, 50, 100, 200, 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 5000, 7500, 10000 ms. Sub-50 ms buckets added 2026-07-13 so solver-cached fast paths surface their true p50 instead of being floored at the interpolation of the (0, 50] bucket; 500 ms buckets between 1 and 5 s added 2026-09-19 so Near Intents' fixed 3 s solver wait resolves instead of interpolating one (2000, 5000] edge."
- "Failures (quote_failed, execution_failed, unsupported route) excluded from latency aggregates and counted toward success rate."
# Per-corridor leader rewrite deferred: this YAML does not yet declare
@@ -80,10 +80,10 @@ methodology:
findings:
- "{{best_name}} currently leads the cross-corridor aggregate at {{best_p50}} (p50, 24 h) across {{count}} measured bridges. The cohort spans direct protocols, aggregators and intent layers under the same query, averaged over the 4 USDC routes the harness sweeps."
- "{{name:relay}} returns {{p50:relay}} (p50, 24 h). Intent and relay layers usually clock lowest because the API surface is a thin price-discovery call against pre-quoted solvers, not a full route-search graph."
- - "{{name:lifi}} sits at {{p50:lifi}} (p50, 24 h). Aggregators do more work per call (route search across N underlying bridges, fee normalisation), which costs them a stable 100 to 400 ms versus pure relays."
+ - "{{name:lifi}} sits at {{p50:lifi}} (p50, 24 h). Aggregators do more work per call (route search across N underlying bridges, fee normalisation); compare its p50 with {{p50:relay}} for Relay on the same routes."
- "{{name:debridge}} clocks {{p50:debridge}} (p50, 24 h). Direct protocols quote a single canonical route, so latency reflects raw API plumbing rather than route-search complexity."
- "Tail latency tells the integration story. p99 ({{p99:relay}} / {{p99:lifi}} / {{p99:debridge}}) is what dictates timeouts in production wallets; SDKs that wait for the slowest bridge degrade the whole UX when one provider has a bad minute."
- - "{{worst_name}} trails the cross-corridor aggregate at {{worst_p50}} (p50, 24 h). A 5x gap at p50 turns into a 10 to 20x gap at p99. A bridge that lags overall can still be fastest on a specific corridor where it is closer to its solver pool, that per-corridor breakdown is on the roadmap."
+ - "{{worst_name}} trails the cross-corridor aggregate at {{worst_p50}} (p50, 24 h) against {{best_p50}} for {{best_name}}; the p99 column shows how the gap stretches in the tail. A bridge that lags overall can still be fastest on a specific corridor where it is closer to its solver pool; the corridor tabs show the per route leader."
source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/bridge-monitor
@@ -93,13 +93,13 @@ prometheus:
faq:
- q: "Which cross-chain bridge has the lowest API latency?"
- a: "{{best_name}} currently leads the cross-corridor aggregate at {{best_p50}} (p50, 24 h) across {{count}} measured bridges, averaged over the 4 USDC routes the harness sweeps. The leaderboard re-sorts every five minutes against fresh Prometheus samples, so the ranking reflects the last 24 hours of actual API performance from the EU-West (Paris) origin under the same routes. Per-corridor latency leaders can differ from this aggregate where one provider has a solver pool closer to a specific destination chain, that breakdown is on the roadmap once corridor dimensions are surfaced in the page UI."
+ a: "{{best_name}} currently leads the cross-corridor aggregate at {{best_p50}} (p50, 24 h) across {{count}} measured bridges, averaged over the 4 USDC routes the harness sweeps. The leaderboard re-sorts every five minutes against fresh Prometheus samples, so the ranking reflects the last 24 hours of actual API performance from the EU-West (Paris) origin under the same routes. Per-corridor latency leaders can differ from this aggregate where one provider has a solver pool closer to a specific destination chain; the corridor tabs above (Sol to Base, Base to Arb, Arb to Sol, Arb to HyperCore) show the per route leader."
- q: "What is the difference between quote latency and bridge fill time?"
a: "Quote latency is the wall-clock time the bridge API takes to return a price. Fill time is the wall-clock time the funds take to land on the destination chain after the user signs. They are decoupled: a bridge can quote in 100 ms and take 30 seconds to settle, or quote in 2 seconds and settle in 5 seconds. This benchmark measures the quote half because that is the part a wallet, an aggregator or an embedded swap UI feels first and tunes its UX around."
- q: "Why does bridge quote latency matter for builders?"
a: "Every product that integrates a bridge sits behind that API. Wallets, aggregators, intent layers, chat-app swap modals. A 1500 ms p99 forces a long loading spinner; a 5000 ms p99 forces a timeout fallback. The number controls perceived UX, time-to-first-quote in side-by-side comparators, and how aggressively the integrator has to parallelise calls across bridges to mask the slowest one."
- q: "Are intent and relay bridges always faster than aggregators?"
- a: "On a single-route query, usually. Intent layers like Relay quote against a pool of pre-positioned solvers, so the API is a thin price-discovery call. Aggregators like LI.FI run a route-search graph over N underlying bridges per request, which adds 100 to 400 ms of irreducible work. On multi-hop or rare-corridor queries the aggregator advantage in coverage matters more than the latency gap, and the comparison flips."
+ a: "On a single-route query, usually. Intent layers like Relay quote against a pool of pre-positioned solvers, so the API is a thin price-discovery call. Aggregators like LI.FI run a route-search graph over N underlying bridges per request; the live gap is {{p50:lifi}} against {{p50:relay}} at p50. On multi-hop or rare-corridor queries the aggregator advantage in coverage matters more than the latency gap, and the comparison flips."
- q: "How does OpenChainBench measure bridge quote latency?"
a: "The harness issues identical quote requests against every bridge for the same route and notional, every five minutes, from the EU-West (Paris) origin. Each request times wall-clock duration from send to last byte received, then publishes a Prometheus histogram (10, 25, 50, 100, 200, 500, 1000, 2000, 5000, 10000 ms buckets). p50, p90 and p99 are derived via `histogram_quantile` over a rolling 24-hour window. Errored quotes (quote_failed, unsupported route, timeout) are excluded from the latency aggregate and counted toward success rate so a fast-but-broken bridge cannot game the headline."
- q: "Does quote latency affect the price the user gets?"
diff --git a/scripts/emit-page-mtimes.ts b/scripts/emit-page-mtimes.ts
index e106d65c9..2e9e62542 100644
--- a/scripts/emit-page-mtimes.ts
+++ b/scripts/emit-page-mtimes.ts
@@ -45,6 +45,9 @@ const PAGES: string[] = [
"alternatives/page.tsx",
"team/page.tsx",
"reports/page.tsx",
+ "products/[slug]/page.tsx",
+ "compare/[slug]/page.tsx",
+ "benchmarks/[slug]/page.tsx",
];
function gitMtimeSeconds(rel: string): number | null {
@@ -140,6 +143,10 @@ function addEditorialEntries(manifest: Record
- Two live benches, sampled every five minutes from three regions - (EU-West, US-East, Singapore). One measures the all-in cost of - bridging $300 USDC across four Solana/Base/Arbitrum/HyperCore - corridors. The other measures how fast each bridge returns a - usable quote from each origin. Same corridors, same notional. + Two live benches, sampled every five minutes from EU-West (Paris). + One measures the all-in cost of bridging $300 USDC across four + Solana/Base/Arbitrum/HyperCore corridors. The other measures how + fast each bridge returns a usable quote. Same corridors, same + notional; the US-East and Singapore probes are paused and their + columns return when they resume.
+ {asOf && ( ++ Data as of{" "} + . +
+ )}- All-in fee p50 per provider per route. Cross-corridor averages above can hide large per-route spreads — the cheapest bridge on Sol to Base is often not the cheapest on Arb to Sol. + All-in fee p50 per provider per route. Cross-corridor averages above can hide large per-route spreads, and the cheapest bridge on Sol to Base is often not the cheapest on Arb to Sol.
- Each provider may only quote a subset of corridors. The corridor matrix above shows which ones are supported and at what cost. Full p50/p90/p99 splits with regional breakdown are on the{" "}
+ Each provider may only quote a subset of corridors. The corridor matrix above shows which ones are supported and at what cost. Full p50/p90/p99 splits per corridor and per notional are on the{" "}
+
+ {feeBench &&