diff --git a/benchmarks/axelar-gmp-latency.yml b/benchmarks/axelar-gmp-latency.yml index 7580a605..c22ba158 100644 --- a/benchmarks/axelar-gmp-latency.yml +++ b/benchmarks/axelar-gmp-latency.yml @@ -54,7 +54,7 @@ methodology: - "No canary transactions: this bench observes organic Axelar GMP traffic (Squid Router, ITS, Interchain Amplifier apps). No wallet is funded, no gas is paid." - "Scope: Axelar-supported source chains with mainnet traffic in the observation window. Axelar covers all major EVM L1s and L2s plus a large Cosmos set (Osmosis, Injective, Sei, Celestia, Kava) that no other bench in our cross-chain messaging cluster observes. Notable gap: Axelar mainnet does not support Solana yet." - "Fair-comparison caveat: Axelar validators wait for source-chain confirmations before signing (about 96 blocks / 20 minutes on Ethereum), so Ethereum-source lanes are structurally slower than pre-finality signers (LayerZero, Hyperlane) but still faster than Chainlink CCIP which waits for full Casper FFG finality. The meta-bench (cross-chain-messaging-latency) documents this ranking." - - "Coverage caveat: This is Axelar-exclusive Cosmos coverage. Comparing raw numbers to networks that only cover EVM (LayerZero, CCIP) is only meaningful on shared EVM corridors; the meta-bench view (cross-chain-messaging-comparison) enforces this by only showing cells where both protocols support the corridor." + - "Coverage caveat: This is Axelar-exclusive Cosmos coverage. Comparing raw numbers to networks that only cover EVM (LayerZero, CCIP) is only meaningful on shared EVM corridors; the meta-bench view (cross-chain-messaging-latency) enforces this by only showing cells where both protocols support the corridor." findings: - "{{best_name}} currently leads Axelar GMP end-to-end delivery at {{best_p50}} (source-tx to destination execution p50, 24h) across measured source chains." diff --git a/benchmarks/chainlink-ccip-latency.yml b/benchmarks/chainlink-ccip-latency.yml index 4d017690..19aa0618 100644 --- a/benchmarks/chainlink-ccip-latency.yml +++ b/benchmarks/chainlink-ccip-latency.yml @@ -56,7 +56,7 @@ methodology: - "Guard: samples with `receiptTimestamp - sendTimestamp < 0` or `> 2h` are dropped (clock skew, stuck messages re-executed later, or timestamp typos)." - "No canary transactions: this bench observes organic CCIP traffic (~500 mainnet messages/day across the top corridors). No wallet is funded, no gas is paid." - "Scope: CCIP-supported source chains with mainnet traffic in the observation window. Long-tail source chains (0G, ADI, Astar) will show wide error bars or a low sample count." - - "Fair-comparison caveat: CCIP intentionally waits for source-chain finality before its DON commits, while some other cross-chain messaging networks (Wormhole, LayerZero) sign pre-finality. Comparing raw end-to-end numbers on ETH-source lanes is not apples-to-apples with those networks; the meta-bench view (cross-chain-messaging-comparison) exposes a finality-normalized column that isolates the pure DON+execution work." + - "Fair-comparison caveat: CCIP intentionally waits for source-chain finality before its DON commits, while some other cross-chain messaging networks (Wormhole, LayerZero) sign pre-finality. Comparing raw end-to-end numbers on ETH-source lanes is not apples-to-apples with those networks; the meta-bench view (cross-chain-messaging-latency) exposes a finality-normalized column that isolates the pure DON+execution work." findings: - "{{best_name}} currently leads Chainlink CCIP end-to-end delivery at {{best_p50}} (source-tx to destination execution p50, 24h) across measured source chains." diff --git a/benchmarks/gas-estimation.yml b/benchmarks/gas-estimation.yml index 342ce915..e96c0cf3 100644 --- a/benchmarks/gas-estimation.yml +++ b/benchmarks/gas-estimation.yml @@ -11,7 +11,7 @@ per_chain_explainer: - slug: ethereum h2: "Most accurate Ethereum gas oracle" body: | - {{best_name:chain:ethereum}} currently leads the Ethereum gas-oracle field at {{best_p50:chain:ethereum}} (gwei, p99 absolute gap, 24h) across 3 oracles. Ethereum's EIP-1559 base fee adjusts by up to 12.5 percent per block based on prior gas usage, so percentile trackers (PublicNode `eth_feeHistory`) hug the realized priority fee by construction while inclusion-confidence oracles (Etherscan) deliberately over-predict. Realized priority percentiles are computed per next-mined block from actual `maxPriorityFeePerGas` values. + {{best_name:chain:ethereum}} currently leads the Ethereum gas-oracle field at {{best_p50:chain:ethereum}} (gwei, p99 absolute gap, 24h) across 4 oracles. Ethereum's EIP-1559 base fee adjusts by up to 12.5 percent per block based on prior gas usage, so percentile trackers (PublicNode `eth_feeHistory`) hug the realized priority fee by construction while inclusion-confidence oracles (Etherscan) deliberately over-predict. Realized priority percentiles are computed per next-mined block from actual `maxPriorityFeePerGas` values. - slug: polygon h2: "Most accurate Polygon gas oracle" body: | @@ -46,8 +46,8 @@ seo_intro: | actually diverge. A covered-rate column shows the share of time each prediction sat at or above the realized p50 (the inclusion-side risk an absolute gap cannot show). Coverage. - Ethereum mainnet (PublicNode feeHistory + Owlracle + Etherscan v2) - and Polygon (same three). Use the chain tab above to + Ethereum mainnet (PublicNode feeHistory + Owlracle + Etherscan v2 + MetaMask) + and Polygon (same four). Use the chain tab above to slice the leaderboard. Avalanche C-Chain was dropped because its auto-tuning fee market drives the priority fee to ~0 by design, which collapses prediction-error to ~0 across all oracles and makes @@ -72,7 +72,7 @@ abstract: | and records the absolute error per (oracle, tier, chain) as both a gauge and a histogram. p50 / p90 / p99 are computed via Prometheus `quantile_over_time` over the 24 h window. Per-chain - coverage: Ethereum and Polygon both have all three oracles + coverage: Ethereum and Polygon both have all four oracles (Etherscan v2 free tier covers chainid 1 and 137). The Etherscan call goes through a global rate-gate (≥6s between any two Etherscan requests across chains) because the no-key limit diff --git a/benchmarks/ink-rpc.yml b/benchmarks/ink-rpc.yml index 38f6a737..cbd9fa4c 100644 --- a/benchmarks/ink-rpc.yml +++ b/benchmarks/ink-rpc.yml @@ -44,7 +44,7 @@ faq: - q: "What is the fastest free Ink RPC right now?" a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber(\"latest\", false)` p50 over the last 24h), measured against 4 no-key providers probed every 60 seconds from us-east, eu-west and Singapore. The leaderboard re-sorts continuously against fresh Prometheus samples, so the answer on this page is the answer right now, not a quarterly snapshot. Use the region tabs to see the leader from the origin closest to your deployment." - q: "Which Ink RPCs work without an API key?" - a: "5 endpoints sustain continuous keyless probing at launch: Gelato, QuickNode, dRPC, Tenderly Gateway. Every listed endpoint was live-verified with a `eth_getBlockByNumber(\"latest\", false)` POST returning a parsable response before inclusion. See the methodology section for the specific endpoints that were audited and excluded." + a: "4 endpoints sustain continuous keyless probing at launch: Gelato, QuickNode, dRPC, Tenderly Gateway. Every listed endpoint was live-verified with a `eth_getBlockByNumber(\"latest\", false)` POST returning a parsable response before inclusion. See the methodology section for the specific endpoints that were audited and excluded." - q: "Does the fastest Ink RPC change by region?" a: "Often. Public infra concentrates in specific regions; a gateway that wins from Amsterdam can lose from Singapore by multiples. The region tabs at the top of the page re-scope every number to a single origin; pick the one closest to where your requests originate." - q: "How is Ink RPC latency measured here, technically?" diff --git a/benchmarks/kaia-rpc.yml b/benchmarks/kaia-rpc.yml index 8775a7dd..24a1c0b3 100644 --- a/benchmarks/kaia-rpc.yml +++ b/benchmarks/kaia-rpc.yml @@ -44,7 +44,7 @@ faq: - q: "What is the fastest free Kaia RPC right now?" a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber(\"latest\", false)` p50 over the last 24h), measured against 2 no-key providers probed every 60 seconds from us-east, eu-west and Singapore. The leaderboard re-sorts continuously against fresh Prometheus samples, so the answer on this page is the answer right now, not a quarterly snapshot. Use the region tabs to see the leader from the origin closest to your deployment." - q: "Which Kaia RPCs work without an API key?" - a: "3 endpoints sustain continuous keyless probing at launch: Kaia Foundation, dRPC. Every listed endpoint was live-verified with a `eth_getBlockByNumber(\"latest\", false)` POST returning a parsable response before inclusion. See the methodology section for the specific endpoints that were audited and excluded." + a: "2 endpoints sustain continuous keyless probing at launch: Kaia Foundation, dRPC. Every listed endpoint was live-verified with a `eth_getBlockByNumber(\"latest\", false)` POST returning a parsable response before inclusion. See the methodology section for the specific endpoints that were audited and excluded." - q: "Does the fastest Kaia RPC change by region?" a: "Often. Public infra concentrates in specific regions; a gateway that wins from Amsterdam can lose from Singapore by multiples. The region tabs at the top of the page re-scope every number to a single origin; pick the one closest to where your requests originate." - q: "How is Kaia RPC latency measured here, technically?" diff --git a/benchmarks/linea-rpc.yml b/benchmarks/linea-rpc.yml index 2e01325d..7b73c705 100644 --- a/benchmarks/linea-rpc.yml +++ b/benchmarks/linea-rpc.yml @@ -43,7 +43,7 @@ faq: - q: "How is Linea RPC latency measured here?" a: "One identical JSON-RPC POST (`eth_getBlockByNumber`) every 60 seconds against each provider from each of 3 regions, with the same plain HTTP client. Wall-clock round-trip is recorded at millisecond precision; p50/p90/p99 are computed via Prometheus `quantile_over_time` over 24 hours. Responses are classified (`ok` / `http_err` / `jsonrpc_err` / `stale` / `timeout`) so an endpoint stuck on an old head or returning errors behind HTTP 200 is never ranked as fastest. The harness is open source and every number on this page is a public Prometheus query you can run yourself." - q: "Why do so few free RPCs support Linea?" - a: "Free-tier coverage follows demand: gateways add no-key chains when traffic justifies the infrastructure. Linea's cohort (3 providers) is typical of newer L2s, compare with 9 on Ethereum and 8 on Arbitrum. The flip side is that the providers that do qualify are the disciplined multi-chain operators, so the reliability floor is high even where the field is thin." + a: "Free-tier coverage follows demand: gateways add no-key chains when traffic justifies the infrastructure. Linea's cohort (3 providers) is typical of newer L2s, compare with 8 on Ethereum and 7 on Arbitrum. The flip side is that the providers that do qualify are the disciplined multi-chain operators, so the reliability floor is high even where the field is thin." source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/rpc-capabilities diff --git a/benchmarks/mantle-rpc.yml b/benchmarks/mantle-rpc.yml index bc677c8b..412db695 100644 --- a/benchmarks/mantle-rpc.yml +++ b/benchmarks/mantle-rpc.yml @@ -14,7 +14,7 @@ unit: ms higher_is_better: false seo_intro: | - Mantle rounds out the cluster's long tail with 4 qualifying no-key providers, all multi-chain gateways (PublicNode, dRPC, Tenderly). Like every chain in the family, the number that matters is a sustained median, the same `eth_getBlockByNumber` call every 60 seconds from three regions over a rolling 24 hours, not a one-off marketing burst, and archive-depth support is audited separately every 5 minutes. + Mantle rounds out the cluster's long tail with 3 qualifying no-key providers, all multi-chain gateways (PublicNode, dRPC, Tenderly). Like every chain in the family, the number that matters is a sustained median, the same `eth_getBlockByNumber` call every 60 seconds from three regions over a rolling 24 hours, not a one-off marketing burst, and archive-depth support is audited separately every 5 minutes. abstract: | Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Mantle endpoint that sustains continuous probing, 3 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Mantle-scoped answer with per-region breakdowns as a first-class dimension. @@ -43,7 +43,7 @@ faq: - q: "How is Mantle RPC latency measured here?" a: "One identical JSON-RPC POST (`eth_getBlockByNumber`) every 60 seconds against each provider from each of 3 regions, with the same plain HTTP client. Wall-clock round-trip is recorded at millisecond precision; p50/p90/p99 are computed via Prometheus `quantile_over_time` over 24 hours. Responses are classified (`ok` / `http_err` / `jsonrpc_err` / `stale` / `timeout`) so an endpoint stuck on an old head or returning errors behind HTTP 200 is never ranked as fastest. The harness is open source and every number on this page is a public Prometheus query you can run yourself." - q: "Are free Mantle RPCs reliable enough to build on?" - a: "The four qualifying gateways all maintain high measured success rates on Mantle, but a 4-provider field means less redundancy if one degrades. Use the current leader as primary and the runner-up as fallback, and re-check this page after incidents, the ranking is live and the honest answer moves." + a: "The three qualifying gateways all maintain high measured success rates on Mantle, but a 3-provider field means less redundancy if one degrades. Use the current leader as primary and the runner-up as fallback, and re-check this page after incidents, the ranking is live and the honest answer moves." source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/rpc-capabilities diff --git a/benchmarks/mev-protect-rpc.yml b/benchmarks/mev-protect-rpc.yml index feb98795..0053edd0 100644 --- a/benchmarks/mev-protect-rpc.yml +++ b/benchmarks/mev-protect-rpc.yml @@ -4,7 +4,7 @@ slug: mev-protect-rpc number: "074" title: Fastest MEV protection RPC, live wallet latency and method coverage seo_title: "Best MEV protection RPC 2026" -seo_description: "{{best_name}} leads MEV protection RPC wallet latency at {{best_p50}} (p50, 24h). Flashbots, MEV Blocker, Blink, bloXroute, BlockSec, 48 Club probed keyless on Ethereum, Base and BSC." +seo_description: "{{best_name}} leads MEV protection RPC wallet latency at {{best_p50}} (p50, 24h). Flashbots, MEV Blocker, Blink, bloXroute, BlockSec, 48 Club, PancakeSwap probed keyless on Ethereum, Base and BSC." subtitle: "Median latency of the JSON-RPC method set wallets call constantly (balance, gas, call simulation), measured against public MEV protection gateways on Ethereum, Base and BSC from three regions. Read-path hygiene only: inclusion rates and refunds are the write path and cannot be measured without sending transactions." category: RPCs status: live diff --git a/benchmarks/network-fees.yml b/benchmarks/network-fees.yml index cedc60ba..f6bf5f57 100644 --- a/benchmarks/network-fees.yml +++ b/benchmarks/network-fees.yml @@ -8,13 +8,13 @@ seo_description: "Cheapest blockchain transaction fee in USD live across 15 chai subtitle: "Live USD cost of one native token transaction on 15 Layer 1 and Layer 2 chains, refreshed every 30 seconds." seo_intro: | - This page answers one question. How much does it cost in dollars to send one transaction on each major blockchain right now. We track 14 chains in parallel and refresh the number every 30 seconds. The eight Layer 1 chains are Ethereum, Solana, BNB Chain, TRON, Cardano, Sui, Litecoin and Monero. The six Layer 2 rollups are Arbitrum, Base, zkSync Era, Linea, Mantle and Taiko. For every chain we query its own fee market directly (eth_feeHistory for the EVM family, getRecentPrioritizationFees on Solana, koios epoch params on Cardano, get_fee_estimate on Monero, the mempool oracle on Litecoin, getChainParameters on TRON, suix_getReferenceGasPrice on Sui), convert the result to the smallest native unit, then multiply by the live USD price of the chain's native token from Mobula. The output is the actual dollar amount a wallet user pays today. No gwei to lamport conversion, no marketing claim. Compare Ethereum gas now versus Solana fee in USD, see whether Arbitrum is still cheaper than Base today, find out which Layer 1 has the lowest transaction cost this minute. + This page answers one question. How much does it cost in dollars to send one transaction on each major blockchain right now. We track 15 chains in parallel and refresh the number every 30 seconds. The eight Layer 1 chains are Ethereum, Solana, BNB Chain, TRON, Cardano, Sui, Litecoin and Monero. The seven Layer 2 rollups are Arbitrum, Base, zkSync Era, Linea, Mantle, Taiko and Robinhood Chain. For every chain we query its own fee market directly (eth_feeHistory for the EVM family, getRecentPrioritizationFees on Solana, koios epoch params on Cardano, get_fee_estimate on Monero, the mempool oracle on Litecoin, getChainParameters on TRON, suix_getReferenceGasPrice on Sui), convert the result to the smallest native unit, then multiply by the live USD price of the chain's native token from Mobula. The output is the actual dollar amount a wallet user pays today. No gwei to lamport conversion, no marketing claim. Compare Ethereum gas now versus Solana fee in USD, see whether Arbitrum is still cheaper than Base today, find out which Layer 1 has the lowest transaction cost this minute. faq: - q: "What does this benchmark measure?" - a: "The USD cost of one native token transaction on each of the 14 tracked chains, refreshed every 30 seconds. A native transaction is the simplest action on a chain. Send ETH on Ethereum, SOL on Solana, ADA on Cardano, TRX on TRON, and so on. We do not yet measure ERC 20 transfers, DEX swaps or smart contract deployments. Those will ship as companion metrics in a later phase." + a: "The USD cost of one native token transaction on each of the 15 tracked chains, refreshed every 30 seconds. A native transaction is the simplest action on a chain. Send ETH on Ethereum, SOL on Solana, ADA on Cardano, TRX on TRON, and so on. We do not yet measure ERC 20 transfers, DEX swaps or smart contract deployments. Those will ship as companion metrics in a later phase." - q: "Which chains are tracked?" - a: "Eight Layer 1 chains on the L1 tab. Ethereum, Solana, BNB Chain, TRON, Cardano, Sui, Litecoin and Monero. Six Layer 2 rollups on the L2 tab. Arbitrum, Base, zkSync Era, Linea, Mantle and Taiko. The list matches the L1 finality and L2 block time benches so you can read cost and speed side by side." + a: "Eight Layer 1 chains on the L1 tab. Ethereum, Solana, BNB Chain, TRON, Cardano, Sui, Litecoin and Monero. Seven Layer 2 rollups on the L2 tab. Arbitrum, Base, zkSync Era, Linea, Mantle, Taiko and Robinhood Chain. The list matches the L1 finality and L2 block time benches so you can read cost and speed side by side." - q: "Why USD instead of gas price in gwei?" a: "Gas price in gwei on Ethereum cannot be compared to lamports per compute unit on Solana or sun per byte on TRON. The only honest cross chain unit is the dollar cost of a user facing action, computed at scrape time using a live USD price for each native token. Mobula's market API delivers the prices we multiply by." - q: "What do slow, standard and fast tiers mean?" @@ -103,7 +103,7 @@ unit: usd higher_is_better: false abstract: | - Every 30 seconds we ask each of 14 chains for its current native + Every 30 seconds we ask each of 15 chains for its current native transaction fee in the chain's smallest unit (wei, lamport, lovelace, sun, MIST, litoshi, atomic), multiply by the live USD price of the chain's native token from Mobula's market API and publish the @@ -111,12 +111,12 @@ abstract: | standard, fast) mapped to roughly the 25th, 50th and 90th percentile of the recent fee distribution. Deterministic fee chains emit a single tier. The eight Layer 1 chains mirror the L1 finality bench - so users can compare cost and speed side by side. The six Layer 2 + so users can compare cost and speed side by side. The seven Layer 2 rollups add the layer dimension so a wallet routing decision can be made on real data instead of marketing claims. methodology: - - "Refresh cadence. 30 seconds. One process samples all 14 chains in parallel goroutines." + - "Refresh cadence. 30 seconds. One process samples all 15 chains in parallel goroutines." - "Ethereum and BNB Chain on the L1 tab. eth_feeHistory over the last 4 blocks at percentiles 25, 50 and 90. Cost = (base_fee + reward_percentile) * 21000 gas, mapped to slow, standard and fast." - "Arbitrum, Base, zkSync Era, Linea, Mantle and Taiko on the L2 tab. Same eth_feeHistory flow against each rollup's sequencer RPC. ETH is the native gas asset on every tracked rollup except Mantle, which prices gas in MNT." - "Layer 2 caveat. The published figure is L2 execution cost only. The L1 data posting fee (blob market for EIP 4844 rollups, calldata for the rest) is excluded from this page and will be added as a separate blended figure in a later phase. On OP Stack rollups the L1 data fee can dominate the wallet visible total during expensive blob periods." @@ -126,7 +126,7 @@ methodology: - "Sui. suix_getReferenceGasPrice times 76000 gas (typical observed for a Coin::transfer call). Single standard tier." - "Litecoin. litecoinspace.org /api/v1/fees/recommended (hour, half hour and fastest fees in litoshi per vByte) times 225 vBytes for a typical 1 input 1 output P2WPKH transfer." - "Monero. monero rpc get_fee_estimate.fees[0..2] times 1500 bytes for a typical 1 input 2 output RingCT transaction." - - "USD prices. api.mobula.io/api/1/market/multi-data polled every 30 seconds for all 14 native tokens in one call." + - "USD prices. api.mobula.io/api/1/market/multi-data polled every 30 seconds for all 15 native tokens in one call." - "Failures. Any upstream error leaves the previous gauge in place, increments tx_fee_fetch_errors_total{chain, error_type}, and sets tx_fee_health{chain} to zero." findings: diff --git a/benchmarks/opbnb-rpc.yml b/benchmarks/opbnb-rpc.yml index b35bf545..939a7dbc 100644 --- a/benchmarks/opbnb-rpc.yml +++ b/benchmarks/opbnb-rpc.yml @@ -44,7 +44,7 @@ faq: - q: "What is the fastest free opBNB RPC right now?" a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber(\"latest\", false)` p50 over the last 24h), measured against 3 no-key providers probed every 60 seconds from us-east, eu-west and Singapore. The leaderboard re-sorts continuously against fresh Prometheus samples, so the answer on this page is the answer right now, not a quarterly snapshot. Use the region tabs to see the leader from the origin closest to your deployment." - q: "Which opBNB RPCs work without an API key?" - a: "4 endpoints sustain continuous keyless probing at launch: BNB Chain Team, PublicNode, dRPC. Every listed endpoint was live-verified with a `eth_getBlockByNumber(\"latest\", false)` POST returning a parsable response before inclusion. See the methodology section for the specific endpoints that were audited and excluded." + a: "3 endpoints sustain continuous keyless probing at launch: BNB Chain Team, PublicNode, dRPC. Every listed endpoint was live-verified with a `eth_getBlockByNumber(\"latest\", false)` POST returning a parsable response before inclusion. See the methodology section for the specific endpoints that were audited and excluded." - q: "Does the fastest opBNB RPC change by region?" a: "Often. Public infra concentrates in specific regions; a gateway that wins from Amsterdam can lose from Singapore by multiples. The region tabs at the top of the page re-scope every number to a single origin; pick the one closest to where your requests originate." - q: "How is opBNB RPC latency measured here, technically?" diff --git a/benchmarks/perp-fees.yml b/benchmarks/perp-fees.yml index 951839ac..2196e90c 100644 --- a/benchmarks/perp-fees.yml +++ b/benchmarks/perp-fees.yml @@ -4,8 +4,8 @@ slug: perp-fees number: "007" title: Cheapest perp DEX, live all-in cost from $1k to $1M on ETH, BTC and SOL seo_title: "Cheapest perp DEX 2026" -seo_description: "{{best_name}} leads cheapest perp DEX at {{best_p50}} all-in (24h avg). ETH, BTC and SOL market orders at $1k, $100k and $1M. Lighter, Hyperliquid, Polymarket, Paradex, Extended, dYdX, GMX, gains.trade ranked live." -subtitle: "All-in cost in basis points to open a long, measured on ETH, BTC and SOL at three order sizes: $1k where fees decide, $100k where impact appears, $1M where book depth takes over. Taker fee plus half-spread plus impact, read live from public APIs across 8 venues including Lighter, Hyperliquid, Polymarket, Paradex and Extended." +seo_description: "{{best_name}} leads cheapest perp DEX at {{best_p50}} all-in (24h avg). ETH, BTC and SOL market orders at $1k, $100k and $1M. Lighter, Hyperliquid, Polymarket, Paradex, Extended, dYdX, GMX, gains.trade, Aster, edgex ranked live." +subtitle: "All-in cost in basis points to open a long, measured on ETH, BTC and SOL at three order sizes: $1k where fees decide, $100k where impact appears, $1M where book depth takes over. Taker fee plus half-spread plus impact, read live from public APIs across 10 venues including Lighter, Hyperliquid, Polymarket, Paradex, Extended, Aster and edgex." category: Trading status: live metric: All-in cost diff --git a/benchmarks/perp-funding.yml b/benchmarks/perp-funding.yml index 25ab2bf0..af52abc4 100644 --- a/benchmarks/perp-funding.yml +++ b/benchmarks/perp-funding.yml @@ -4,7 +4,7 @@ slug: perp-funding number: "036" title: Cheapest perp venue to hold a position, live funding normalized seo_title: "Perp funding rates live 2026" -seo_description: "Live perp funding rates across Hyperliquid, Binance, Bybit, OKX, dYdX, Paradex and Aster, normalized hourly." +seo_description: "Live perp funding rates across Hyperliquid, Binance, Bybit, OKX, dYdX, Paradex, Aster and Polymarket, normalized hourly." subtitle: Funding cost in basis points to hold a long position for 24 hours at the current rate, normalized across venues that settle funding on 1 hour, 4 hour and 8 hour periods. Negative means longs get paid. category: Trading status: live @@ -37,7 +37,7 @@ seo_intro: | most negative or hold spot, and collect the difference. abstract: | - The bench polls the public funding endpoint of seven perpetual + The bench polls the public funding endpoint of eight perpetual venues every 60 seconds: Hyperliquid (metaAndAssetCtxs), Binance and Aster (premiumIndex plus fundingInfo for per pair intervals), Bybit (v5 tickers plus instruments-info), OKX (public funding-rate, diff --git a/benchmarks/perp-open-interest.yml b/benchmarks/perp-open-interest.yml index 1a2cbb7d..a133c745 100644 --- a/benchmarks/perp-open-interest.yml +++ b/benchmarks/perp-open-interest.yml @@ -4,8 +4,8 @@ slug: perp-open-interest number: "042" title: Perp DEX open interest, live USD notional ranked seo_title: "Perp DEX open interest 2026" -seo_description: "Live perpetual futures open interest in USD across 12 major perp DEX venues: Hyperliquid, Aster, Lighter, GRVT, Extended, Ostium, Pacifica, Vertex, dYdX, Aevo, Paradex, gains.trade. Refreshed every 5 minutes." -subtitle: Live aggregate open interest in USD across 12 major decentralized perpetual futures venues. Higher means more notional sits open. Read live from each venue's public API. +seo_description: "Live perpetual futures open interest in USD across 13 major perp DEX venues: Hyperliquid, Aster, Lighter, GRVT, Extended, Ostium, Pacifica, Vertex, dYdX, Aevo, Paradex, gains.trade, Polymarket. Refreshed every 5 minutes." +subtitle: Live aggregate open interest in USD across 13 major decentralized perpetual futures venues. Higher means more notional sits open. Read live from each venue's public API. category: Trading status: live metric: Open interest @@ -18,14 +18,14 @@ seo_intro: | number for perpetual futures: it tells you how much notional sits open right now, on every market, on a given venue. We poll each venue's public API every 5 minutes, sum open interest across all - listed perps, and publish one gauge per venue. The cohort covers 12 + listed perps, and publish one gauge per venue. The cohort covers 13 venues: Hyperliquid, Aster, Lighter, GRVT, Extended, Ostium, Pacifica, Vertex, dYdX v4, Aevo, Paradex and gains.trade. Headline number is the 24h average of the live OI gauge so a single noisy print does not move the ranking. abstract: | - The bench polls 12 perp DEX venues every 5 minutes for live open + The bench polls 13 perp DEX venues every 5 minutes for live open interest and exposes a USD-aggregated gauge per venue. Each venue's public API is queried directly (Hyperliquid info metaAndAssetCtxs, Aster fapi openInterest, Lighter orderBookDetails, GRVT public @@ -56,7 +56,7 @@ methodology: - "Failures. A venue that errors or times out keeps its last gauge value and its perp_venue_health gauge drops toward 0; the leaderboard tags it as stale." findings: - - "{{best_name}} currently leads the cohort at {{best_p50}} of open interest (24h average) across 12 measured perp DEX venues." + - "{{best_name}} currently leads the cohort at {{best_p50}} of open interest (24h average) across 13 measured perp DEX venues." - "{{name:hyperliquid}} sits at {{p50:hyperliquid}} of open interest. HyperBFT orderbook is the deepest decentralized perp venue by a wide margin." - "{{name:lighter}} clocks {{p50:lighter}} of open interest. Fully onchain orderbook on zkSync with zero taker fee." - "{{name:aster}} sits at {{p50:aster}} of open interest. BNB Chain perps DEX with a Binance-compatible API surface." diff --git a/benchmarks/perp-volume-share.yml b/benchmarks/perp-volume-share.yml index 025405eb..f47e68b1 100644 --- a/benchmarks/perp-volume-share.yml +++ b/benchmarks/perp-volume-share.yml @@ -26,7 +26,7 @@ seo_intro: | one prices flow. abstract: | - The bench polls 10 perp DEX venues every 5 minutes for the trailing + The bench polls 11 perp DEX venues every 5 minutes for the trailing 24 hour taker notional and exposes a USD gauge per venue. Sources: Hyperliquid info dayNtlVlm (per-asset day notional summed in USD), Aster fapi 24h ticker per instrument, Lighter public stats endpoint, diff --git a/benchmarks/rwa-yield-accuracy.yml b/benchmarks/rwa-yield-accuracy.yml index 3fe8aae4..ed57f37a 100644 --- a/benchmarks/rwa-yield-accuracy.yml +++ b/benchmarks/rwa-yield-accuracy.yml @@ -2,8 +2,8 @@ slug: rwa-yield-accuracy number: "089" -title: Which tokenized T-bill actually pays what it promises -seo_title: "Tokenized T-bill yield promised vs delivered 2026" +title: Which tokenized T-bill or yield fund actually pays what it promises +seo_title: "Tokenized treasury and yield fund promised vs delivered 2026" seo_description: "Signed bps deviation between advertised APY and on-chain distributed yield for USDY, USTB, OUSG and SyrupUSDC. Measured live over 30 days, keyless, reproducible." subtitle: Signed basis-point deviation between the APY each tokenized U.S. Treasury advertises and the yield the smart contract actually distributes on-chain, measured over 30 days. diff --git a/benchmarks/solana-tx-landing-latency.yml b/benchmarks/solana-tx-landing-latency.yml index b09c765e..0ed216fc 100644 --- a/benchmarks/solana-tx-landing-latency.yml +++ b/benchmarks/solana-tx-landing-latency.yml @@ -43,7 +43,7 @@ seo_intro: | `swqos_only=true` mode (isolates the Helius own-path from the Jito leg). Astralane Iris (tip-refund mechanism). Nozomi by Temporal Labs (premium tier, hard 1M lamport tip floor). - 0slot.trade (premium tier). NextBlock, bloXroute and + Mobula (multi-RPC fan-out via api.mobula.io). NextBlock, bloXroute and SolanaVibeStation arrive in the next tier (V1) once the first sponsors land. Companion bench. /benchmarks/solana-tx-landing measures market share via on-chain tip-wallet attribution - diff --git a/benchmarks/token-quote-coverage.yml b/benchmarks/token-quote-coverage.yml index eaa99bd7..93d9f145 100644 --- a/benchmarks/token-quote-coverage.yml +++ b/benchmarks/token-quote-coverage.yml @@ -19,11 +19,11 @@ per_chain_explainer: - slug: bsc h2: "Best DEX aggregator for BNB Chain new token coverage" body: | - {{best_name:chain:bsc}} currently leads on BNB Chain at {{best_p50:chain:bsc}} coverage (24h) across Four.meme. BNB is the hardest environment in this benchmark for non-native aggregators: Four.meme graduates to PancakeSwap V2, and routing engines that do not maintain a live BNB Chain pool-creation index miss newly-minted pairs entirely. Providers that derive their BNB token list from a shared coingecko-style database rather than on-chain event tracking typically lag by several hours. The probe fires a 1 USDC (via USDC.e bridged) to token quote; KyberSwap has structural coverage advantages over Solana-first providers here due to its live BNB pool-creation event index. + {{best_name:chain:bsc}} currently leads on BNB Chain at {{best_p50:chain:bsc}} coverage (24h) across Four.meme. BNB is the hardest environment in this benchmark for non-native aggregators: Four.meme graduates to PancakeSwap V2, and routing engines that do not maintain a live BNB Chain pool-creation index miss newly-minted pairs entirely. Providers that derive their BNB token list from a shared coingecko-style database rather than on-chain event tracking typically lag by several hours. The probe fires a 1 USDC (via USDC.e bridged) to token quote. - slug: robinhood h2: "DEX aggregator coverage on Robinhood Chain" body: | - Robinhood Chain (chainId 4663) is Robinhood's EVM-compatible Layer 2, launched in 2025. Tokens launch and graduate via the Pons launchpad to Uniswap V3-based pools, with USDG as the primary stablecoin. Virtuals Protocol has also expanded to Robinhood, so the bench now probes both Pons-graduated tokens and Virtuals agents deployed on Robinhood. Three aggregators cover this chain: KyberSwap, Mobula, and Relay. {{best_name:chain:robinhood}} currently leads on Robinhood at {{best_p50:chain:robinhood}} coverage (24h). The leaderboard captures improvements in real time as aggregators deepen their Robinhood integration. + Robinhood Chain (chainId 4663) is Robinhood's EVM-compatible Layer 2, launched in 2025. Tokens launch and graduate via the Pons launchpad to Uniswap V3-based pools, with USDG as the primary stablecoin. Virtuals Protocol has also expanded to Robinhood, so the bench now probes both Pons-graduated tokens and Virtuals agents deployed on Robinhood. Two aggregators cover this chain: Mobula and Relay. {{best_name:chain:robinhood}} currently leads on Robinhood at {{best_p50:chain:robinhood}} coverage (24h). The leaderboard captures improvements in real time as aggregators deepen their Robinhood integration. category: Aggregators status: live @@ -68,15 +68,14 @@ abstract: | structural (it does not index Meteora DBC pool types) or temporary (it lags new Raydium pairs by a few minutes). The chain dimension narrows to a single chain for providers that are chain-specific - (Jupiter is Solana-only; ParaSwap covers Base, BNB and Robinhood; KyberSwap, Mobula, - and Relay cover all four chains). + (Jupiter is Solana-only; Mobula and Relay cover all four chains). methodology: - "Token discovery: five sources in parallel. (1) Dexscreener token-boosts: pump-fun (Solana) and pons (Robinhood). (2) Virtuals Protocol API: Virtuals agents on Base and Robinhood chain (virtuals). (3) GeckoTerminal BSC new_pools: four-meme. (4) GeckoTerminal Solana moonshot/pools: moonshot. (5) GeckoTerminal Solana meteora-dbc/pools: meteora-dbc. Boosted tokens from (1) are enriched via Dexscreener batch lookup to resolve dexId to venue labels." - "Quote probe: 1 USDC → token, fired in parallel to all in-scope providers with a 10s timeout. Input token is always USDC (native USDC on Solana and Base, bridged USDC.e on BNB). A probe is a coverage hit when the HTTP response is 2xx and the parsed outAmount field is a non-zero positive integer or decimal. All other outcomes (4xx, 5xx, no-route JSON, empty outAmount, timeout) record as misses." - - "Aggregator endpoints: Jupiter lite-api.jup.ag/swap/v1/quote (Solana), KyberSwap aggregator-api.kyberswap.com/{chain}/api/v1/routes (EVM), ParaSwap apiv5.paraswap.io/prices (EVM), Mobula /api/2/swap/quoting (EVM + Solana, API key), Relay api.relay.link/quote (EVM + Solana, no key). Each adapter normalises chain identifiers, input/output decimals, and error response shapes before recording outcome." + - "Aggregator endpoints: Jupiter lite-api.jup.ag/swap/v1/quote (Solana), Mobula /api/2/swap/quoting (EVM + Solana, API key), Relay api.relay.link/quote (EVM + Solana, no key). Each adapter normalises chain identifiers, input/output decimals, and error response shapes before recording outcome." - "Jupiter strictMode=false: queried without the curated-token filter so Jupiter will attempt routing for any token with a discoverable on-chain pool, matching how most wallets call the API. strictMode=true would trivially exclude new tokens and defeat the purpose of the benchmark." - - "Chain-scope enforcement: Jupiter probes Solana-only. ParaSwap probes Base, BNB and Robinhood. KyberSwap probes Base, BNB, and Robinhood. Mobula and Relay probe all four chains (Solana, Base, BNB, Robinhood). Providers are never penalised for chains they do not support: null cells are excluded from cross-chain aggregates." + - "Chain-scope enforcement: Jupiter probes Solana-only. Mobula and Relay probe all four chains (Solana, Base, BNB, Robinhood). Providers are never penalised for chains they do not support: null cells are excluded from cross-chain aggregates." - "Coverage metric: Prometheus counters token_quote_coverage_success_total and token_quote_coverage_attempts_total carry labels {provider, venue, chain}. The bench queries compute increase(success[24h]) / increase(attempts[24h]) * 100 live at read time. No pre-aggregation; the ratio reflects exactly the tokens probed in the rolling window." - "Probe cadence and deduplication: each batch cycles through the current Dexscreener token-boosts feed. Tokens are not deduplicated across batches; the same token may appear in multiple 30-minute windows if it remains boosted. The score therefore reflects freshness of the aggregator's current routing graph, not historical coverage depth." - "Single origin: all probes originate from the eu-west OCB VPS. Regional latency is not a factor in this bench (the outcome is binary hit/miss, not latency). No region dimension in v1." @@ -103,7 +102,7 @@ faq: - q: "Why is Jupiter queried with strictMode=false?" a: "Jupiter's strictMode=true restricts quotes to verified tokens on its curated list, which defeats the purpose of a coverage bench targeting newly-launched tokens. strictMode=false instructs Jupiter to attempt routing for any token with an existing pool, matching how wallets typically call the API when displaying all tradeable tokens." - q: "What happens when a provider is chain-specific?" - a: "Jupiter is Solana-only and appears as null on EVM rows. ParaSwap covers Base, BNB, and Robinhood. KyberSwap covers Base, BNB, and Robinhood. Mobula and Relay cover all four chains including Solana. Null cells are excluded from cross-chain aggregates so chain-restricted providers are not penalized." + a: "Jupiter is Solana-only and appears as null on EVM rows. Mobula and Relay cover all four chains including Solana. Null cells are excluded from cross-chain aggregates so chain-restricted providers are not penalized." source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/token-quote-coverage diff --git a/benchmarks/validator-yield.yml b/benchmarks/validator-yield.yml index ba37a8e2..75d593e6 100644 --- a/benchmarks/validator-yield.yml +++ b/benchmarks/validator-yield.yml @@ -2,10 +2,10 @@ slug: validator-yield number: "026" -title: Highest staking yield, live validator net APR across Solana, Hyperliquid and Ethereum -seo_title: "Highest staking yield 2026: SOL vs HYPE vs ETH" -seo_description: "Highest staking yield ranked live by net validator APR. Solana top 200 (Stakewiz total APY, MEV in), Hyperliquid active set, Ethereum consensus-layer solo validator APR (spec formula, MEV excluded). Uptime + commission + stake." -subtitle: Median validator net yield (APR multiplied by uptime) in basis points, compared across chains. Solana top 200 by stake, all active Hyperliquid validators, Ethereum as one network-average consensus-layer solo validator figure. +title: Highest staking yield, live validator net APR across 7 PoS chains +seo_title: "Highest staking yield 2026: SOL, ETH, HYPE, ADA, SUI, ATOM, AVAX" +seo_description: "Highest staking yield ranked live by net validator APR. Solana top 200 (Stakewiz total APY, MEV in), Hyperliquid active set, Ethereum consensus layer, Cardano top 50 pools, Sui validators, Cosmos Hub top 200, Avalanche P-Chain top 100. Net APR, uptime and commission included." +subtitle: Median validator net yield (APR multiplied by uptime) in basis points across 7 PoS chains. Solana top 200 by stake, Ethereum network-average consensus APR, Hyperliquid active set, Cardano top 50 pools, Sui active validators, Cosmos Hub top 200, Avalanche P-Chain top 100. category: Blockchains status: live metric: Net yield @@ -93,7 +93,7 @@ methodology: - "MEV treatment. Solana: MEV tips from Jito are already folded into Stakewiz `total_apy`. `ocb_validator_mev_share_bps` is exposed for transparency (a reader sees 'Helius APR 600 bps of which 80 bps MEV') but NOT subtracted to produce a 'staking-only' figure. Hyperliquid: no separate MEV layer (centralised sequencer captures order-flow value at the protocol level), so the MEV gauge is 0 by convention." - "Ethereum. Source: `GET ultrasound.money/api/v2/fees/effective-balance-sum` (free, no key), live total beacon-chain effective balance. APR = 64 × epochs_per_year / sqrt(total_gwei), the consensus spec reward formula at 100% participation (realized ~99.5%, under 2 bps of drift). One network-average series: consensus rewards are uniform per 32 ETH increment, so the average equals the solo validator nominal APR. Execution tips and MEV excluded. Price: CoinGecko (ETH/USD)." - "Jailed / inactive handling. Hyperliquid: `jailed=1` validators (currently 4) land in the dataset with `predictedApr=0`, so `net_yield_bps=0`. Solana: ~42 validators report `total_apy=0`. Live data shows two causes: commission 100% (operator routes everything to themselves, delegators get 0) or zero leader slots this epoch (no block-production rewards). Both legitimate transient states, both count toward total + median." - - "Excluded by design. Per-validator Ethereum gauges (~1M active indices; needs beacon-node ingestion, deferred to v2). Ethereum execution tips and MEV (needs per-relay MEV-Boost scraping; the published figure is consensus only). Lido / Rocket Pool / Coinbase staked-ETH are products with own fee structures, not validator yields (separate bench `liquid-staking-yield`, future). Cosmos, Polkadot, Avalanche out of scope v1, chain-specific sources would dilute focus." + - "Excluded by design. Per-validator Ethereum gauges (~1M active indices; needs beacon-node ingestion, deferred to v2). Ethereum execution tips and MEV (needs per-relay MEV-Boost scraping; the published figure is consensus only). Lido / Rocket Pool / Coinbase staked-ETH are products with own fee structures, not validator yields (separate bench `liquid-staking-yield`, future). Polkadot not yet active (requires separate source ingestion, deferred to v2). Cosmos Hub, Avalanche, Cardano and Sui now tracked in v1." findings: - "{{best_name}} currently leads at {{best_p50}} (median net yield, 24 h) across {{count}} measured chains. The cross-chain gap is structural: Solana's ~5.6% median reflects PoS inflation + Jito MEV tips minus average ~24% validator commission, while Hyperliquid's ~2.2% reflects staking-only rewards on a deflationary HYPE token with no MEV layer to top it up." diff --git a/benchmarks/world-chain-rpc.yml b/benchmarks/world-chain-rpc.yml index 3b684ed3..007047d9 100644 --- a/benchmarks/world-chain-rpc.yml +++ b/benchmarks/world-chain-rpc.yml @@ -44,7 +44,7 @@ faq: - q: "What is the fastest free World Chain RPC right now?" a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber(\"latest\", false)` p50 over the last 24h), measured against 3 no-key providers probed every 60 seconds from us-east, eu-west and Singapore. The leaderboard re-sorts continuously against fresh Prometheus samples, so the answer on this page is the answer right now, not a quarterly snapshot. Use the region tabs to see the leader from the origin closest to your deployment." - q: "Which World Chain RPCs work without an API key?" - a: "4 endpoints sustain continuous keyless probing at launch: World Chain, dRPC, Tenderly Gateway. Every listed endpoint was live-verified with a `eth_getBlockByNumber(\"latest\", false)` POST returning a parsable response before inclusion. See the methodology section for the specific endpoints that were audited and excluded." + a: "3 endpoints sustain continuous keyless probing at launch: World Chain, dRPC, Tenderly Gateway. Every listed endpoint was live-verified with a `eth_getBlockByNumber(\"latest\", false)` POST returning a parsable response before inclusion. See the methodology section for the specific endpoints that were audited and excluded." - q: "Does the fastest World Chain RPC change by region?" a: "Often. Public infra concentrates in specific regions; a gateway that wins from Amsterdam can lose from Singapore by multiples. The region tabs at the top of the page re-scope every number to a single origin; pick the one closest to where your requests originate." - q: "How is World Chain RPC latency measured here, technically?" diff --git a/benchmarks/ws-head-latency-ethereum.yml b/benchmarks/ws-head-latency-ethereum.yml index e79078c8..9dbb237e 100644 --- a/benchmarks/ws-head-latency-ethereum.yml +++ b/benchmarks/ws-head-latency-ethereum.yml @@ -4,7 +4,7 @@ slug: ws-head-latency-ethereum number: "081" title: Fastest Ethereum WebSocket newHeads push, live block-push lag across RPC providers seo_title: "Fastest Ethereum WebSocket RPC newHeads push 2026" -seo_description: "{{best_name}} pushes Ethereum newHeads first. Live WebSocket block-push lag for PublicNode, dRPC and Tenderly, measured per block against the earliest arrival in the cohort." +seo_description: "{{best_name}} pushes Ethereum newHeads first. Live WebSocket block-push lag for PublicNode, dRPC, Tenderly and OnFinality, measured per block against the earliest arrival in the cohort." subtitle: Per-block WebSocket push lag in milliseconds versus the earliest provider to deliver the same Ethereum head, measured continuously from one eu-west vantage point. category: RPCs @@ -23,7 +23,7 @@ seo_intro: | per provider from the same eu-west host, timestamps every newHeads frame on receipt, and scores each Ethereum block as a race: the earliest arrival sets T0, every other provider's lag is its arrival - minus T0. The headline is pinned to Ethereum, where all three keyless + minus T0. The headline is pinned to Ethereum, where all four keyless providers compete; the same harness also races Base heads and Solana slots for cross-chain context. Because the measurement is relative, the leader reads near zero by construction, so the win-rate and the @@ -48,7 +48,7 @@ abstract: | methodology: - "Providers measured (keyless WebSocket endpoints): PublicNode (wss://ethereum-rpc.publicnode.com), dRPC (wss://eth.drpc.org), Tenderly (wss://mainnet.gateway.tenderly.co), Onfinality (wss://eth.api.onfinality.io/public-ws). Keyed providers (Alchemy, Infura, Chainstack, QuickNode) join the cohort when contributor keys are wired via WS_URL__ETHEREUM env vars; the harness skips them cleanly when unset." - "Cohort saturation: Ankr, Blast, LlamaRPC, BlockPI, 1RPC, NodeReal and Omniatech all reject a keyless WebSocket handshake at the time of ship (verified 2026-07), which is why the keyless tier stops at four (PublicNode, dRPC, Tenderly, Onfinality)." - - "Chains: Ethereum (headline, all three providers compete), Base via newHeads and Solana via slotSubscribe as secondary cohorts. Headline queries on this page are pinned to chain=ethereum so the ranking never mixes block cadences." + - "Chains: Ethereum (headline, all four providers compete), Base via newHeads and Solana via slotSubscribe as secondary cohorts. Headline queries on this page are pinned to chain=ethereum so the ranking never mixes block cadences." - "Race scoring: the first provider to deliver block N sets T0. Each provider's sample for block N is arrival(N) minus T0 in milliseconds. The cohort closes 5 seconds after the first arrival; a provider arriving later than that is scored as a missed block (ws_block_gap_total), not as a huge latency sample." - "Relative, not absolute: a single vantage point cannot separate its own network path from provider pipeline time, so we subtract the two arrivals over the same path instead. Consequence: the fastest provider reads ~0 by construction, and the honest readings are win rate, the trailers' lag distribution, and gap counts, not the leader's absolute number." - "Blocks where only one provider delivered within the window emit no lag samples and no win: a one-horse race carries no relative information. Gap counters still increment for live providers that missed the block."