Skip to main content
This table tracks all reward distribution events to validators on the Monad network. Currently, validators receive block rewards (25 MON + priority fees) when they propose blocks.

Table Schema

Column NameData TypeDescription
validator_idVARCHARUnique identifier of the validator receiving the reward
amount_strVARCHARString representation of the reward amount in MON
amountDECIMALFloat representation of the reward amount in MON
epochINTEGERThe epoch number for this reward
from_addressVARCHARSource address of the reward (typically system address)
contract_addressVARCHARAddress of the staking precompile contract
transaction_hashVARCHARHash of the transaction containing the reward distribution
transaction_indexINTEGERIndex of the transaction in the block
transaction_from_addressVARCHARAddress that initiated the transaction
transaction_to_addressVARCHARTarget address of the transaction
log_indexINTEGERIndex of the event log in the transaction
block_timestampTIMESTAMPTimestamp of the block containing the reward distribution
block_numberINTEGERBlock number containing the reward distribution
block_hashVARCHARHash of the block containing the reward distribution
unique_idVARCHARUnique identifier for the reward event

Sample Query

Calculate total rewards per validator across all epochs:
SELECT 
  validator_id,
  COUNT(DISTINCT epoch) as epochs_active,
  SUM(amount) as total_rewards,
  AVG(amount) as avg_reward_per_epoch
FROM monad.staking.validator_rewards
GROUP BY validator_id
ORDER BY total_rewards DESC;