Consensus Module¶
The Consensus module contains approximately 54 models covering all data from the Gnosis Chain Beacon Chain (consensus layer). This includes validator lifecycle management, attestation performance, sync committee participation, proposer duties, rewards and penalties, deposits, withdrawals, slashings, blob commitments, client distribution, and epoch/slot metadata.
Data Sources¶
Raw data is sourced from the consensus ClickHouse database, which contains:
- validators -- Validator registry with pubkeys, activation/exit epochs, and balances
- attestations -- Attestation records including source, target, and head votes
- rewards -- Per-validator reward and penalty breakdowns by epoch
- deposits -- Beacon chain deposit events
- withdrawals -- Processed withdrawal records (post-Shapella)
- blobs -- Blob sidecar commitments (post-Dencun/Pectra)
- sync_committees -- Sync committee assignments and participation
- proposer_duties -- Block proposal assignments and execution
- specs -- Chain specification parameters (slots per epoch, etc.)
Gnosis Chain Consensus Parameters¶
Gnosis Chain shares the Ethereum Beacon Chain specification with several key differences:
| Parameter | Value |
|---|---|
| Slots per epoch | 16 |
| Block time | 5 seconds |
| Epoch duration | 80 seconds |
| Staking requirement | 1 GNO per validator |
| Gas token | xDAI (18 decimals) |
| Withdrawal prefix | 0x01 |
| Max validators per epoch churn | 4 |
Low Barrier to Entry
Unlike Ethereum's 32 ETH requirement, Gnosis Chain requires only 1 GNO to run a validator. This design choice promotes decentralization by lowering the financial barrier to participation, resulting in a larger and more distributed validator set.
Model Categories¶
Attestations
| Model | Layer | Description |
|---|---|---|
stg_consensus__attestations | Staging | The stg_consensus__attestations model consolidates attestation data from the consensus layer, enabling analysis of va... |
int_consensus_attestations_daily | Intermediate | The int_consensus_attestations_daily model aggregates daily consensus attestations, providing insights into attestati... |
fct_consensus_attestations_performance_daily | Fact | Network-wide daily attestation KPI fact derived from int_consensus_attestations_daily. One row per day. |
api_consensus_attestations_daily | API | The api_consensus_attestations_daily model provides a daily summary of consensus attestations, capturing key metrics ... |
api_consensus_attestations_performance_daily | API | Public API view over fct_consensus_attestations_performance_daily. Network-wide daily attestation KPIs. |
Blob
| Model | Layer | Description |
|---|---|---|
stg_consensus__blob_commitments | Staging | This model aggregates blob commitment data from the consensus layer, providing a view of commitment details associate... |
int_consensus_blob_commitments_daily | Intermediate | The int_consensus_blob_commitments_daily model aggregates daily counts of blob commitments from the consensus layer... |
api_consensus_blob_commitments_daily | API | The api_consensus_blob_commitments_daily model provides a daily overview of total blob commitments within the consens... |
Blocks
| Model | Layer | Description |
|---|---|---|
stg_consensus__blocks | Staging | The stg_consensus__blocks model provides a structured view of blockchain block data, capturing key consensus layer at... |
int_consensus_blocks_daily | Intermediate | The int_consensus_blocks_daily model aggregates daily consensus block production metrics, including counts of blocks ... |
api_consensus_blocks_daily | API | The api_consensus_blocks_daily model aggregates daily consensus block data, providing insights into blocks produced a... |
Consolidations
| Model | Layer | Description |
|---|---|---|
fct_consensus_consolidations_daily | Fact | Daily EIP-7251 consolidation event counts and transferred amounts stacked by role |
| ('self', 'source', 'target'). Mater... | ||
api_consensus_consolidations_daily | API | Public API view — SELECT * FROM fct_consensus_consolidations_daily. Filter/pagination metadata in model config. |
Credentials
| Model | Layer | Description |
|---|---|---|
int_consensus_credentials_daily | Intermediate | The int_consensus_credentials_daily model tracks the daily count of validator credentials by type, supporting analysi... |
api_consensus_credentials_daily | API | The api_consensus_credentials_daily model provides daily aggregated counts and percentage shares of different credent... |
api_consensus_credentials_latest | API | The api_consensus_credentials_latest model provides a snapshot of the most recent count of different credential types... |
Deposits
| Model | Layer | Description |
|---|---|---|
stg_consensus__deposits | Staging | This model captures deposit transactions from the consensus layer, providing details necessary for analyzing deposit ... |
int_consensus_deposits_withdrawals_daily | Intermediate | This model aggregates daily consensus deposit and withdrawal data, providing insights into the total amounts and tran... |
api_consensus_deposits_withdrawls_cnt_daily | API | The model aggregates daily counts of consensus deposits and withdrawals to monitor transaction activity trends over t... |
api_consensus_deposits_withdrawls_volume_daily | API | The api_consensus_deposits_withdrawls_volume_daily model provides a daily summary of deposit and withdrawal volumes f... |
Entry
| Model | Layer | Description |
|---|---|---|
int_consensus_entry_queue_daily | Intermediate | This model provides daily aggregated insights into validator activation times within the consensus protocol, enabling... |
api_consensus_entry_queue_daily | API | The api_consensus_entry_queue_daily model provides daily aggregated statistics on the validator entry queue, enabling... |
Execution
| Model | Layer | Description |
|---|---|---|
stg_consensus__execution_requests | Staging | This view aggregates execution request data from the consensus layer, providing insights into various transaction typ... |
Forks
| Model | Layer | Description |
|---|---|---|
fct_consensus_forks | Fact | The fct_consensus_forks model provides a consolidated view of consensus fork details, including their identifiers, ve... |
api_consensus_forks | API | The api_consensus_forks model provides a consolidated view of consensus fork information used in the blockchain netwo... |
Graffiti
| Model | Layer | Description |
|---|---|---|
int_consensus_graffiti_daily | Intermediate | This model aggregates daily counts of graffiti entries on the blockchain, categorizing them by detected brands and cl... |
fct_consensus_graffiti_cloud | Fact | The fct_consensus_graffiti_cloud model aggregates graffiti-related consensus data over various timeframes to support ... |
api_consensus_graffiti_cloud | API | The api_consensus_graffiti_cloud model aggregates consensus data related to graffiti labels and their associated valu... |
api_consensus_graffiti_label_daily | API | The api_consensus_graffiti_label_daily model aggregates daily counts of graffiti labels to support trend analysis and... |
Info
| Model | Layer | Description |
|---|---|---|
fct_consensus_info_latest | Fact | The fct_consensus_info_latest model aggregates the most recent and 7-day summary metrics related to deposits, withdra... |
api_consensus_info_active_ongoing_latest | API | The model provides the latest consensus information on active and ongoing items, serving as a key reference for monit... |
api_consensus_info_apy_latest | API | The api_consensus_info_apy_latest model provides the most recent annual percentage yield (APY) data from consensus so... |
api_consensus_info_deposits_cnt_latest | API | The model provides the latest consensus information on the total number of deposits, serving as a key metric for moni... |
api_consensus_info_staked_latest | API | The api_consensus_info_staked_latest model provides the most recent total staked GNO value and its percentage change,... |
api_consensus_info_withdrawls_cnt_latest | API | This view provides the latest count of withdrawal events from the consensus API, enabling monitoring of withdrawal ac... |
Rewards
| Model | Layer | Description |
|---|---|---|
stg_consensus__rewards | Staging | The stg_consensus__rewards model aggregates consensus layer reward-related metrics per slot to support analysis of va... |
Specs
| Model | Layer | Description |
|---|---|---|
stg_consensus__specs | Staging | The stg_consensus__specs model serves as a staging view that consolidates configuration parameters and their values u... |
Staked
| Model | Layer | Description |
|---|---|---|
api_consensus_staked_daily | API | The api_consensus_staked_daily model provides daily aggregated data on the effective staked GNO across validators, fa... |
Time
| Model | Layer | Description |
|---|---|---|
stg_consensus__time_helpers | Staging | The stg_consensus__time_helpers model provides essential timing parameters used for consensus protocol calculations, ... |
Validators
| Model | Layer | Description |
|---|---|---|
stg_consensus__validators | Staging | This view consolidates validator information from the consensus layer, focusing on active validators with a positive ... |
stg_consensus__validators_all | Staging | This view consolidates validator information from the consensus layer, focusing on active validators with a positive ... |
int_consensus_validators_apy_dist_income_daily | Intermediate | Network-wide daily APY quantile distribution, built on int_consensus_validators_income_daily |
| (the spec-bounded APY so... | ||
int_consensus_validators_balances_daily | Intermediate | The int_consensus_validators_balances_daily model aggregates daily total and effective balances of validators from ... |
int_consensus_validators_consolidation_flags | Intermediate | -- |
int_consensus_validators_consolidation_requests | Intermediate | -- |
int_consensus_validators_consolidations_daily | Intermediate | EIP-7251 (MaxEB) consolidation events at per-(date, validator_index, role) grain. See |
| https://notes.ethereum.org/@fra... | ||
int_consensus_validators_deposits_daily | Intermediate | Daily per-validator consensus-layer deposits in GNO. Combines beacon deposits (stg_consensus__deposits) with executio... |
int_consensus_validators_dists_daily | Intermediate | This model aggregates daily distributions of validator balances and APY (Annual Percentage Yield) metrics to support ... |
int_consensus_validators_explorer_apy_dist_daily | Intermediate | Per-(date, withdrawal_credentials) cross-sectional APY distribution plus rolling 7d/30d |
| medians of the credential's b... | ||
int_consensus_validators_income_daily | Intermediate | Daily per-(date, validator_index) consensus income fact, including exited and |
| zero-balance validators. Amount columns... | ||
int_consensus_validators_per_index_apy_daily | Intermediate | This model calculates daily validator consensus participation and withdrawal metrics, aggregated by validator index, ... |
int_consensus_validators_proposer_rewards_daily | Intermediate | Daily per-validator proposer rewards aggregated from slot-level stg_consensus__rewards. Amounts in GNO (source Gwei /... |
int_consensus_validators_snapshots_daily | Intermediate | Last-of-day validator snapshot per (date, validator_index). Built from stg_consensus__validators_all so exited and ze... |
int_consensus_validators_status_daily | Intermediate | The int_consensus_validators_status_daily model aggregates daily counts of validators' statuses to monitor network he... |
int_consensus_validators_withdrawal_addresses | Intermediate | Thin projection over int_consensus_validators_labels that derives the controlling |
| EVM address from each validator's w... | ||
int_consensus_validators_withdrawals_daily | Intermediate | Daily per-validator consensus-layer withdrawals in GNO, keyed by validator_index. Withdrawals only exist on Gnosis po... |
fct_consensus_validators_apy_dist_income_daily | Fact | Physical materialisation of int_consensus_validators_apy_dist_income_daily — network-wide |
| daily APY quantile distribu... | ||
fct_consensus_validators_apy_mean_daily | Fact | Network-wide daily mean APY, balance-weighted by balance_prev_gno so exited / idle |
| / just-entered validators (apy=0 a... | ||
fct_consensus_validators_dists_last_30_days | Fact | This model provides statistical summaries of validator balances and annual percentage yields (APY) over the last 30 d... |
fct_consensus_validators_explorer_apy_dist_daily | Fact | Per-(date, withdrawal_credentials) APY quantile distribution + rolling medians. |
| Physical materialisation of int_conse... | ||
fct_consensus_validators_explorer_daily | Fact | Per-operator (withdrawal_credentials) daily roll-up feeding the five daily charts on |
| the Validator Explorer tab. Mate... | ||
fct_consensus_validators_explorer_latest | Fact | Per-operator (withdrawal_credentials) latest-snapshot roll-up. Feeds the KPI cards on |
| the Validator Explorer tab. Rea... | ||
fct_consensus_validators_explorer_members_table | Fact | Members table for the Validator Explorer tab: one row per validator under the |
| selected withdrawal credential. Reads i... | ||
fct_consensus_validators_income_total_daily | Fact | Network-wide daily consensus income in GNO, summed across every validator (including |
| exited / zero-balance). Derived ... | ||
fct_consensus_validators_status_latest | Fact | -- |
api_consensus_validators_active_daily | API | The api_consensus_validators_active_daily model provides a daily snapshot of the number of validators that are active... |
api_consensus_validators_apy_dist_daily | API | This view provides daily distribution metrics of validator APYs, enabling analysis of validator performance variabili... |
api_consensus_validators_apy_dist_income_daily | API | Public API view — SELECT * FROM fct_consensus_validators_apy_dist_income_daily. Filter/pagination metadata in model c... |
api_consensus_validators_apy_dist_last_30_days | API | This view provides a distribution of validator APYs over the last 30 days, enabling analysis of APY variability and t... |
api_consensus_validators_apy_mean_daily | API | Public API view — SELECT * FROM fct_consensus_validators_apy_mean_daily. Filter/pagination metadata in model config. |
api_consensus_validators_balance_dist_last_30_days | API | This view provides the distribution of validator balances over the last 30 days, summarized through various quantiles... |
api_consensus_validators_balances_daily | API | The api_consensus_validators_balances_daily model provides a daily overview of validator balances and effective balan... |
api_consensus_validators_balances_dist_daily | API | This view provides daily distribution percentiles of validator balances in GNO, enabling analysis of validator balanc... |
api_consensus_validators_explorer_apy_dist_daily | API | Public API view — SELECT * FROM fct_consensus_validators_explorer_apy_dist_daily. Requires withdrawal_credentials fil... |
api_consensus_validators_explorer_balance_dist | API | Balance-distribution histogram across co-validators sharing a withdrawal credential. |
| Light view over fct_consensus_va... | ||
api_consensus_validators_explorer_daily | API | Public API view — SELECT * FROM fct_consensus_validators_explorer_daily. Requires withdrawal_credentials filter; see ... |
api_consensus_validators_explorer_latest | API | Public API view — SELECT * FROM fct_consensus_validators_explorer_latest. Requires withdrawal_credentials filter; see... |
api_consensus_validators_explorer_members_table | API | Public API view — SELECT * FROM fct_consensus_validators_explorer_members_table. Requires withdrawal_credentials filt... |
api_consensus_validators_income_total_daily | API | Public API view — SELECT * FROM fct_consensus_validators_income_total_daily. Filter/pagination metadata in model config. |
api_consensus_validators_performance_daily | API | Public API view joining daily income and proposer-reward facts at (date, validator_index). Filterable by validator_in... |
api_consensus_validators_performance_latest | API | Public API view — one row per validator with latest snapshot fields plus 30-day and lifetime aggregates. |
api_consensus_validators_search | API | Dropdown source for the Validator Explorer tab. Grain is one row per |
| WITHDRAWAL_CREDENTIALS (not per validator) — on ... | ||
api_consensus_validators_status_daily | API | The api_consensus_validators_status_daily model provides a daily summary of validator statuses, excluding ongoing act... |
api_consensus_validators_status_latest | API | The api_consensus_validators_status_latest model provides the latest validator-level consensus status snapshot and su... |
Withdrawal
| Model | Layer | Description |
|---|---|---|
int_consensus_withdrawal_credentials_daily | Intermediate | The int_consensus_withdrawal_credentials_daily model aggregates daily counts of active validator withdrawal credent... |
fct_consensus_withdrawal_credentials_freq_daily | Fact | This model aggregates daily withdrawal credential counts into frequency bins to analyze validator activity levels ove... |
api_consensus_withdrawal_credentials_freq_daily | API | This view aggregates daily counts of validators categorized by their withdrawal credentials frequency, supporting ana... |
Withdrawals
| Model | Layer | Description |
|---|---|---|
stg_consensus__withdrawals | Staging | The stg_consensus__withdrawals model consolidates withdrawal event data from the consensus layer, enabling analysis o... |
Zero
| Model | Layer | Description |
|---|---|---|
api_consensus_zero_blob_commitments_daily | API | This view provides daily aggregated counts of consensus blocks with and without zero blob commitments, aiding in moni... |
Key Models Reference¶
The following table summarizes the most commonly used API-layer models for the consensus module:
| Model | Description | Key Columns |
|---|---|---|
api_consensus_validators_active_daily | Active validator count over time | dt, active_validators, total_balance |
api_consensus_attestations_daily | Attestation performance | dt, participation_rate, avg_inclusion_distance |
api_consensus_sync_committees_daily | Sync committee participation | dt, participation_rate, missed_signatures |
api_consensus_proposer_duties_daily | Block proposal success rate | dt, proposed_blocks, missed_slots |
api_consensus_rewards_daily | Daily validator rewards | dt, total_rewards, avg_reward_per_validator |
api_consensus_deposits_daily | Deposit activity | dt, deposit_count, deposit_volume_gno |
api_consensus_withdrawals_daily | Withdrawal processing | dt, withdrawal_count, withdrawal_volume |
api_consensus_blobs_daily | Blob usage metrics | dt, blob_count, total_blob_size |
api_consensus_blob_commitments_daily | KZG commitments | dt, commitment_count, unique_submitters |
Query Examples¶
Retrieve daily active validator count for the past 30 days:
SELECT dt, active_validators, total_balance
FROM dbt.api_consensus_validators_active_daily
WHERE dt >= today() - 30
ORDER BY dt
Check attestation performance:
SELECT dt, participation_rate, avg_inclusion_distance
FROM dbt.api_consensus_attestations_daily
WHERE dt >= today() - 7
ORDER BY dt
Monitor sync committee participation:
SELECT dt, participation_rate, missed_signatures
FROM dbt.api_consensus_sync_committees_daily
WHERE dt >= today() - 14
ORDER BY dt
Analyze blob usage trends:
SELECT dt, blob_count, commitment_count, unique_submitters
FROM dbt.api_consensus_blob_commitments_daily
WHERE dt >= today() - 30
ORDER BY dt
Track missed slots:
SELECT dt, proposed_blocks, missed_slots,
round(missed_slots / (proposed_blocks + missed_slots) * 100, 2) AS miss_rate_pct
FROM dbt.api_consensus_proposer_duties_daily
WHERE dt >= today() - 30
ORDER BY dt