{"slug":"evm-block-builders","title":"Ethereum block builder market share","subtitle":"Share of Ethereum mainnet blocks attributed to each block builder via the extraData self-label, cross-checked against relay bidtraces. Observational, no transactions sent.","category":"Trading","metric":"Block share (24h)","unit":"pct","status":"live","higherIsBetter":true,"filters":null,"value":47.9851,"leader":{"name":"Titan","slug":"titan","value":47.9851},"rankings":[{"name":"Titan","slug":"titan","ms":{"p50":47.9851,"p90":47.9851,"p99":47.9851,"mean":47.9851},"successRate":100,"sampleSize":1286.65},{"name":"Quasar","slug":"quasar","ms":{"p50":20.4851,"p90":20.4851,"p99":20.4851,"mean":20.4851},"successRate":100,"sampleSize":549.276},{"name":"BuilderNet","slug":"buildernet","ms":{"p50":10.6343,"p90":10.6343,"p99":10.6343,"mean":10.6343},"successRate":100,"sampleSize":285.143},{"name":"Vanilla","slug":"vanilla","ms":{"p50":8.95522,"p90":8.95522,"p99":8.95522,"mean":8.95522},"successRate":100,"sampleSize":240.119},{"name":"Eureka","slug":"eureka","ms":{"p50":8.35821,"p90":8.35821,"p99":8.35821,"mean":8.35821},"successRate":100,"sampleSize":224.112},{"name":"Other","slug":"other","ms":{"p50":1.08209,"p90":1.08209,"p99":1.08209,"mean":1.08209},"successRate":100,"sampleSize":29.0143},{"name":"Bob The Builder","slug":"bobthebuilder","ms":{"p50":0.746269,"p90":0.746269,"p99":0.746269,"mean":0.746269},"successRate":100,"sampleSize":20.01},{"name":"Builder+","slug":"btcs","ms":{"p50":0.671642,"p90":0.671642,"p99":0.671642,"mean":0.671642},"successRate":100,"sampleSize":18.0089},{"name":"beaverbuild","slug":"beaverbuild","ms":{"p50":0.447761,"p90":0.447761,"p99":0.447761,"mean":0.447761},"successRate":100,"sampleSize":12.006}],"sparkline":[42.1405,42.2819,42.953,42.2819,46.8227,49.1639,45.8194,44.4444,40.0673,46.2838,49.6644,57.7181,56.9024,56.0811,53.5354,51.3423,47.8261,45.302,45.302,42.953,42.0875,43.0976,45.1178,47.3154,48.9933,52.5253,52.0134,52.2337,50,51.087],"sampleSize":2664.3392,"asOf":"2026-07-16T13:33:07.770Z","headline":"Titan leads block share (24h) at 48.0% (24h avg) on Ethereum block builder market share.","quote":"Titan leads block share (24h) at 48.0% (24h avg) on Ethereum block builder market share. Source: OpenChainBench (https://openchainbench.com/benchmarks/evm-block-builders).","cite":{"plain":"OpenChainBench. \"Ethereum block builder market share\". Retrieved 2026-07-17. https://openchainbench.com/benchmarks/evm-block-builders","bibtex":"@misc{ocb_evm_block_builders,\n  author = {OpenChainBench},\n  title  = {Ethereum block builder market share},\n  year   = {2026},\n  url    = {https://openchainbench.com/benchmarks/evm-block-builders},\n  note   = {Retrieved 2026-07-17}\n}","apa":"OpenChainBench. (2026). Ethereum block builder market share. Retrieved July 17, 2026, from https://openchainbench.com/benchmarks/evm-block-builders","ris":"TY  - GEN\r\nAU  - OpenChainBench\r\nTI  - Ethereum block builder market share\r\nPY  - 2026\r\nUR  - https://openchainbench.com/benchmarks/evm-block-builders\r\nY2  - 2026-07-17\r\nER  - \r\n"},"pageUrl":"https://openchainbench.com/benchmarks/evm-block-builders","ogImage":"https://openchainbench.com/api/og/evm-block-builders","source":"https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/evm-block-builders","methodology":["Source: keyless public Ethereum RPC (ethereum-rpc.publicnode.com by default, env-overridable). eth_getBlockByNumber(latest) every 12s, matching the mainnet slot time. Gaps between polls are backfilled by block number (capped at 10) so the counters see every block, not just the ones that happen to be head at poll time.","Attribution: extraData hex is decoded to printable ASCII and matched, lowercase, against a curated substring table (titan, quasar, eureka, buildernet, beaverbuild, rsync, builder0x69, flashbots, bloxroute, builder+/btcs, penguinbuild and more). First match wins; most specific substrings are ordered first.","Vanilla detection: empty extraData or execution-client default tags (geth, reth, nethermind, besu, erigon, go1.x, platform strings) count as builder=vanilla, meaning the proposer built the block locally instead of outsourcing to a builder. This row is the live self-built share of Ethereum.","Unattributed handling: any non-empty tag not in the table counts as builder=other, increments ebb_unattributed_total, and logs the raw extraData string. The table grows from operator logs instead of silently under-counting, the bench 016 pattern.","Self-labeling caveat: extraData is voluntary. A builder can rebrand, blank its tag, or impersonate another. The relay cross-check below is the independent signal; a large divergence between extraData share and relay-side delivered payloads would surface tag games.","Relay cross-check: seven MEV-Boost relay data APIs (Flashbots, ultrasound, Agnostic, bloXroute max-profit, bloXroute regulated, Titan, Aestus) are polled keyless every 5 min via GET /relay/v1/data/bidtraces/proposer_payload_delivered?limit=50. Delivered payloads are counted per relay (ebb_relay_payloads_total), deduped per relay by slot high-water-mark. The same slot on multiple relays is normal: builders multi-home bids, so relay counters measure relay share, not a partition of blocks.","Single vantage: one harness in one region observes the chain through one public RPC. Attribution is not latency-sensitive (extraData is consensus data, identical from every vantage), so single-vantage only affects liveness, which the health gauges expose.","Companion L2 metrics: the same harness measures Arbitrum sequencer-feed soft-confirmation lag (ebb_arb_softconf_lag_milliseconds, feed arrival to public RPC visibility, offset derived at runtime) and Base flashblocks cadence plus flashblock-to-RPC lag (ebb_base_flashblock_interval_milliseconds, ebb_base_softconf_lag_milliseconds). These are per-chain, not per-builder, so this spec surfaces builder share only; the L2 lag series feed a future bench page."],"license":"CC-BY-4.0"}