D-Score methodology

How the Decentralization Score ranks validators on Solana, NEAR, Monad and X1. Last updated 2026-10-03.

The Decentralization Score (D-Score) is a 0–100 score computed for every validator from on-chain and network data. It rewards validators that perform well and make the network harder to capture: smaller stake, outside the superminority, in less crowded hosting providers, cities, countries and continents. It penalises stake concentration and high or changing fees. The goal is to help delegators move stake away from concentration without giving up returns.

Disclosure. Stake Manager is built and operated by LUX8, which also runs validators on these networks. LUX8 is ranked by exactly the same formula as every other validator. There are no manual adjustments, no paid placements and no per-validator exceptions in the score; every input below is computed automatically from data.

Common principles

Solana

Performance (52 points) plus decentralization (46 points), multiplied by fee and size multipliers, then scaled by 100/98 so that a perfect validator scores 100.

ComponentMaxHow it is scored
Vote credits2222 × the validator's vote credits in the last completed epoch as a share of the best validator's credits.
Skip rate1515 × (1 − skip rate / 5%). A skip rate of 5% or more scores 0; no block production data scores 0.
APY15The validator's paid APY (last 10 epochs) placed between the 5th and 95th percentile of paying validators, then 15 × position1.5, so only the top of the range earns high points. Validators with fewer than 3 measured epochs use the estimated APY instead.
Stake size1313 at or below the median stake; above it, 13 − 2 × log2(stake / median), not below 0.
Superminority1212 outside the superminority, 0 inside it.
Hosting concentration66 − 2 × (ASN share + city share), not below 0.
Continent rarity88 × (1 − 1.2 × continent stake share), between 0 and 8; 0 without a location.
Country rarity77 × (1 − 2.5 × country stake share), between 0 and 7.

Multipliers

Score 0

Solana testnet (TDS)

The testnet ranking uses the Solana formula above. Testnet rewards have no economic value and are not measured, so the APY component uses the estimated APY rather than the paid one.

X1

X1 uses the Solana formula with three differences:

NEAR

NEAR publishes real per-epoch production statistics for every validator, so the performance part uses them directly. The total is 100 points before penalties and the mega-stake multiplier.

ComponentMaxHow it is scored
Performance24Weighted ratio of chunk endorsements (weight 3), produced chunks (2) and produced blocks (1); duties a validator does not have are left out. The scale runs from 95% (0 points) to 100% (24 points). No data: 12.
Stake size1818 at or below the median stake; above it, 18 − 3.6 × log2(stake / median).
Superminority1414 outside the superminority, 0 inside it.
Delegator base61.5 × log10(number of delegators), capped at 6. Unknown: 3.
Self-stake20.8 × log2(self-stake / 10,000 NEAR) + 0.8, between 0 and 2. A weak signal: an operator's own capital can sit on any address.
Hosting concentration1212 − 24 × (ASN share + city share), not below 0.
Continent rarity1010 × (1 − 1.2 × continent stake share); 0 without a location.
Country rarity88 × (1 − 2.5 × country stake share).
Commission66 × (1 − commission / 15%), between 0 and 6. Unknown: 3.

Monad

Monad does not expose per-validator production statistics, so performance is measured through realized reward accrual. The total is 100 points before the mega-stake multiplier.

ComponentMaxHow it is scored
Performance16Realized reward rate, gross of commission, placed between the 5th and 95th percentile of validators. While the history window is still filling, 8 (neutral).
Stake size2020 at or below the median stake; above it, 20 − 4 × log2(stake / median).
Superminority1616 outside the superminority, 0 inside it.
Delegator concentration66 × (1 − share of stake from the largest single delegator). Unknown: 3.
Self-stake20.8 × log2(self-stake / 100,000 MON) + 0.8, between 0 and 2.
Hosting concentration1212 − 24 × (ASN share + city share), not below 0.
Continent rarity1111 × (1 − 1.2 × continent stake share); 0 without a location.
Country rarity99 × (1 − 2.5 × country stake share).
Commission88 × (1 − commission / 20%), between 0 and 8. Scored additively because most Monad validators share the same commission.

APY definitions

Every APY figure on the site carries a label that says which of these it is.

Data sources and update frequency

NetworkSourcesScore refresh
SolanaSolana RPC (vote accounts, block production, inflation rewards, stake accounts); Jito API for MEV; MaxMind GeoLite2 City and ASN for locationevery 15 minutes; paid APY every 15 minutes after each epoch closes
Solana testnetSolana testnet RPC; MaxMind GeoLite2every 15 minutes
NEARNEAR RPC (validators, epoch production and endorsement statistics, pool accounts); MaxMind GeoLite2every 10 minutes
MonadMonad staking precompile (validators, delegators, rewards); MaxMind GeoLite2every 10 minutes
X1X1 RPC; MaxMind GeoLite2score history every 2 hours; live score on page load

Geolocation is refreshed hourly for Solana and daily for X1 and Monad. Validator locations come from the IP addresses validators announce on their network.

Edge cases

Limitations

Changelog

DateChange
2026-10-01Solana: the APY component uses paid APY (last 10 epochs) instead of the model. The estimated-APY model was corrected: it had overstated returns by about 7% because it assumed more epochs per year than the network actually completes, and annualised MEV over 182 epochs instead of the measured number. Validators paying nothing were taken out of the APY percentile range and the network average.
2026-08-20Solana: a 100% MEV commission became a penalty (score halved) instead of a disqualification.
2026-08-10NEAR: D-Score introduced with real production statistics.
2026-08-09Monad: D-Score introduced; geography added to the score and its weight raised.
2026-07-27Mega-stake multiplier and the 2% superminority rule added. X1 started showing the 10-epoch average score.
2026-07-26X1 moved to the Solana formula.
2026-07-25Validators without a location no longer receive continent-rarity points.

See the rankings: Solana · NEAR · Monad · X1 · Solana testnet. Machine-readable summary: llms.txt.