Skip to main content
Schema: monad.gov Table: ez_validator_epoch_performance Type: Base Table

What

Validator performance per epoch comparing expected vs actual block production based on MonadBFT’s stake-weighted leader selection. Block proposals are allocated proportionally to validator stake: Expected Blocks = (Validator Stake / Total Staked) × Epoch Blocks. A validator with 10x more stake receives ~10x more block proposals by design. Uses consensus_stake from fact_validator_snapshots (stake used for current epoch’s block production). Includes theoretical 50K block reference since epochs target 50,000 blocks at 400ms each (~5.5 hours).

Columns

Column NameData TypeDescription
EPOCHNUMBEREpoch number
VALIDATOR_IDNUMBERID of the validator from the snapshot set
VALIDATOR_NAMETEXTHuman-readable validator name from labels or seed metadata
CONSENSUS_ADDRESSTEXTBlock producer address derived from secp_pubkey. Appears as “miner” in block headers.
VALIDATOR_POSITIONNUMBERPosition of validator in the snapshot set (top 200 are active)
VALIDATOR_ADDRESSTEXTAuth address of the validator
VALIDATORS_IN_SNAPSHOTNUMBERTotal number of validators in the active snapshot set for this epoch (max 200)
THEORETICAL_EPOCH_BLOCKSNUMBERTarget blocks per epoch (50,000 at 400ms block time)
TOTAL_EPOCH_BLOCKSNUMBERActual blocks produced in this epoch (may be < 50K due to missed proposals)
EPOCH_MISS_RATE_PCTNUMBERNetwork-wide miss rate for this epoch ((50000 - actual_blocks) / 50000 * 100)
VALIDATOR_STAKEFLOATValidator’s consensus_stake at epoch start (stake used for block production this epoch)
TOTAL_EPOCH_STAKEFLOATSum of all active validators’ consensus_stake for this epoch
STAKE_WEIGHTFLOATValidator’s proportion of total stake (validatorstake / totalepoch_stake). Determines block allocation.
EXPECTED_BLOCKS_PER_VALIDATORFLOATExpected blocks based on stake weight × actual epoch blocks
THEORETICAL_EXPECTED_BLOCKSFLOATExpected blocks if full 50K epoch (stake_weight × 50,000)
ACTUAL_BLOCKS_PRODUCEDNUMBERActual number of blocks produced by this validator in this epoch
BLOCKS_VS_EXPECTEDFLOATDifference between actual and expected blocks (positive = overperformed, negative = underperformed relative to stake weight)
PCT_OF_EPOCH_BLOCKSNUMBERActual percentage of epoch blocks produced by this validator
EXPECTED_PCT_OF_EPOCH_BLOCKSFLOATExpected percentage based on stake weight (should match stake_weight × 100)
PRODUCTION_RANKNUMBERRank of validator by blocks produced within this epoch (1 = most blocks)
TOTAL_BLOCK_REWARDSFLOATTotal block rewards earned by this validator in this epoch (in MON)
AVG_REWARD_PER_BLOCKFLOATAverage reward per block produced (in MON)
EPOCH_START_TIMESTAMPTIMESTAMP_NTZTimestamp when the epoch started
EPOCH_END_TIMESTAMPTIMESTAMP_NTZTimestamp when the epoch ended
EPOCH_DURATION_SECONDSNUMBERDuration of this epoch in seconds (~19,800 seconds for full 50K blocks)
EZ_VALIDATOR_EPOCH_PERFORMANCE_IDTEXTUnique identifier for this record
INSERTED_TIMESTAMPTIMESTAMP_NTZTimestamp when the record was inserted
MODIFIED_TIMESTAMPTIMESTAMP_NTZTimestamp when the record was last modified