Use Cases
- Analyze validator performance and stake trends over time
- Track network participation and decentralization metrics
- Monitor changes in commission rates
- Perform historical analysis of staking rewards
This table provides a daily snapshot of validator stakes and related metrics on the Polygon Proof of Stake (PoS) network, including self-stake, delegated stake, rewards, and validator status. State is read directly from the Polygon StakeManager contract on Ethereum mainnet (0x5e3ef299fddf15eaa0432e6e66473ace8c13d908) once per day, providing a complete snapshot of every validator regardless of trace activity.
Schema change — June 2026. The last_* columns have been removed and replaced with block_* columns; an extra_fields column has been added. Stake and reward types and denominations are unchanged. Daily row counts will increase as all validators are now represented each day regardless of activity.
Table Schema
| Column Name | Data Type | Description |
|---|
| date | DATE | The date of the stake snapshot (UTC) |
| validator_id | INTEGER | Unique identifier assigned to the validator by the Polygon network |
| total_stake | FLOAT | Total amount of MATIC (POL) tokens staked (validator self-stake + delegated stake) |
| validator_stake | FLOAT | Amount of MATIC (POL) tokens self-staked by the validator |
| delegator_stake | FLOAT | Total amount of MATIC (POL) tokens staked by delegators to this validator |
| reward | FLOAT | Accumulated validator rewards in MATIC (POL), including block rewards and commission from delegators |
| delegators_reward | FLOAT | Accumulated rewards in MATIC (POL) for delegators, excluding validator commission |
| initial_reward_per_stake | FLOAT | Initial reward-per-stake at the time of the validator’s activation, in MATIC (POL) |
| activation_epoch | INTEGER | Epoch at which the validator was activated |
| deactivation_epoch | INTEGER | Epoch at which the validator was deactivated (0 if still active) |
| jail_time | INTEGER | Epoch until which the validator is jailed (0 if not jailed) |
| signer | STRING | Validator’s signer address |
| contract_address | STRING | Address of the validator’s stake-manager contract |
| validator_status | INTEGER | Current status of validator (0=Inactive, 1=Active, 2=Locked, 3=Deactivated) |
| commission_rate | INTEGER | Percentage of delegator rewards claimed by validator as commission (in basis points, 100 = 1%) |
| last_commission_update | INTEGER | Block number when validator last updated their commission rate |
| extra_fields | VARIANT | Raw JSON of all fields returned by the validators() state call, for forward compatibility |
| block_timestamp | TIMESTAMP | Timestamp of the end-of-day block at which the validator state was read |
| block_number | INTEGER | Block number of the end-of-day block at which the validator state was read |
| block_hash | STRING | Hash of the end-of-day block at which the validator state was read |
| _created_at | TIMESTAMP | Timestamp of when the record was created |