Lava Scoreboardby CryptoSailors

Methodology

Where the number comes from, and how to reproduce it without trusting us.

Whose score is this

The score on this site is Polli's. Polli computes it, the Lava Foundation delegates on it, and we do not adjust it. What we add is the arithmetic. Polli publishes the score and the fields that go into it, but not the breakdown, so we reconstruct it and check the reconstruction against their published total on every refresh.

It currently matches for 73 of 73 validators, with a maximum error of 0.000.

The formula

score = 35
      + 0.20 × uptimePercentageRate
      + 0.15 × governanceParticipationRate
      + 0.30 × blockTimingScore
      − 1.75 × jailedCount

It was not published anywhere. We derived it from Polli's public API by fitting the four fields against the published scoringRate across the whole active set, then verified it validator by validator.

ComponentWeightRangeWhat it measures
Base35Granted to every scored validator.
Uptime0.200–20Polli's uptimePercentageRate. Blocks signed over their window.
Governance0.150 or 15Binary. Participation in on-chain votes.
Block timing0.300–30The largest component. Polli does not document what it measures.
Jail events−1.75penaltySubtracted per jail event.

The part nobody can explain

blockTimingScore decides more of the score than anything else, and 16 of 74 validators score exactly zero on it. We could not find a definition in Polli's documentation, in the Lava delegation programme announcement, or anywhere else public. The announcement mentions “block production compliance” as a future metric without defining it.

We tested and ruled out the obvious explanations against the live set:

HypothesisWhy it fails
It reflects uptimeA validator at 70.5% uptime scores above zero; one at 98.5% scores zero.
It needs a minimum stakeValidators with 153 and 602 LAVA score 51.5 and 57.4; one with 7,595 LAVA scores zero.
It needs proposed blocksFour validators scoring 51–60 proposed no blocks at all in a 20,000-block window.
Commission, status or ageRecipients include 20% commission, NOT_RECOMMENDED status, and every validator shows the same 90 operating days.

If you know what it measures, we would like to hear from you — it is the single largest lever available to every operator on this board, including us.

Independent on-chain cross-check

Separately from Polli's feed, we recompute uptime and jail events directly from a Lava mainnet node using lavad. That number is never shown as a competing score. Its only job is to notice when Polli's feed goes stale — which it has: a collector of ours once served five-month-old figures while reporting them as current.

Refresh cadence

Polli's figures refresh roughly daily; on-chain figures every ten minutes. The timestamp in the header is the age of the newest Polli snapshot, and it turns amber past 36 hours.

Reproducing this

The collector, the scoring code and this page are open source under MIT. Every figure here comes from Polli's public API or from a public Lava RPC; there is no private data source.