diff --git a/alternatives/birdeye.yml b/alternatives/birdeye.yml index 5a6c41685..1dead0c1f 100644 --- a/alternatives/birdeye.yml +++ b/alternatives/birdeye.yml @@ -9,4 +9,4 @@ intro: | Birdeye is a Solana token analytics platform with a price + metadata API. If you need an alternative, one practical axis is metadata completeness. for a freshly-launched Solana token, how often does the API return a populated logo, description, twitter and website? Below is the live percentage for each provider on Solana, refreshed every minute against fresh-launch tokens detected from Mobula Pulse. seo_title: "Birdeye alternatives: live benchmark" -seo_description: Compare Birdeye alternatives on token metadata coverage for Solana. Logo, description, twitter and website availability for freshly-launched tokens, measured live. +seo_description: "Birdeye alternatives on Solana token metadata coverage: logo, description, socials in seconds. Codex vs Mobula live." diff --git a/alternatives/chainlink.yml b/alternatives/chainlink.yml index bd94e611e..401fbea03 100644 --- a/alternatives/chainlink.yml +++ b/alternatives/chainlink.yml @@ -8,6 +8,6 @@ intro: | Chainlink publishes on-chain price feeds via AggregatorV3 contracts deployed on Ethereum mainnet and most major EVM chains, with node operators posting new rounds on either a deviation trigger (typically 0.25 to 0.5 percent for blue chips) or a heartbeat interval. Every on-chain product that settles in fiat (perp DEXes, lending markets, derivatives, stablecoin issuers) picks one oracle and inherits its drift, which is why the practical question is how aligned the major feeds actually are at the moment a settlement happens. This benchmark polls four oracles every 30 seconds for ten USD-quoted blue chips, computes the pairwise deviation `|a-b|/avg * 100` across every source pair, and publishes the per-pair maximum as a Prometheus gauge in basis points. Sources include Chainlink AggregatorV3 (via `eth_call` against the canonical mainnet contracts), Pyth Network's Hermes REST feed, Binance and Coinbase REST tickers. Pairs are BTC, ETH, SOL, BNB, AVAX, LINK and POL on all four sources, plus XRP, ADA and DOGE on three sources because the Chainlink mainnet feeds for those USD pairs are deprecated. A stale-price guard skips samples older than 60 seconds so a dead poller cannot artificially flatten the deviation, and the companion gauge `ocb_oracle_last_round_age_seconds{source="chainlink"}` surfaces Chainlink's on-chain update gap separately so a wide deviation can be attributed to the right cause. The headline leaderboard ranks the ten pairs by p99 of the max deviation over 24 hours, lower meaning tighter cross-oracle alignment. seo_title: "Chainlink alternatives: live benchmark" -seo_description: Compare Chainlink against Pyth, Binance and Coinbase on live oracle deviation. Max pairwise gap on 10 USD pairs, polled every 30 seconds, p99 over 24 hours. +seo_description: "Chainlink vs Pyth, Binance and Coinbase on live oracle deviation. Max pairwise gap on BTC, ETH, SOL." status: live diff --git a/alternatives/drpc.yml b/alternatives/drpc.yml index f67bda8f6..cfc1b3733 100644 --- a/alternatives/drpc.yml +++ b/alternatives/drpc.yml @@ -8,6 +8,6 @@ intro: | dRPC is a decentralized RPC mesh that routes each JSON-RPC request across third-party node providers with consensus checks, exposing a no-key public tier on every major EVM network. Picking a default endpoint for a dapp comes down to a per-chain question: which free public RPC is actually fast and reliable on the chain my product runs on, right now, not according to a marketing page. This benchmark answers it directly. The harness sends an identical `eth_blockNumber` POST every 15 seconds against 15 audited no-key public RPC providers across 10 EVM chains (Ethereum, Arbitrum, Base, Optimism, Avalanche, BNB, Polygon, Linea, Scroll, Mantle), from three Railway regions (us-east, eu-west, sgp). p50, p90 and p99 are computed via Prometheus `quantile_over_time` over the last 24 hours, and a five-class result label (`ok`, `http_err`, `jsonrpc_err`, `stale`, `timeout`) lets the success-rate column catch endpoints that return HTTP 200 with a JSON-RPC error body (the Cloudflare-eth trap). An archive-depth probe runs every 5 minutes against five depths so a fast endpoint that silently serves pruned state is not ranked as a viable archive source. The cohort competing with dRPC includes PublicNode, 1RPC, MeowRPC, Tenderly Gateway, Nodies, Lava, Merkle, Flashbots Protect and Cloudflare, plus the chain-official foundation endpoints on Base, BNB, Arbitrum, Optimism and Avalanche. The chain tab filters every query so the leader is reported per network rather than as a cross-chain aggregate that rewards whichever single-chain endpoint happens to be fastest on its one chain. seo_title: "dRPC alternatives: live benchmark" -seo_description: Compare dRPC alternatives on eth_blockNumber p50 latency. PublicNode, 1RPC, Tenderly, Nodies, Lava and chain-official endpoints measured every 15 seconds from 3 regions. +seo_description: "dRPC alternatives on eth_blockNumber p50 latency. PublicNode, 1RPC, Tenderly, Nodies, Lava ranked live." status: live diff --git a/alternatives/dune.yml b/alternatives/dune.yml index 06bc65ee7..42784527c 100644 --- a/alternatives/dune.yml +++ b/alternatives/dune.yml @@ -8,4 +8,4 @@ intro: | Dune lets analysts query indexed blockchain data with SQL, often via labelled wallet datasets contributed by the community. When sizing alternatives, one practical axis is wallet labelling depth. how many addresses does each provider have a label for, and how confident are those labels? Below is the live coverage from each major labelling provider, refreshed continuously against a shared sample of recently active wallets. seo_title: "Dune alternatives: live benchmark" -seo_description: Compare Dune alternatives on wallet labelling depth. Coverage of recently active addresses across major providers, measured continuously and published openly. +seo_description: "Dune alternatives on wallet labelling depth. Recently active address coverage across major EVM chains." diff --git a/alternatives/kalshi.yml b/alternatives/kalshi.yml index 39ea762d4..ec8401bbe 100644 --- a/alternatives/kalshi.yml +++ b/alternatives/kalshi.yml @@ -8,6 +8,6 @@ intro: | Kalshi runs a CFTC-regulated event contracts exchange with the only documented token bucket in its cohort (around 20 requests per second on the basic read tier at the time of writing). Its order book and single-market endpoints go to origin on every request, but the market list is served from CloudFront with `max-age=15`, so list latency measures the edge rather than the API origin. The WebSocket requires authentication, which excludes Kalshi from the public WS panel. Builders sizing against this kind of API need two numbers: the real latency of the hot endpoints at a polite request rate, and what happens as the rate climbs. This benchmark probes book (`/markets/{ticker}/orderbook`), price (`/markets/{ticker}`) and list (`/markets`) endpoints continuously from three Railway regions (us-east, eu-west, sgp), every 5 to 7 seconds over warm keep-alive connections, with a separate cold-connect probe once per minute. Once per day per venue it runs a 60-second-per-tier ramp at rising request rates, recording added latency against the same-hour warm baseline and any 429 onset. Kalshi's ramp uses tiers 25/50/100 requests per 10 seconds and stops at the first 429 out of respect for the documented contract. The harness flags CDN cache hits via `cf-cache-status`, `x-cache` and `age` headers and excludes them from latency aggregates so no venue ranks on its CDN. Every request carries an identifying User-Agent with a contact address. The cohort competing with Kalshi includes Polymarket (Cloudflare-queued CLOB), Limitless (undocumented limits, errors CDN cached for 4 hours), Manifold (500 req/min per IP, whole API behind a 5-second cache) and Myriad (single-region Heroku origin, no order book). seo_title: "Kalshi alternatives: live benchmark" -seo_description: Compare Kalshi against Polymarket, Limitless, Manifold and Myriad on warm book latency and daily ramp throttle behaviour, measured from us-east, eu-west and sgp. +seo_description: "Kalshi vs Polymarket, Limitless, Manifold, Myriad on warm book latency and ramp throttle (us-east, eu-west, sgp)." status: live diff --git a/alternatives/publicnode.yml b/alternatives/publicnode.yml index 900c8fed5..687f0a32e 100644 --- a/alternatives/publicnode.yml +++ b/alternatives/publicnode.yml @@ -8,6 +8,6 @@ intro: | PublicNode is the no-key public RPC service operated by Allnodes, covering 70+ chains with endpoints anchored close to a large EU-resident validator footprint. It is the de-facto default fallback for many dapps because it shows up on most EVM networks at once and serves archive-depth state on most of them. Comparing it against the other candidates a developer might paste into a wallet config or a backend service is per chain and per region, not per marketing page. This benchmark probes `eth_blockNumber` every 15 seconds against 15 audited no-key RPC providers across 10 EVM chains (Ethereum, Arbitrum, Base, Optimism, Avalanche, BNB, Polygon, Linea, Scroll, Mantle) from three Railway regions (us-east, eu-west, sgp). Latency is recorded with millisecond precision and exposed as both a gauge and a histogram so p50, p90 and p99 are computed via Prometheus `quantile_over_time` over the last 24 hours. A five-class result label catches endpoints that answer HTTP 200 with a JSON-RPC error body or serve a stale head more than 20 blocks behind the cross-provider tip, and a separate archive-depth probe runs every 5 minutes across five depths (300 to 5,000,000 blocks). The cohort competing with PublicNode includes dRPC, 1RPC, MeowRPC, Tenderly Gateway, Nodies, Lava, Merkle, Flashbots Protect and Cloudflare, plus the chain-official foundation endpoints on Base, BNB, Arbitrum, Optimism and Avalanche. The chain tab filters every query so the leader is reported per network, not as a cross-chain aggregate. seo_title: "PublicNode alternatives: live benchmark" -seo_description: Compare PublicNode alternatives on eth_blockNumber p50 latency. dRPC, 1RPC, Tenderly, Nodies, Lava, Merkle and chain-official endpoints probed every 15 seconds from 3 regions. +seo_description: "PublicNode alternatives on eth_blockNumber p50 latency. dRPC, 1RPC, Tenderly, Nodies, Lava ranked live." status: live diff --git a/alternatives/pump-portal.yml b/alternatives/pump-portal.yml index 51bbb3162..f907d4db0 100644 --- a/alternatives/pump-portal.yml +++ b/alternatives/pump-portal.yml @@ -8,4 +8,4 @@ intro: | Pump Portal is a single-purpose WebSocket on Solana, scoped to pump.fun and the bonding-curve launchpad ecosystem around it (new token creations, migration to Raydium, per-mint trade events). The surface is intentionally narrow: no support for other chains, no general DEX coverage outside the pump.fun graduates and no historical query layer beyond the live stream. The free tier exists, but high-volume readers route through a paid trading endpoint that adds a per-trade priority fee on top. The provider sits close to the launchpad it tracks rather than near a canonical Solana archive, so the bottleneck is usually the upstream indexer rather than the WebSocket itself. Teams that outgrow the pump.fun-only scope (cross-DEX routing, non-Solana chains, OHLCV history) tend to drop it the moment a second venue or chain enters the product. seo_title: "PumpPortal alternatives: live benchmark" -seo_description: Looking for an alternative to Pump Portal? Compare Codex, GeckoTerminal and Mobula on real-time blockchain data latency, measured continuously and published openly. +seo_description: "Pump Portal alternatives: Codex, GeckoTerminal, Mobula on real-time block ingestion + Solana mint feed." diff --git a/alternatives/pyth.yml b/alternatives/pyth.yml index e424f837c..00fce2ef5 100644 --- a/alternatives/pyth.yml +++ b/alternatives/pyth.yml @@ -8,6 +8,6 @@ intro: | Pyth Network is a pull-based price oracle with publisher-signed feeds delivered through the Hermes REST endpoint and on-chain via wormhole-attested updates. Unlike Chainlink's push model with a deviation trigger, Pyth refreshes continuously off-chain, which means the off-chain quote available to a protocol team is usually fresher but the on-chain inscription of that quote still depends on when an integrator submits the update. The question every protocol designer picking an oracle asks is how aligned the major feeds actually are at the moment a settlement happens, not what each vendor's whitepaper claims. This benchmark polls four oracles every 30 seconds for ten USD-quoted blue chips, computes the pairwise deviation `|a-b|/avg * 100` across every source pair, and publishes the per-pair maximum as a Prometheus gauge in basis points. Sources are Chainlink AggregatorV3 (via `eth_call`), Pyth Hermes (batched `latest_price_feeds`), Binance REST ticker (USDT quoted, treated as approximately USD) and Coinbase REST ticker. Pairs are BTC, ETH, SOL, BNB, AVAX, LINK and POL on all four sources, plus XRP, ADA and DOGE on three sources because the Chainlink mainnet feeds for those USD pairs are deprecated. A 60-second stale-price guard excludes any source whose last sample is older than two poll intervals, so a dead poller cannot register a false zero deviation against itself. The leaderboard ranks the ten pairs by p99 of the max deviation over 24 hours; lower means tighter cross-oracle alignment. seo_title: "Pyth alternatives: live benchmark" -seo_description: Compare Pyth against Chainlink, Binance and Coinbase on live oracle deviation. Max pairwise gap on 10 USD pairs, polled every 30 seconds, p99 over 24 hours. +seo_description: "Pyth vs Chainlink, Binance and Coinbase on live oracle deviation. Max pairwise gap on BTC, ETH, SOL." status: live diff --git a/alternatives/tenderly.yml b/alternatives/tenderly.yml index 6d38403a2..7c448ac72 100644 --- a/alternatives/tenderly.yml +++ b/alternatives/tenderly.yml @@ -8,6 +8,6 @@ intro: | Tenderly runs a multi-chain public RPC gateway at `gateway.tenderly.co/public/` alongside its simulation and observability stack. The free, no-key tier covers nine EVM networks and gets pulled into the same dapps that pick PublicNode or dRPC as their default fallback endpoint. The question every developer faces before pasting a URL into a wallet config or a backend service is whether that endpoint is actually fast and reliable on the chain their product runs on, not whether the vendor's homepage says it is. This benchmark probes `eth_blockNumber` every 15 seconds against 15 audited no-key public RPC providers across 10 EVM chains (Ethereum, Arbitrum, Base, Optimism, Avalanche, BNB, Polygon, Linea, Scroll, Mantle), from three Railway regions (us-east, eu-west, sgp). Each provider gets the same identical JSON-RPC POST every cycle, so the recorded p50/p90/p99 reflects sustained round-trip latency rather than a marketing burst. The harness also classifies every response as `ok`, `http_err`, `jsonrpc_err`, `stale` or `timeout` and exposes archive-depth support for five historical depths (300 to 5,000,000 blocks). The cohort competing with Tenderly's gateway includes PublicNode, dRPC, 1RPC, MeowRPC, Nodies, Lava, Merkle, Flashbots Protect and Cloudflare, plus the chain-official foundation endpoints on Base, BNB, Arbitrum, Optimism and Avalanche. The leaderboard re-sorts every 15 seconds against fresh Prometheus samples, and the chain tab at the top of the page filters every query so the comparison stays per chain rather than smeared across an aggregate that mechanically favours single-chain endpoints. seo_title: "Tenderly alternatives: live benchmark" -seo_description: Compare Tenderly Gateway alternatives on eth_blockNumber p50 latency. PublicNode, dRPC, 1RPC, Nodies, Lava and chain-official endpoints probed every 15 seconds from 3 regions. +seo_description: "Tenderly Gateway alternatives on eth_blockNumber p50 latency. PublicNode, dRPC, 1RPC, Nodies ranked live." status: live diff --git a/benchmarks/bridge-fee.yml b/benchmarks/bridge-fee.yml index 77d46e217..872221f6f 100644 --- a/benchmarks/bridge-fee.yml +++ b/benchmarks/bridge-fee.yml @@ -4,7 +4,7 @@ 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 notional. Total cost (fees, slippage, dest gas) across Solana, Base, Arbitrum. deBridge, LI.FI, Mobula, Relay, Near Intents." +seo_description: "Cheapest cross-chain bridge for USDC at $300. Total cost (fees, slippage, gas) across deBridge, LI.FI, Mobula, Relay." 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 diff --git a/benchmarks/bridge-quote-latency.yml b/benchmarks/bridge-quote-latency.yml index f943dacfc..56088baff 100644 --- a/benchmarks/bridge-quote-latency.yml +++ b/benchmarks/bridge-quote-latency.yml @@ -4,7 +4,7 @@ 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: "{{best_name}} leads fastest bridge quote API at {{best_p50}} (p50, 24h). Mobula, deBridge, Relay, LI.FI, Near Intents on identical USDC routes, refreshed every 5 minutes." +seo_description: "Live p50 latency for cross-chain bridge quote APIs. Mobula, deBridge, Relay, LI.FI, Near Intents ranked." 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 and Near Intents. category: Bridges status: live diff --git a/benchmarks/bridge-revenue.yml b/benchmarks/bridge-revenue.yml index 36114ba6f..16d51bba9 100644 --- a/benchmarks/bridge-revenue.yml +++ b/benchmarks/bridge-revenue.yml @@ -4,7 +4,7 @@ slug: bridge-revenue number: "028" title: Cross-chain bridge implied protocol revenue seo_title: "Cross-chain bridge revenue tracker 2026" -seo_description: "Live cross-chain bridge implied protocol revenue. (USD in − USD out − gas − app fees) summed over swaps in 24h / 7d / 30d. Upper bound on what each bridge + solvers keep. Relay tracked today; Across / Socket / deBridge to follow. Methodology pre-registered, harness OSS." +seo_description: "Live cross-chain bridge implied protocol revenue. (USD in − out − gas − fees) summed daily, ranked in USD." subtitle: Implied margin in USD that each cross-chain bridge plus its solver network collectively retain per swap, summed over rolling 24h / 7d / 30d windows. Upper bound, not exact. Read methodology before citing. category: Bridges status: live diff --git a/benchmarks/buyback-audit.yml b/benchmarks/buyback-audit.yml index 9e812333d..8ab41a4a8 100644 --- a/benchmarks/buyback-audit.yml +++ b/benchmarks/buyback-audit.yml @@ -4,7 +4,7 @@ slug: buyback-audit number: "018" title: DeFi token buyback tracker, live executed vs promised ratio seo_title: "DeFi buyback tracker 2026" -seo_description: "DeFi token buyback tracker ranked live by executed over promised ratio. Hyperliquid Assistance Fund (HYPE) and Sky Smart Burn Engine (SKY). 7d and 30d windows." +seo_description: "DeFi token buyback tracker: ratio of executed vs promised, live. Hyperliquid HYPE, Sky SKY ranked." subtitle: Executed USD over promised USD for live on-chain buyback programs, computed against destination-wallet inflows over rolling 7-day and 30-day windows. category: Trading status: live diff --git a/benchmarks/evm-quote-latency.yml b/benchmarks/evm-quote-latency.yml index 4001d955f..efdf1b819 100644 --- a/benchmarks/evm-quote-latency.yml +++ b/benchmarks/evm-quote-latency.yml @@ -4,7 +4,7 @@ slug: evm-quote-latency number: "033" title: Fastest EVM swap quote API seo_title: "Fastest EVM swap quote API 2026" -seo_description: "Live p50/p90/p99 round trip latency for the major EVM swap quoting APIs measured every minute on a rotating basket of top markets across Ethereum, Base, Arbitrum and BSC, with a 3 region geographic split." +seo_description: "Live p50/p90/p99 latency for major EVM swap quote APIs measured every minute on a rotating token basket." subtitle: Wall clock p50 latency of GET /quote per provider, measured every minute on a 5 pair basket across 4 chains. per_chain_explainer: diff --git a/benchmarks/gas-estimation.yml b/benchmarks/gas-estimation.yml index 1349a5c23..68d23177c 100644 --- a/benchmarks/gas-estimation.yml +++ b/benchmarks/gas-estimation.yml @@ -4,7 +4,7 @@ slug: gas-estimation number: "013" title: Most accurate gas oracle, live gap vs realized priority fee seo_title: "Most accurate gas oracle 2026" -seo_description: "Most accurate gas oracle ranked live on Ethereum and Polygon. Gwei gap between predicted and realized priority fee in the next mined block. Ranked on the p99 gap over 24h." +seo_description: "Most accurate gas oracle live on Ethereum and Polygon: gwei gap between predicted and realized effective_gas_price." subtitle: Absolute gap in gwei between each oracle's predicted priority-fee tier and the realized percentile in the next mined block, measured per chain. Ranked on the p99 gap, the worst 1% of blocks, because that is where gas spikes hurt integrations. per_chain_explainer: diff --git a/benchmarks/hyperliquid-frontends.yml b/benchmarks/hyperliquid-frontends.yml index b105eb1d1..00eddfff7 100644 --- a/benchmarks/hyperliquid-frontends.yml +++ b/benchmarks/hyperliquid-frontends.yml @@ -4,7 +4,7 @@ slug: hyperliquid-frontends number: "030" title: Hyperliquid frontends builder revenue leaderboard seo_title: "Hyperliquid frontends: builder fees 2026" -seo_description: "Live USD revenue collected by every Hyperliquid frontend via the on chain builder code field. Phantom Perps, MetaMask, Rabby, Insilico, based.app, OneKey, Axiom, pvp.trade and 95+ others ranked by 24h, 7d and 30d builder fees. Data source is a local hl node tailing the Hyperliquid mainnet fill stream." +seo_description: "Live USD revenue collected by every Hyperliquid frontend via the on-chain builder code. Ranked by 24h fees." subtitle: How much USD builder fee revenue each Hyperliquid frontend collected over the rolling 24h, 7 day and 30 day windows. Data from a local hl node tailing every fill on mainnet. category: Trading status: live diff --git a/benchmarks/hyperliquid-hip3-deployers.yml b/benchmarks/hyperliquid-hip3-deployers.yml index 65bf17100..8beb26077 100644 --- a/benchmarks/hyperliquid-hip3-deployers.yml +++ b/benchmarks/hyperliquid-hip3-deployers.yml @@ -4,7 +4,7 @@ slug: hyperliquid-hip3-deployers number: "035" title: Hyperliquid HIP-3 deployer revenue leaderboard seo_title: "Hyperliquid HIP-3 dex deployer fees 2026" -seo_description: "Live USD revenue collected by every HIP-3 builder-deployed dex on Hyperliquid via the on chain deployerFee field. trade.xyz, Ventuals, Dreamcash, Kinetiq, HyENA, Felix and Paragon ranked by 24h, 7d and 30d fees, with volume, unique traders and market counts, from a local hl node tailing the mainnet fill stream." +seo_description: "Live USD revenue collected by every HIP-3 builder-deployed dex on Hyperliquid via the deployer fee code." subtitle: How much USD deployer fee revenue each HIP-3 builder-deployed dex collected over the rolling 24h, 7 day and 30 day windows. Data from a local hl node tailing every fill on mainnet. category: Trading status: live diff --git a/benchmarks/l1-finality.yml b/benchmarks/l1-finality.yml index 5cf780cb6..9ddc8885b 100644 --- a/benchmarks/l1-finality.yml +++ b/benchmarks/l1-finality.yml @@ -4,7 +4,7 @@ slug: l1-finality number: "006" title: Fastest L1 blockchain finality, live across 11 chains seo_title: "Fastest L1 finality 2026" -seo_description: "Fastest L1 blockchain finality, measured live for 11 chains. Gram (formerly TON), SUI and Hedera in seconds, Solana ~13 s, Ethereum ~12.8 min. Live percentiles over 24h, open methodology." +seo_description: "Fastest L1 finality live across 11 chains: Gram, SUI, Hedera, Stellar, Solana, Ethereum and more." subtitle: Wall-clock seconds from latest block to the finalized block on Ethereum, Solana, Gram, SUI, Stellar and 5 more chains, refreshed every 10 seconds. seo_intro: | This page measures L1 finality time live for every major Layer-1 blockchain, with p50 / p90 / p99 refreshed every 10 seconds. Stellar finality time is ~5 seconds, the close interval the Stellar Consensus Protocol locks in via federated Byzantine agreement. Solana finality time goes from sub-second on the processed commitment to ~12.8 s on finalized after 32 confirmed slots. Ethereum finality time is ~12.8 minutes, the 2-epoch Casper FFG window. Hedera finality time clears in 3-5 seconds via Hashgraph aBFT. SUI finality time and Gram finality time (formerly TON) both sit under one second via Mysticeti DAG-BFT and BAG consensus. BNB and Avalanche finality time land near two seconds through fast-finality forks. Probabilistic chains (Litecoin, Monero) settle on a confirmation-depth convention measured here in minutes. diff --git a/benchmarks/l2-block-time.yml b/benchmarks/l2-block-time.yml index 7669eb228..17199113b 100644 --- a/benchmarks/l2-block-time.yml +++ b/benchmarks/l2-block-time.yml @@ -4,7 +4,7 @@ slug: l2-block-time number: "009" title: Fastest L2 block time, live across Arbitrum, Base, Optimism and 6 more seo_title: "Fastest L2 block time 2026" -seo_description: "Fastest L2 sequencer block time ranked live. Wall-clock newHeads interval for Arbitrum, Blast, Optimism, Base, zkSync, Linea, Scroll, Mantle and Taiko. p50 over 24h." +seo_description: "Fastest L2 sequencer block time live: Arbitrum, Blast, Optimism, Base, Linea and more ranked by newHeads interval." subtitle: Wall-clock interval in milliseconds between two consecutive newHeads events on each L2 sequencer, refreshed continuously. per_chain_explainer: diff --git a/benchmarks/metadata-coverage.yml b/benchmarks/metadata-coverage.yml index 02e0ea9d9..da8829208 100644 --- a/benchmarks/metadata-coverage.yml +++ b/benchmarks/metadata-coverage.yml @@ -4,7 +4,7 @@ slug: metadata-coverage number: "004" title: Best crypto data API for token metadata, live across Mobula, Codex, Jupiter seo_title: "Best crypto token metadata API 2026" -seo_description: "Best crypto data API for token metadata ranked live. Share of logo, description, twitter populated on fresh Solana, BNB, Base tokens. Mobula, Codex, Jupiter." +seo_description: "Best crypto data API for token metadata live: share of logo, description, twitter populated within minutes of mint." subtitle: Share of metadata fields (logo, description, twitter, website) populated for fresh-launch tokens, audited every launch on Solana, BNB and Base. per_chain_explainer: diff --git a/benchmarks/network-coverage.yml b/benchmarks/network-coverage.yml index 77158d289..7fa66d30c 100644 --- a/benchmarks/network-coverage.yml +++ b/benchmarks/network-coverage.yml @@ -4,7 +4,7 @@ slug: network-coverage number: "005" title: Crypto data API with most blockchains supported, live coverage ranking seo_title: "Crypto data API most chains 2026" -seo_description: "Crypto data API with the most blockchains supported, ranked live. {{best_name}} leads at {{best_p50}} networks; GeckoTerminal, CoinStats, Codex, Dune and Mobula compared. Audited every six hours." +seo_description: "Crypto data API with the most blockchains supported, ranked live across every major aggregator." subtitle: Number of blockchains each major crypto data API officially supports, audited every six hours against each provider's public network endpoint. category: Aggregators status: live diff --git a/benchmarks/network-fees.yml b/benchmarks/network-fees.yml index cef862071..653ba8545 100644 --- a/benchmarks/network-fees.yml +++ b/benchmarks/network-fees.yml @@ -4,7 +4,7 @@ slug: network-fees number: "031" title: Cheapest blockchain transaction fee, live across 20 L1 and L2 chains seo_title: "Cheapest crypto transaction fee 2026" -seo_description: "Cheapest blockchain transaction fee in USD ranked live across 20 chains. Solana, Base, Arbitrum, Optimism, BNB, Ethereum and 14 more. Refreshed every 30 seconds." +seo_description: "Cheapest blockchain transaction fee in USD live across 20 chains. Solana, Base, Arbitrum, Optimism ranked." subtitle: "Live USD cost of one native token transaction on 20 Layer 1 and Layer 2 chains, refreshed every 30 seconds." seo_intro: | diff --git a/benchmarks/nft-collection-metadata.yml b/benchmarks/nft-collection-metadata.yml index 964df2029..f2cc7f31c 100644 --- a/benchmarks/nft-collection-metadata.yml +++ b/benchmarks/nft-collection-metadata.yml @@ -4,7 +4,7 @@ slug: nft-collection-metadata number: "040" title: "Best NFT collection metadata API: Moralis, Alchemy, OpenSea benchmarked" seo_title: "Best NFT collection metadata API 2026" -seo_description: "NFT collection metadata API ranked live. Share of name, image, description, floor_eth, external_url populated on 50 Ethereum blue-chip collections. Moralis, Alchemy, OpenSea." +seo_description: "NFT collection metadata API ranked live: name, image, description, floor_eth populated across major collections." subtitle: Share of metadata fields (name, image, description, floor_eth, external_url) populated across 50 Ethereum blue-chip NFT collections, audited every 6 hours. category: NFT APIs status: live diff --git a/benchmarks/perp-funding-stability.yml b/benchmarks/perp-funding-stability.yml index 95af5fcd3..3a7cd761c 100644 --- a/benchmarks/perp-funding-stability.yml +++ b/benchmarks/perp-funding-stability.yml @@ -4,7 +4,7 @@ slug: perp-funding-stability number: "043" title: Perp DEX funding stability, 24h stddev of ETH funding ranked seo_title: "Perp funding stability 2026: ETH stddev" -seo_description: "Live 24h standard deviation of ETH perpetual futures funding rate in bps across 15 major venues: Hyperliquid, Bybit, dYdX v4, Binance, OKX, Paradex, Aster, Bitget, Coinbase, Deribit, Gate, Kraken, KuCoin, Lighter, MEXC. Lower means more stable funding for carry traders and basis arbitrageurs." +seo_description: "Live 24h stddev of ETH perpetual funding rate in bps across 15 major venues. Deepest book = smoothest rate." subtitle: 24h standard deviation of ETH funding rate, in basis points per 24h, across the perp-funding cohort. Lower means funding stays in a tight band, the carry trader's preferred signal. category: Trading status: live diff --git a/benchmarks/perp-funding.yml b/benchmarks/perp-funding.yml index 95bcf786b..9e93acd99 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 funding rates across Hyperliquid, Binance, Bybit, OKX, dYdX, Paradex and Aster, normalized to the same time base (venues settle on 1h, 4h or 8h periods). Ranked by the cost of holding a $1,000 ETH long for 24 hours, with BTC and SOL columns, annualized rates and 7d/30d averages." +seo_description: "Live perp funding rates across Hyperliquid, Binance, Bybit, OKX, dYdX, Paradex and Aster, 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 diff --git a/benchmarks/pm-api-latency.yml b/benchmarks/pm-api-latency.yml index 0dd0bd8b6..64e8fc70f 100644 --- a/benchmarks/pm-api-latency.yml +++ b/benchmarks/pm-api-latency.yml @@ -4,7 +4,7 @@ slug: pm-api-latency number: "038" title: Best prediction market API, ranked by live latency and uptime seo_title: "Best prediction market API 2026" -seo_description: "Is the Polymarket API up right now? Live uptime and price endpoint latency for the Polymarket, Kalshi, Limitless, Manifold and Myriad APIs, probed every 5 seconds from three regions, with per venue status pages and outage history." +seo_description: "Is the Polymarket API up? Live uptime and latency for Polymarket, Kalshi, Limitless, Manifold, Myriad price endpoints." subtitle: Warm price endpoint latency of five prediction market venue APIs from three regions, plus a live uptime panel that answers whether each API is up right now. category: Trading diff --git a/benchmarks/pm-rate-limits.yml b/benchmarks/pm-rate-limits.yml index b27209f2c..09cff9a4d 100644 --- a/benchmarks/pm-rate-limits.yml +++ b/benchmarks/pm-rate-limits.yml @@ -4,7 +4,7 @@ slug: pm-rate-limits number: "037" title: Prediction market API rate limits, tested with a daily ramp seo_title: "Prediction market API rate limits 2026" -seo_description: "Prediction market API rate limits measured live. A daily request ramp against Polymarket, Kalshi, Limitless, Manifold and Myriad records added latency, 429 onset and queueing behaviour at each tier, plus warm and cold endpoint latency from three regions." +seo_description: "Prediction market API rate limits measured live: daily request ramp against Polymarket, Kalshi, Limitless, Manifold, Myriad." subtitle: Warm latency on book, price and list endpoints of five prediction market venue APIs, plus a daily rate limit ramp that records added latency and throttle onset per request tier. category: Trading diff --git a/benchmarks/polymarket-resolution-delay.yml b/benchmarks/polymarket-resolution-delay.yml index 569577e2c..3c0a869af 100644 --- a/benchmarks/polymarket-resolution-delay.yml +++ b/benchmarks/polymarket-resolution-delay.yml @@ -4,7 +4,7 @@ slug: polymarket-resolution-delay number: "039" title: Polymarket resolution time, measured onchain seo_title: "Polymarket resolution delay live 2026" -seo_description: "Polymarket resolution time measured live from Polygon: median delay from outcome proposal to onchain resolution, by category (sports, politics, crypto), dispute rate and the pending backlog. The circulating claim that 93 percent of markets resolve within 2 hours is not supported by the data we measure." +seo_description: "Polymarket resolution time live from Polygon: median delay from outcome proposal to onchain payout, sports vs politics vs crypto." subtitle: Seconds from the first onchain outcome proposal to UMA resolution, measured per category from Polygon logs, with dispute rate and the live backlog of unresolved markets. category: Trading diff --git a/benchmarks/rpc-capabilities.yml b/benchmarks/rpc-capabilities.yml index 76ad3d8a1..afbadc332 100644 --- a/benchmarks/rpc-capabilities.yml +++ b/benchmarks/rpc-capabilities.yml @@ -4,7 +4,7 @@ slug: rpc-capabilities number: "010" title: Fastest free public RPC for Ethereum, BNB, Polygon and 7 more EVM chains seo_title: "Fastest free public RPC 2026" -seo_description: "{{best_name}} leads fastest free public RPC at {{best_p50}} (eth_blockNumber p50, 24h). dRPC, PublicNode, 1RPC, Tenderly, Nodies and 10 more across 10 EVM chains." +seo_description: "Fastest free public RPC live on eth_blockNumber p50. dRPC, PublicNode, 1RPC, Tenderly, Nodies, Lava ranked." subtitle: HTTP round-trip latency for eth_blockNumber against free, no-key public RPC endpoints across 10 EVM chains, audited every 15 seconds. category: RPCs status: live diff --git a/benchmarks/solana-dex-quote-latency.yml b/benchmarks/solana-dex-quote-latency.yml index 5bd720274..34541ae32 100644 --- a/benchmarks/solana-dex-quote-latency.yml +++ b/benchmarks/solana-dex-quote-latency.yml @@ -4,7 +4,7 @@ slug: solana-dex-quote-latency number: "029" title: Fastest Solana DEX quote API seo_title: "Fastest Solana DEX quote API 2026" -seo_description: "Live ms latency benchmark for Solana DEX aggregator quote APIs. Jupiter, Mobula, OpenOcean and Raydium probed every 60s from 3 regions, p50/p90/p99 over a 24h window." +seo_description: "Live ms latency benchmark for Solana DEX aggregator quote APIs: Jupiter, Mobula, OpenOcean, Raydium ranked." subtitle: Wallclock milliseconds from quote request to usable quote response. category: Aggregators status: live diff --git a/benchmarks/solana-tx-landing-latency.yml b/benchmarks/solana-tx-landing-latency.yml index 896339ff8..b09c765e2 100644 --- a/benchmarks/solana-tx-landing-latency.yml +++ b/benchmarks/solana-tx-landing-latency.yml @@ -4,7 +4,7 @@ slug: solana-tx-landing-latency number: "027" title: Fastest Solana RPC for tx landing, live slot delta benchmark seo_title: "Fastest Solana RPC 2026: slot delta" -seo_description: "{{best_name}} leads fastest Solana RPC for tx landing at {{best_p50}} (p50, 7d). Helius, Jito, Astralane, Mobula, Nozomi probed hourly with signed mainnet txs." +seo_description: "Fastest Solana RPC for tx landing live: Helius, Jito, Astralane, Nozomi p50 slot delta ranked." subtitle: How fast each landing service gets a signed mainnet tx confirmed. Slot delta = number of Solana slots between submit and confirmed (1 slot is roughly 400 ms). Active probing every hour from us-east. category: Trading status: live diff --git a/benchmarks/solana-tx-landing.yml b/benchmarks/solana-tx-landing.yml index 8bfaa7cf9..9872f99c9 100644 --- a/benchmarks/solana-tx-landing.yml +++ b/benchmarks/solana-tx-landing.yml @@ -4,7 +4,7 @@ slug: solana-tx-landing number: "016" title: Solana transaction landing services market share seo_title: "Solana tx landing services benchmark 2026" -seo_description: "Live observational benchmark of Solana transaction landing services. Market share by tx count, attribution via known on-chain tip wallets for Jito, Helius Sender, Nozomi, bloXroute, 0slot, NextBlock, Astralane, SolanaVibeStation. Zero on-chain footprint, methodology-public." +seo_description: "Live observational benchmark of Solana tx landing services. Market share by tx count, attributed via tip wallets." subtitle: Share of tipped Solana transactions attributed to each landing service, counted via known on-chain tip wallets. Observational, no transactions sent. category: Trading status: live diff --git a/benchmarks/stablecoin-peg.yml b/benchmarks/stablecoin-peg.yml index 477a9d252..a16ea70b9 100644 --- a/benchmarks/stablecoin-peg.yml +++ b/benchmarks/stablecoin-peg.yml @@ -4,7 +4,7 @@ slug: stablecoin-peg number: "014" title: Most stable stablecoin, live peg deviation across USDC, USDT and DAI seo_title: "Most stable stablecoin 2026: peg deviation" -seo_description: "Most stable USD stablecoin ranked live by peg deviation. USDC, USDT, DAI via liquidity-weighted median across Binance, Kraken, Bitstamp, Curve. p99 over 24h." +seo_description: "Most stable USD stablecoin live by peg deviation: USDC, USDT, DAI via liquidity-weighted median across venues." subtitle: Live peg deviation in basis points across USDC, USDT and DAI, computed every minute from a liquidity-weighted median across Binance, Kraken, Bitstamp and Curve. category: Trading status: live diff --git a/benchmarks/token-deployment-cost.yml b/benchmarks/token-deployment-cost.yml index 2880586ff..eed4b63c5 100644 --- a/benchmarks/token-deployment-cost.yml +++ b/benchmarks/token-deployment-cost.yml @@ -4,7 +4,7 @@ slug: token-deployment-cost number: "034" title: Cheapest blockchain to deploy a token, live USD cost across 21 L1 and L2 chains seo_title: "Token deployment cost 2026: cheapest chain" -seo_description: "Live USD cost to create a fungible token on 21 chains. Same canonical OZ v5 ERC20 via eth_estimateGas on every EVM chain, SPL mint plus Metaplex metadata on Solana, Move publish on Sui and Aptos, TokenFactory on Cosmos. Refreshed every 5 minutes." +seo_description: "Live USD cost to deploy an ERC20 on 21 chains via eth_estimateGas on the same canonical OZ v5 contract." subtitle: "Live USD cost to bring a fungible token into existence on each chain, using that chain's canonical method. 21 chains, 5 minute refresh, no transactions broadcast." seo_intro: | diff --git a/benchmarks/wallet-labels-coverage.yml b/benchmarks/wallet-labels-coverage.yml index 3f4181446..cf972711f 100644 --- a/benchmarks/wallet-labels-coverage.yml +++ b/benchmarks/wallet-labels-coverage.yml @@ -4,7 +4,7 @@ slug: wallet-labels-coverage number: "008" title: Best wallet labeling API provider seo_title: "Best wallet labeling API 2026" -seo_description: "Live wallet labeling API leaderboard split by address kind. EOA tab measures curated entity coverage on plain wallets (CEX hot wallets, OFAC SDN, public figures); Contract tab measures smart-contract name resolution. Audited every 30 minutes across 11 chains against ~180 anchors." +seo_description: "Live wallet labeling API leaderboard by address kind: EOA + contract entity coverage across chains." subtitle: Share of well-known addresses each provider correctly labels with an entity (CEX, DEX, multisig, sanctioned, etc.), split by EOA vs contract. category: Aggregators status: live diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx index bbc27c9fd..555374d47 100644 --- a/src/app/about/page.tsx +++ b/src/app/about/page.tsx @@ -9,7 +9,7 @@ export const metadata: Metadata = pageMetadata({ path: "/about", title: "About", description: - "OpenChainBench publishes open, reproducible benchmarks for crypto infrastructure: RPC latency, bridge fees, L2 finality and oracle deviation. Funded by Mobula, MIT licensed.", + "Open, reproducible benchmarks for crypto infrastructure: RPC latency, bridge fees, L2 finality, oracle deviation. Funded by Mobula, MIT licensed.", }); export default function AboutPage() { diff --git a/src/app/answers/[slug]/page.tsx b/src/app/answers/[slug]/page.tsx index f33a21a7f..c804399ac 100644 --- a/src/app/answers/[slug]/page.tsx +++ b/src/app/answers/[slug]/page.tsx @@ -61,12 +61,14 @@ export async function generateMetadata({ type: "article", url, siteName: SITE.name, + images: [{ url: `${SITE.url}/opengraph-image`, width: 1200, height: 630 }], }, twitter: { card: "summary_large_image", site: SITE.twitter, title, description, + images: [`${SITE.url}/twitter-image`], }, }; } diff --git a/src/app/badges/page.tsx b/src/app/badges/page.tsx index 0318756e6..90086d2a0 100644 --- a/src/app/badges/page.tsx +++ b/src/app/badges/page.tsx @@ -25,7 +25,7 @@ import { SITE } from "@/data/site"; export const revalidate = 600; const DESCRIPTION = - "Browse every live ranking badge published by OpenChainBench. Search by provider or category, preview the SVG, then copy a Markdown, HTML, URL or JSON snippet for your README, docs or marketing page. Free, CC-BY-4.0."; + "Every OpenChainBench ranking badge. Search, preview the SVG, copy Markdown, HTML, URL or JSON for your README or docs. CC-BY-4.0."; export const metadata: Metadata = pageMetadata({ path: "/badges", diff --git a/src/app/mcp/page.tsx b/src/app/mcp/page.tsx index 7735ab216..b12a4566d 100644 --- a/src/app/mcp/page.tsx +++ b/src/app/mcp/page.tsx @@ -41,7 +41,7 @@ export const metadata: Metadata = pageMetadata({ path: "/mcp", title: "MCP server", description: - "Connect Claude Desktop, Cursor, ChatGPT or any MCP-capable agent to OpenChainBench. Live crypto-infra benchmarks become a first-class tool for your AI assistant.", + "Connect Claude Desktop, Cursor, ChatGPT or any MCP-capable agent to OpenChainBench live crypto-infra benchmarks.", }); export const revalidate = 300; diff --git a/src/app/partners/page.tsx b/src/app/partners/page.tsx index 29e3d8f2e..4bb69440b 100644 --- a/src/app/partners/page.tsx +++ b/src/app/partners/page.tsx @@ -19,7 +19,7 @@ import { safeJsonLd, buildBreadcrumbJsonLd } from "@/lib/jsonld"; */ const DESCRIPTION = - "Live badges, share cards, citation snippets and public data APIs you can drop into your README, docs, or marketing site to surface live OpenChainBench measurements. CC-BY-4.0 licensed."; + "Live badges, share cards and data APIs to embed OpenChainBench measurements on your README, docs or site. CC-BY-4.0."; export const metadata: Metadata = pageMetadata({ path: "/partners", diff --git a/src/app/prediction-markets/page.tsx b/src/app/prediction-markets/page.tsx index 0cae76269..1a65873d4 100644 --- a/src/app/prediction-markets/page.tsx +++ b/src/app/prediction-markets/page.tsx @@ -23,7 +23,7 @@ import { SITE } from "@/data/site"; */ const DESCRIPTION = - "Live cross venue measurement of prediction markets: volume, open interest, resolution delay, API latency and data freshness. One leaderboard, one methodology, across Polymarket, Kalshi, Limitless, Manifold and Myriad."; + "Cross-venue prediction market leaderboard: volume, OI, resolution delay, API latency, freshness. Polymarket, Kalshi, Limitless, Manifold, Myriad."; export const metadata: import("next").Metadata = pageMetadata({ path: "/prediction-markets", diff --git a/src/app/products/[slug]/page.tsx b/src/app/products/[slug]/page.tsx index 6d0a55f12..f11401c34 100644 --- a/src/app/products/[slug]/page.tsx +++ b/src/app/products/[slug]/page.tsx @@ -81,9 +81,14 @@ export async function generateMetadata({ // Some registry descriptions end with a period, others do not. Normalize // before appending so the concatenated meta description never reads // "...provider Live performance..." as a run-on sentence. - const description = reg?.description + const rawDescription = reg?.description ? `${reg.description.replace(/[.!?]?$/, ".")} Live performance across ${benchCount} OpenChainBench ${benchWord}${winSuffix}.` : fallbackDescription; + // Google truncates meta description at ~155 chars in the SERP snippet. + // Long registry descriptions plus the appended "Live performance ..." + // sentence routinely blew past 200 chars (Ahref flagged 130+ pages). + // Cap at 155 with word-boundary truncation. + const description = capDescription(rawDescription, 155); // When the resolved provider slug is actually a chain (e.g. /products/eth-usd // aliases to /products/ethereum which 308s to /chains/ethereum), point