diff --git a/benchmarks/dex-network-coverage.yml b/benchmarks/dex-network-coverage.yml index 29b361bd..19852251 100644 --- a/benchmarks/dex-network-coverage.yml +++ b/benchmarks/dex-network-coverage.yml @@ -4,7 +4,7 @@ slug: dex-network-coverage number: "090" title: DEX indexer with most blockchains, live coverage ranking seo_title: "DEX indexer most chains 2026" -seo_description: "Which DEX indexer supports the most blockchains? Live coverage ranking across GeckoTerminal, Codex, DefiLlama, DexPaprika and Sim by Dune." +seo_description: "Which DEX indexer supports the most blockchains? Live coverage ranking across GeckoTerminal, Codex, DexPaprika and Sim by Dune." subtitle: Number of blockchains where each major DEX indexer actively indexes pools + swap volumes, audited every six hours against each provider's public networks endpoint. category: Aggregators status: live @@ -20,29 +20,28 @@ seo_intro: | can this API return pool addresses, live swap events, OHLCV candles and trending pools. Providers on this leaderboard run their own DEX pool indexer as a product (GeckoTerminal `/networks`, Codex - `getNetworks`, DefiLlama `/chains`, DexPaprika `/networks`, Sim by - Dune `/evm/supported-chains`). Asset-registry coverage (chains where - an API knows tokens for contract-address lookup) is a different - question measured on the sister bench asset-registry-coverage. + `getNetworks`, DexPaprika `/networks`, Sim by Dune + `/evm/supported-chains`). Asset-registry coverage (chains where an + API knows tokens for contract-address lookup) is a different question + measured on the sister bench asset-registry-coverage. abstract: | We benchmark how many networks each major DEX indexer publishes as actively indexed for pools + swap volumes. The harness fetches the - official listing every six hours from five providers (GeckoTerminal, - Codex, DefiLlama, DexPaprika, Sim by Dune), deduplicates by chain id - or platform slug and counts. Mainnet only. Asset-registry coverage - (chains where the provider knows tokens for contract-address lookups) - is measured on bench asset-registry-coverage because it answers a - different question, an API can list tokens on 300 chains through a - market-data pipeline while running DEX pool indexing on only a - dozen. Both leaderboards live under Aggregators so a reader can - compare a provider on the axis that matches their product. + official listing every six hours from four providers (GeckoTerminal, + Codex, DexPaprika, Sim by Dune), deduplicates by chain id or platform + slug and counts. Mainnet only. Asset-registry coverage (chains where + the provider knows tokens for contract-address lookups) is measured + on bench asset-registry-coverage because it answers a different + question, an API can list tokens on 300 chains through a market-data + pipeline while running DEX pool indexing on only a dozen. Both + leaderboards live under Aggregators so a reader can compare a + provider on the axis that matches their product. methodology: - "Source: each provider's public DEX-indexer networks endpoint." - "GeckoTerminal: GET /api/v2/networks (paginated, no auth). Chains where GeckoTerminal actively indexes DEX pools + trades." - "Codex: GraphQL `getNetworks` query at https://graph.codex.io/graphql with an official API key. Chains covered by Defined.fi's DEX data pipeline." - - "DefiLlama: GET https://api.llama.fi/chains (no auth). Chains tracked by DefiLlama's TVL crawler, every chain with at least one indexed DeFi protocol, DEX chains are a subset." - "DexPaprika: GET https://api.dexpaprika.com/networks (no auth). CoinPaprika's dedicated DEX tracker product, separate from the market-data API." - "Sim by Dune: GET https://api.sim.dune.com/v1/evm/supported-chains (no auth). EVM only, mainnets filtered via the `mainnet` tag." - "Cadence: full refresh every 6 hours." @@ -53,7 +52,6 @@ findings: - "{{best_name}} currently leads at {{best_p50}} chains across {{count}} measured providers. The count is read live from each provider's DEX-networks endpoint, so the number reflects where each API actively indexes DEX pools + swap volumes today, not a marketing claim." - "{{name:geckoterminal}} sits at {{p50:geckoterminal}} chains via `/api/v2/networks`. GeckoTerminal indexes wherever CoinGecko's DEX pipeline reaches, so the count tracks the CoinGecko DEX-rollout roadmap rather than a standalone listing decision." - "{{name:codex}} clocks {{p50:codex}} chains via `getNetworks`. Defined.fi historically prioritises depth on EVM + Solana DEX coverage rather than breadth across niche chains, which surfaces here as a tighter count with stronger per-chain DEX quality than a raw breadth ranking implies." - - "{{name:defillama}} publishes {{p50:defillama}} chains via `/chains`. Broader than DEX-only (includes lending, LSTs, restaking, bridges) because the endpoint tracks every chain with at least one indexed DeFi protocol, DEX chains are a subset. The count is the canonical open reference for chains with meaningful onchain financial activity." - "DEX-indexer breadth is one axis of a data API. Asset-registry breadth (bench asset-registry-coverage) and per-chain head lag (bench aggregator-head-lag) measure the other axes a serious DEX-integration decision needs." source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/network-coverage @@ -67,8 +65,6 @@ faq: a: "{{best_name}} currently leads at {{best_p50}} chains across {{count}} measured providers. The count is read every six hours directly from each provider's own DEX-networks endpoint and deduplicated by chain id, so the leaderboard reflects where each API actively indexes DEX pools + swap volumes today, not a claim from a marketing page." - q: "Why is this bench separate from asset-registry-coverage?" a: "DEX-pool coverage and asset-registry coverage are two different products, not a single metric. GeckoTerminal indexes DEX pools on ~265 chains via `/networks`; CoinPaprika lists 300+ chains in `/v1/contracts` because it indexes token metadata everywhere. Comparing them on one leaderboard makes the number meaningless, a market-data API always wins on chain count while a DEX indexer always wins on pool-level depth. This bench answers the DEX-indexing question. The sister bench asset-registry-coverage answers the token-lookup question." - - q: "Does DefiLlama really index DEX pools on 400+ chains?" - a: "DefiLlama's `/chains` endpoint tracks every chain with at least one indexed DeFi protocol (DEXes, lending, LSTs, restaking, bridges, oracles), so the count is broader than DEX-only. DEX chains are a subset. DefiLlama sits on the leaderboard because the same crawler backs their DEX-volumes aggregator, and the endpoint is the canonical open reference for `chains with meaningful onchain financial activity`. Read alongside the more DEX-specific counts from GeckoTerminal, Codex and DexPaprika for the DEX-only view." - q: "Why isn't CoinGecko / Mobula / CoinPaprika on this leaderboard?" a: "Those providers are measured on the sister bench asset-registry-coverage because their product is chain-scoped token metadata + market data, not DEX pool indexing. CoinGecko powers GeckoTerminal on the DEX side, but the token-registry number and the DEX-indexed number are measured separately because they answer different questions. Mobula and CoinPaprika are market-data APIs, not DEX pool indexers, DexPaprika is CoinPaprika's dedicated DEX product and is on this leaderboard." - q: "How often is the chain count refreshed?" @@ -77,8 +73,7 @@ faq: a: "Any chain a provider lists as a production network for DEX indexing, identified by a unique chain id or slug. Ethereum, Solana, Base, Arbitrum, BNB, Avalanche and so on each count once regardless of how the provider labels them internally. Testnet listings are filtered server-side where the provider exposes a testnet flag. Sim by Dune is EVM only by construction of the `/v1/evm/supported-chains` endpoint." # Real metrics exposed by the network-coverage harness: -# networks_supported_total{provider="geckoterminal"|"codex"| -# "defillama"|"dexpaprika"|"dune"} +# networks_supported_total{provider="geckoterminal"|"codex"|"dexpaprika"|"dune"} # -> gauge, the unique-chain count from the latest successful refresh. providers: @@ -108,19 +103,6 @@ providers: sample_size: networks_supported_total{provider="codex"} series: networks_supported_total{provider="codex"} - - slug: defillama - name: DefiLlama - tag: TVL + DEX-volumes aggregator - formula: "Count of chains returned by DefiLlama's public `/chains` endpoint (chains with at least one indexed DeFi protocol; DEX chains are a subset), refreshed every 6 hours." - queries: - p50: networks_supported_total{provider="defillama"} - p90: networks_supported_total{provider="defillama"} - p99: networks_supported_total{provider="defillama"} - mean: networks_supported_total{provider="defillama"} - success: clamp_max(networks_supported_total{provider="defillama"} > bool 0, 1) - sample_size: networks_supported_total{provider="defillama"} - series: networks_supported_total{provider="defillama"} - - slug: dexpaprika name: DexPaprika tag: CoinPaprika's DEX product diff --git a/benchmarks/validator-yield-hyperliquid.yml b/benchmarks/validator-yield-hyperliquid.yml new file mode 100644 index 00000000..0164db43 --- /dev/null +++ b/benchmarks/validator-yield-hyperliquid.yml @@ -0,0 +1,447 @@ +# OpenChainBench. Bench № 115 + +slug: validator-yield-hyperliquid +number: "115" +title: Hyperliquid validator leaderboard — live net APR, uptime, commission +seo_title: "Best Hyperliquid validators 2026: yield, commission, uptime ranked" +seo_description: "Live Hyperliquid validator leaderboard ranked by net APR. All 34 validators tracked: net yield in bps, commission rate, uptime %, delegated stake in USD. Updated every 5 minutes from /info validatorSummaries." +subtitle: Per-validator net yield (predictedApr.day × uptime) in basis points across all 34 Hyperliquid validators. Ranked by net APR; commission and uptime shown as secondary columns. +category: Blockchains +status: live +metric: Net yield +unit: bps +higher_is_better: true + +disclaimer: | + Honest scope. (1) `net_yield = predictedApr.day × uptimeFraction` from the Hyperliquid `/info validatorSummaries` endpoint. (2) No MEV layer exists at the validator level on Hyperliquid — the centralised sequencer captures order-flow value upstream. MEV is structurally absent from all figures. (3) Jailed validators (currently 6) land in the dataset with `predictedApr=0` and `net_yield=0`; they rank at the bottom. (4) APRs across the active set are tightly clustered (~200–225 bps) because Hyperliquid distributes rewards evenly across non-jailed validators — commission rate is the primary differentiator for delegators. + +seo_intro: | + Hyperliquid runs a permissioned validator set of ~30 active nodes. Unlike + Solana's ~3000-validator market where yield spreads across hundreds of bps, + every non-jailed Hyperliquid validator earns the same gross APR from the + protocol — the only differentiation is commission rate, uptime, and jail + risk. This page surfaces the full active set, ranked by net yield + (gross APR after commission and downtime drag), so a delegator can see + exactly which operators take the smallest cut and stay online. + + The data updates every 5 minutes from the Hyperliquid `/info + validatorSummaries` endpoint. Net yield is `predictedApr.day × + uptimeFraction`, expressed in basis points (1% = 100 bps). + +abstract: | + Every 5 minutes, the validator-yield harness POSTs `{"type": + "validatorSummaries"}` to `api.hyperliquid.xyz/info` and reads + `predictedApr.day` × `stats[day].uptimeFraction` per validator. Jailed + validators receive `net_yield_bps = 0` regardless of their published APR. + Commission is taken from the `commission` field (decimal fraction, e.g. + `0.04` = 4% = 400 bps). Delegated stake is the `stake` field divided by + `1e8` (HYPE token has 8 decimal places) then multiplied by the live HYPE + oracle price from `metaAndAssetCtxs`. All metrics land in Prometheus under + `ocb_validator_net_yield_bps{chain="hyperliquid", validator=, + name=