For the complete documentation index, see llms.txt. This page is also available as Markdown.

🏝️Solana SRB

Learn how Solana staking rewards are calculated. SOLSRB formula covers realized epoch issuance, measured epoch duration, staked supply, validator APY, and Jito MEV yield.

SOLSRB is a benchmark representing the mean, annualized staking rate across all active Solana validators.

SOLSRB is calculated and published by Staking Rewards via the Solana Profile and Data API.

TL;DR: Solana staking rewards come from protocol inflation — the issuance the chain actually paid in the last completed epoch, annualized by that epoch's measured wall-clock duration and divided by the staked supply — plus Jito MEV tips. Validator-level rates are based on the median real APY over the last 10 completed epochs.

SOLSRB=Ie∗(ty∗td/De)/ss+jitoMEVSOLSRB = I_{e} * (t_y * t_d / D_{e}) / ss + jitoMEV
Formula key
Metric name
Description

I_e

Realized Epoch Issuance

The total inflation rewards the protocol issued for the last completed epoch e (commission and delegator shares together), read from the on-chain EpochRewards sysvar (totalRewards). The sysvar is written at the first block of each epoch and holds the rewards of the epoch before it.

D_e

Measured Epoch Duration

The wall-clock duration of epoch e in seconds: the block time of the first produced slot of the following epoch minus the block time of the first produced slot of epoch e.

t_y

Year Constant

365 days.

t_d

Day Constant

86400 seconds.

ss

Staked Supply

Number of Self-Staked and Delegated tokens to Solana Validators, aggregated from all active and delinquent vote accounts via the getVoteAccounts RPC method.

jitoMEV

Jito MEV Reward Rate

The stake-weighted mean of the validators' net (delegator-facing) Jito MEV APY across all non-private validators (private, 100%-commission validators pass no MEV to delegators and are excluded). A stake-weighted mean is used rather than a maximum so that a single small validator's lumpy per-epoch MEV cannot dominate the figure.

The first part of the formula (I_e * (t_y * t_d / D_e) / ss) represents the pure staking inflation reward: the issuance the chain actually paid in the last completed epoch, annualized by the number of epochs of that measured length in a year. Solana's nominal inflation schedule is denominated in target-slot years, and the protocol re-scales per-slot issuance whenever the slot-time target changes (from 0.4 s to an inferred ~0.35 s, ~0.30 s and ~0.25 s in August–September 2026). No RPC method exposes the target, so SOLSRB measures realized issuance instead of assuming one. It therefore self-corrects within one epoch of any future slot-time change and reflects the network-average vote-credit performance. The Jito MEV component is additive, representing additional yield beyond inflation rewards.

If the issuance or epoch-boundary reads fail on a given run, the reward rate is not published for that run rather than being estimated.

Both components are published separately as reward rate variations: staking_reward_rate and jito_reward_rate.

Slashing

  1. SOLSRB does not factor in the possibility of slashing occurrences.

  2. There is no token slashing implemented at this stage.


SOL Validator Staking Reward Rate: SOLSRB(v)

Staking Rewards calculates the SOLSRB for each validator based on their real achieved APY over recent epochs.

SOLSRB(v)=median(apye−9,apye−8,...,apye)SOLSRB(v) = median(apy_{e-9}, apy_{e-8}, ..., apy_{e})
Formula key
Metric name
Description

apy_e

Epoch APY

The real achieved APY for a given completed epoch, factoring in the validator's individual performance, the network's average performance, total inflation, total active stake, and commission.

e

Epoch

The most recently completed epoch. The median is computed over the last 10 completed epochs. For validators with fewer than 10 epochs of history, the median of all available epochs is used.

The total validator APY includes both the staking inflation component and the Jito MEV tips component. These are broken down into two variations:

Variation
Description

staking_reward_rate

The staking inflation component of the validator's APY.

jito_reward_rate

The Jito MEV tips component of the validator's APY.

Note: For private validators (100% commission), the reward rate is derived from the asset-level staking reward rate adjusted by the validator's voting uptime: SOLSRB(v) = I_e * (t_y * t_d / D_e) / ss * uptime. Voting uptime is distinct from the published Performance metric, which measures block production (see Other Solana metrics below).


SOL Gross Staking Reward Rate: SOLSRB(v)^G

The gross reward rate expresses the pre-commission rate — what the delegated stake earns before the validator deducts its commissions, including the validator's block-production income. Solana validators charge two independent commissions (an inflation commission on staking rewards and a separate commission on Jito MEV tips), and additionally earn block-production transaction fees that are not shared with delegators. The gross rate is therefore derived per component:

SOLSRB(v)G=apys/(1−c)+apyj/(1−cj)+apybSOLSRB(v)^G = apy_s / (1 - c) + apy_j / (1 - c_j) + apy_b
Formula key
Metric name
Description

apy_s

Staking APY

The staking inflation component of the validator's net APY (published as the staking_reward_rate variation).

c

Commission

The validator's commission on staking inflation rewards, as set on the vote account.

apy_j

Jito MEV APY

The Jito MEV tips component of the validator's net APY (published as the jito_reward_rate variation). Measured from the validator's realized per-epoch MEV tips rather than a smoothed estimate: the delegated stake's share of tips (total tips net of the MEV commission) divided by active stake and annualized, averaged over the last 4 completed epochs.

c_j

Jito MEV Commission

The validator's commission on Jito MEV tips, set independently from the inflation commission.

apy_b

Block Rewards APY

The block-production income component (published as the block_reward_rate variation): the transaction-fee rewards credited to the validator's identity account. Measured from realized per-epoch block rewards — total block income divided by active stake and annualized, averaged over the last 4 completed epochs. Retained entirely by the validator (no commission split), so it contributes to the gross rate only and never to the net reward rate.

Because apy_j is derived from realized tips net of the MEV commission, the gross term apy_j / (1 - c_j) recovers the total MEV tips the validator generated per unit of stake — the full pre-commission MEV yield. The block-reward term apy_b requires no commission adjustment, as block rewards are kept in full by the validator.

  • For private validators (100% commission), the gross rate equals the assigned network staking rate adjusted by voting uptime, as the operator retains all rewards.

  • Where realized per-epoch MEV is unavailable for a validator, the MEV component falls back to the network Jito MEV APY estimate, and where that estimate carries no commission the net value is used unadjusted, making the gross rate a conservative lower bound.

  • The gross reward rate of a reward option is the stake-weighted average of the gross rates of its connected validators.

  • The asset-level gross reward rate is the stake-weighted average of the gross rates across all validators. Note that it is defined differently from SOLSRB: SOLSRB adds the stake-weighted mean of the validators' net Jito MEV APY to the realized network staking rate, while the gross rate aggregates the validators' own pre-commission rates — the asset-level gross reward rate can therefore be below SOLSRB.


Observation Period:

  1. The SOLSRB staking component is determined based on the last completed epoch at the point of evaluation (its realized issuance and measured wall-clock duration).

  2. Validator-level staking rates are based on the median of the last 10 completed epochs of real achieved APY, providing a smoothed long-term yield estimate.

  3. The validator Jito MEV and block-production reward components are each averaged over the last 4 completed epochs of realized rewards.

  4. This data is then annualized for a comprehensive year-long projection.

Calculation

The calculation happens every 2 hours and is immediately published via Data API.

Limitations

  1. SOLSRB excludes on-chain transaction fees; these are tracked separately as the Fee Revenue metric.

  2. SOLSRB employs a 365-day convention for annualizing the last completed epoch's issuance. This convention remains consistent and does not accommodate adjustments for leap years.

  3. Validators with fewer than 10 completed epochs may have less stable APY estimates due to a smaller sample size.

  4. The Jito MEV component is variable and depends on network MEV activity and individual validator participation in the Jito protocol.

SOL Real Reward Rate: SOLSRB^R

The real reward rate calculates the SOLSRB adjusted for inflation in the network.

SOLSRBR=(1+SOLSRB)/(1+ir)−1SOLSRB^R = (1 + SOLSRB) / (1 + ir) - 1
Formula key
Metric name
Description

ir

Inflation Rate

The annualized inflation rate, computed as: I_e * (t_y * t_d / D_e) / cs, the realized annualized issuance of the last completed epoch divided by cs, the circulating supply. The published Validator Inflation metric is the same annualized issuance divided by total supply.

Inflation Rate Behavior

Solana's inflation follows a disinflationary schedule. It started at 8% in February 2021 and decreases by 15% per year (the "dis-inflation rate") until it reaches a long-term steady state of 1.5%. The schedule rate returned by getInflationRate is denominated in target-slot years, so it is not a wall-clock annual rate once slot times change. The inflation rate used for the real reward rate calculation is instead the issuance actually paid in the last completed epoch (the validator portion; the foundation allocation is currently 0), annualized by that epoch's measured duration.


Other Solana metrics calculated by Staking Rewards:

Metric
Description

Delegated Tokens

The number of SOL tokens delegated to validators.

Self Staked Tokens

The number of SOL tokens staked by validators directly.

Staking Wallets

Total number of unique delegations onchain. It doesn't distinguish based on unique delegator addresses.

Fee Revenue

Annualized transaction fees in USD, derived from the 30-day average of daily fees (sourced from DefiLlama) multiplied by 365 and the current SOL price.

Minimum

The minimum delegation for a stake account, read live from the getStakeMinimumDelegation RPC method (1 SOL as of September 2026). Omitted for a run if the read fails.

Performance

A validator's block-production rate in the current epoch: blocks produced divided by leader slots assigned so far, read for all validators at once via the getBlockProduction RPC method. Only the current epoch is available, so the figure covers the epoch in progress at the time of the run. It is published only once a validator has at least 20 leader slots in the epoch; validators below that threshold, or with no leader slots yet, carry no value rather than 0. A reward option's performance is the stake-weighted average across its connected validators that carry a value.

Lockup Time

The commitment period before a delegator can request deactivation. Solana has none, so this is 0 seconds.

Unstaking Time

The unbonding period once deactivation is requested. Stake deactivates at an epoch boundary, so this equals one epoch — slots per epoch × the 30-day average slot time (~2 days). Deactivations are rate-limited to 25% of active stake per epoch.

Data Sources:


References:


📚 Learn more about SOL Staking

📊 Calculate your SOL Staking Rewards

⚙️ Access historic Solana Staking Data via API

Last updated