Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 0 additions & 41 deletions answers/helius-vs-triton-vs-quicknode-solana.yml

This file was deleted.

6 changes: 3 additions & 3 deletions benchmarks/evm-block-builders.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ unit: pct
higher_is_better: true

disclaimer: |
Attribution relies on the extraData tag each builder voluntarily stamps into its blocks. A builder can change or strip its tag at any time; unrecognized tags land in the Other row and every raw string is logged so the table grows. The Vanilla row (locally built blocks) could be marginally overstated if a builder deliberately uses a client-default tag to avoid attribution — the relay cross-check is the independent signal that surfaces this divergence. High share is a centralization datapoint, not a quality ranking.
Attribution relies on the extraData tag each builder voluntarily stamps. A builder can change or strip its tag; unrecognized tags land in Other and raw strings are logged so the table grows. The Vanilla row (locally built) could be marginally overstated if a builder uses a client-default tag; the relay cross-check surfaces this. High share is a centralization datapoint, not a quality ranking.

seo_intro: |
Who actually builds Ethereum? Since MEV-Boost, validators outsource
Expand Down Expand Up @@ -207,8 +207,8 @@ providers:

- slug: vanilla
name: Vanilla
tag: Locally built by the proposer or a builder who blanked/faked a client-default tag (rare; relay cross-check surfaces divergence)
formula: "Blocks with empty or execution-client default extraData (geth, reth, nethermind, besu, erigon), meaning the proposer built locally, as a percentage of all blocks observed in 24h. Could be marginally overstated if a builder fakes a client-default tag; the relay cross-check is the independent verification signal."
tag: Locally built by the proposer, or a builder who blanked/faked a client-default tag (rare; relay cross-check surfaces divergence)
formula: "Blocks with empty or client-default extraData (geth, reth, nethermind, besu, erigon), meaning the proposer built locally, as a percent of all 24h blocks. Marginally overstated if a builder fakes a client tag; relay cross-check verifies."
queries:
p50: 100 * sum(increase(ebb_blocks_total{builder="vanilla"}[24h])) / scalar(sum(increase(ebb_blocks_total[24h])))
p90: 100 * sum(increase(ebb_blocks_total{builder="vanilla"}[24h])) / scalar(sum(increase(ebb_blocks_total[24h])))
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/nft-collection-metadata.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ findings:
- "external_url is the field most likely to differ between providers: OpenSea and Moralis surface the collection's website on most blue-chips, Alchemy's `openSeaMetadata.externalUrl` is structurally null on the same set. p99 ({{p99:moralis}} / {{p99:alchemy}} / {{p99:opensea}}) is what a portfolio tracker sees during the worst 6h window in the day."
- "{{worst_name}} trails at {{worst_p50}} (p50, 24 h). A 20-point gap on this leaderboard means roughly one in five field renders falls back to a placeholder when displaying a blue-chip collection."

source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/nft-collection-metadata
source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/nft-metadata-coverage

prometheus:
window: 24h
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/pm-api-latency.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ per_chain_explainer:
h2: Predexon API latency
body: "Predexon is a multi-venue aggregator that unifies Polymarket, Kalshi and Limitless behind one schema. Its API answers at {{p50:predexon}} p50 (24h, all regions), measured on the same market-price endpoint the harness probes on the native venues, so the direct comparison of a unified aggregator against three venue-native APIs is head to head. Predexon aggregates upstream data; a Predexon latency higher than the sum of its three underliers is the cost of unification. Lower is the value of having one contract instead of three."

source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/pm-api-latency
source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/pm-rate-limits

prometheus:
window: 24h
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/rwa-yield-accuracy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ higher_is_better: true

seo_intro: |
Every tokenized U.S. Treasury on the market publishes an APY.
Ondo USDY, Superstate USTB, Ondo OUSG, Maple SyrupUSDC each
Ondo USDY, Superstate USTB, Ondo OUSG, Maple SyrupUSDC, each
advertises a yield on its public dashboard. This page measures what
they actually pay their token holders on-chain, using each issuer's
own distribution mechanism (daily rebase, monthly USDC dividend,
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/validator-yield.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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). Polkadot not yet active (requires separate source ingestion, deferred to v2). Cosmos Hub, Avalanche, Cardano and Sui now tracked in v1."
- "Excluded by design. Per-validator Ethereum gauges (~1M indices; beacon-node ingestion, v2). Ethereum execution tips + MEV (per-relay MEV-Boost scraping needed; published figure is consensus only). Lido/RocketPool/Coinbase are products with fees, not validator yields (separate bench). Polkadot v2. Cosmos Hub, Avalanche, Cardano, Sui now tracked."

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."
Expand Down
7 changes: 7 additions & 0 deletions src/lib/removed-benches.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,13 @@ export const RENAMED_BENCH_SLUGS: Record<string, string> = {
export const REMOVED_ANSWER_SLUGS = new Set([
"which-evm-aggregator-has-the-fastest-quote",
"which-solana-rpc-lands-the-most-transactions",
// References rpc-keyed-latency (bench 069, staging-only, in
// REMOVED_BENCH_SLUGS below). Prod was returning 404 on this answer
// page because the underlying bench 410s. Answer stays on staging.
"alchemy-vs-quicknode-vs-infura-latency",
// References solana-dex-quote-latency (staging-only, in
// REMOVED_BENCH_SLUGS). Same pattern.
"which-solana-dex-aggregator-is-the-fastest",
]);

export const REMOVED_BENCH_SLUGS = new Set([
Expand Down
Loading