Table Schema
| Column Name | Data Type | Description |
|---|---|---|
| old_epoch | INTEGER | The epoch number before the transition |
| new_epoch | INTEGER | The epoch number after the transition |
| contract_address | VARCHAR | Address of the staking precompile contract |
| transaction_hash | VARCHAR | Hash of the transaction containing the epoch change |
| 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 at epoch boundary |
| block_number | INTEGER | Block number at epoch boundary |
| block_hash | VARCHAR | Hash of the block at epoch boundary |
| unique_id | VARCHAR | Unique identifier for the epoch change event |
Understanding Epochs
Epochs are fundamental time periods in Monad’s staking system:- Duration: Approximately 50,000 blocks (~5.5 hours)
- Stake Activation: Delegation and undelegation actions take effect at epoch boundaries
- Reward Distribution: Rewards are calculated and distributed per epoch
- Validator Changes: Commission changes and other validator updates apply at epoch transitions