Ethereum reorg accounting: Prysm sees 8×, Lodestar sees 0
A Prysm node and a Lodestar node on the same chain, on identical hardware, both export beacon_reorgs_total. Over the last 90 days, the Prysm hosts in our Vienna NDC2 fleet incremented that counter 6,011 times. The Lodestar hosts incremented it zero times. Both numbers are correct readings of what each implementation chose to count.
This post is a 90-day reorg census across that fleet plus the smaller GCP comparator cohort: every consensus client (CC) paired with every execution client (EC), against the same Ethereum mainnet, with per-host normalization. The questions we answer: which Prometheus counter to trust for which question, why the same EC behind two different CCs produces very different reorg numbers, and why a "zero reorgs" reading on some clients is silence rather than safety.
Key findings at a glance:
- Prysm increments
beacon_reorgs_total8× more often than Lighthouse over 7 days. The gap shrinks to 1.6× over 90 days. - Lodestar's
beacon_reorgs_totalis 0 for the entire 90-day window. Its decline-reason counter fires roughly 54 times per host per week. - The same EC behind two CCs produces 2–5× different counts: Prysm + Besu reports 69 per host vs Prysm + Nethermind 280.
- Geth is the only EC in our fleet whose Prometheus reorg counter increments at all. Nethermind and Reth export the metric but it never increments; Besu, Erigon, and Ethrex don't export one at all.
- A single fixed
beacon_reorgs_totalalert threshold does not port between consensus clients. Re-baseline per CC × EC pair.


