solana.gov Table: fact_validators Type: Base Table
Description
This table contains comprehensive validator data by epoch, sourced from the Validators.app API. It tracks validator performance, stake distribution, geographic location, and operational metrics, providing detailed insights into Solana’s validator network and supporting staking analytics and network health monitoring.Key Use Cases
- Analyze validator performance and stake distribution across epochs
- Track validator geographic distribution and data center locations
- Monitor validator uptime, commission rates, and operational status
- Study staking patterns and validator selection behavior
- Support network health analysis and validator ranking
Important Relationships
- Links to
gov.dim_epochviaepochfor epoch-based validator analysis - Connects to
gov.fact_vote_accountsthroughvote_pubkeyfor vote account analysis - References
gov.fact_stake_accountsfor stake distribution analysis - Provides validator context for
gov.fact_rewards_stakingandgov.fact_rewards_voting
Commonly-used Fields
epoch: The epoch when validator data was recordednode_pubkey: Account for the validator nodevote_pubkey: Vote account for the validatoractive_stake: Active stake in Lamports delegated to the validator. Divide by pow(10,9) to convert to SOLcommission: Percentage of rewards payout to the vote accountdelinquent: Status whether the validator is offline/delinquentvalidator_name: Name of the validatordata_center_key: Identifier for the data centerdata_center_host: Host for the data centerlatitudeandlongitude: Geographic coordinates of data centersoftware_version: Solana mainnet version
Sample Queries
Top validators by total stake with performance metrics
Validator geographic distribution and performance
Columns
| Column Name | Data Type | Description |
|---|---|---|
| EPOCH | NUMBER | |
| NODE_PUBKEY | TEXT | |
| VOTE_PUBKEY | TEXT | |
| ACTIVE_STAKE | NUMBER | |
| ADMIN_WARNING | TEXT | |
| AVATAR_URL | TEXT | |
| COMMISSION | NUMBER | |
| CREATED_AT | TEXT | |
| DATA_CENTER_HOST | TEXT | |
| DATA_CENTER_KEY | TEXT | |
| DELINQUENT | BOOLEAN | |
| DETAILS | TEXT | |
| EPOCH_ACTIVE | NUMBER | |
| EPOCH_CREDITS | NUMBER | |
| KEYBASE_ID | TEXT | |
| LATITUDE | TEXT | |
| LONGITUDE | TEXT | |
| VALIDATOR_NAME | TEXT | |
| SOFTWARE_VERSION | TEXT | |
| UPDATED_AT | TEXT | |
| WWW_URL | TEXT | |
| FACT_VALIDATORS_ID | TEXT | A unique, stable identifier for each record in this table. The primary key (PK) ensures that every row is uniquely identifiable and supports efficient joins, lookups, and data integrity across models. The PK may be a natural key (such as a blockchain transaction hash) or a surrogate key generated from one or more fields, depending on the table’s structure and requirements. |
| INSERTED_TIMESTAMP | TIMESTAMP_NTZ | The timestamp when this transaction record was first inserted into the analytics database. Used for data freshness tracking and incremental model logic. Format: YYYY-MM-DD HH:MI:SS. Not derived from the blockchain, but from the ETL process. |
| MODIFIED_TIMESTAMP | TIMESTAMP_NTZ | The timestamp when this transaction record was last updated in the analytics database. Used for tracking updates and supporting incremental model logic. Format: YYYY-MM-DD HH:MI:SS. Not derived from the blockchain, but from the ETL process. |