Bitcoin Pool Share Shift

Each pool’s share of today’s BTC blocks against its own trailing week, scored in σ — attribution read from the tag each BTC coinbase carries, on our own node.
F2Pool -5.4 pp -1.7σ · quiet dated fallback figures of 2026-10-31 — fetching live…
2026-10-30 (UTC day) vs trailing 7 days · F2Pool 17.2% → 11.8% · 144 blocks that day · from our own node
Pool share % of the day’s blocks · daily
Daily share of BTC blocks by pool, last 30 full UTC days — own coinbase tag on our own node. One line per pool (top 6 by trailing share); today’s partial day is not drawn.
scroll = zoom · swipe / drag = move · double-click = reset
fetching the series from our own node…
how it’s computed →

Each day’s share is that pool’s blocks divided by all BTC blocks found that UTC day, the pool read from the tag each BTC coinbase carries. Only complete days are drawn — today never is.

The six pools with the largest trailing share are drawn; everything else is counted as other. The headline score is z = (s − s̄) / √(s̄(1−s̄)/N) against the trailing seven full days: |z| ≥ 4 is an event, pools under 2% of trailing share are not scored, and days with fewer than 50 blocks are skipped.

Blocks that day
144
2026-10-30 · last full UTC day
Pools scored
9
≥ 2% of the trailing week’s blocks
Events, 30 days
0
|z| ≥ 4 · pool-days
Attribution
own coinbase tag
read from the BTC coinbase
PlainDid one mining pool suddenly win a lot more, or far fewer, of today's Bitcoin blocks than it normally does? Quiet means no.
MinerEach pool's share of the day's blocks is compared with its own trailing week. Scored in σ, so ordinary block luck — large on a single day — is separated from machines actually moving between pools.
Advancedz = (s − s̄) / √(s̄(1−s̄)/N): s = pool share today, s̄ = its trailing-7-day share, N = blocks today. Event at |z| ≥ 4 — luck alone crosses that line less than once per pool per century of days.
Shift events (|z| ≥ 4) — last 30 full days
no |z| ≥ 4 event in the last 30 full days — every scored pool stayed within luck of its trailing week
How it’s measuredserved verbatim in /api/pools/btc → recipe · this block repaints from the live response
s_p(d) = blocks found by pool p on UTC day d / all blocks that day; baseline = the pool's share over the trailing 7 full days; z = (s_p(d) - baseline) / sqrt(baseline*(1-baseline)/N_d) (binomial, N_d = blocks that day); event = |z| >= 4; pools below 2% trailing share are not scored

What a pool share shift is

Pool share shift is the one-day change in a mining pool’s share of Bitcoin blocks, measured against that pool’s own trailing week and scored in standard deviations of block luck. Bitcoin blocks are found directly by BTC pools, and each one signs its coinbase, so the attribution is first-hand: the tag in the coinbase names the pool. In the trailing week of our own coinbase attribution as of 2026-10-31, Foundry 27.1%, AntPool 20.5% and F2Pool 16.8% of BTC blocks carried those tags. A pool that leaves its tag blank or changes it counts as other rather than being guessed.

How much is luck on Bitcoin

Bitcoin targets a block every 600 seconds — about 144 a day — so a pool holding 27.1% of the chain — Foundry, in the trailing week of our own coinbase attribution as of 2026-10-31 — expects to wobble about ±3.7 percentage points on an ordinary day from luck alone. The event line is drawn at four of those standard deviations, from that arithmetic and nothing else; a day that reads 2σ is weather, not news. Retarget cadence is irrelevant here (Bitcoin retargets difficulty every 2,016 blocks): difficulty decides how many blocks a day there are, not who finds them.

FAQ

Is a 2σ move on Bitcoin an event?
No. With about 144 BTC blocks a day, a pool holding 27.1% of the chain wobbles about ±3.7 percentage points from luck alone. The line is drawn at 4σ so that pure luck produces fewer than one false event per pool per century of days.
Does this say who mines Bitcoin?
It names the pool whose tag the coinbase carries. Bitcoin blocks are found directly by BTC pools, so the attribution is first-hand — but a pool can leave its tag blank or change it, and those blocks count as other rather than being guessed.
Why share of blocks and not hashrate per pool?
Pool hashrate is not on-chain; block counts are. A pool’s share of the day’s blocks times the network hashrate is an estimate with its own luck error bar, so we score the share itself — the quantity our Bitcoin node can actually count.
Source: BasinTwo's own Bitcoin full node — the pool shares, the receipt and the tip height come from /api/pools/btc, /api/chain/btc and /api/nodes/btc, the same public JSON anyone can read; integrity seals ride every response. Updated every 60s in your browser.