> ## Documentation Index
> Fetch the complete documentation index at: https://docs.allium.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Validator Rewards

> Records of rewards distributed to validators per epoch on Monad

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 Name                | Data Type | Description                                                |
| -------------------------- | --------- | ---------------------------------------------------------- |
| validator\_id              | VARCHAR   | Unique identifier of the validator receiving the reward    |
| amount\_str                | VARCHAR   | String representation of the reward amount in MON          |
| amount                     | DECIMAL   | Float representation of the reward amount in MON           |
| epoch                      | INTEGER   | The epoch number for this reward                           |
| from\_address              | VARCHAR   | Source address of the reward (typically system address)    |
| contract\_address          | VARCHAR   | Address of the staking precompile contract                 |
| transaction\_hash          | VARCHAR   | Hash of the transaction containing the reward distribution |
| transaction\_index         | INTEGER   | Index of the transaction in the block                      |
| transaction\_from\_address | VARCHAR   | Address that initiated the transaction                     |
| transaction\_to\_address   | VARCHAR   | Target address of the transaction                          |
| log\_index                 | INTEGER   | Index of the event log in the transaction                  |
| block\_timestamp           | TIMESTAMP | Timestamp of the block containing the reward distribution  |
| block\_number              | INTEGER   | Block number containing the reward distribution            |
| block\_hash                | VARCHAR   | Hash of the block containing the reward distribution       |
| unique\_id                 | VARCHAR   | Unique identifier for the reward event                     |

## Sample Query

Calculate total rewards per validator across all epochs:

```sql theme={null}
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;
```
