Events derived from the Beacon API event stream. This data is usually useful for 'timing' events, such as when a block was seen by a sentry. Because of this it usually has the same data but from many different instances. These tables are usually fairly slim and contain only a few columns. These tables can be joined with the canonical tables to get a more complete view of the data. For example, you can join the beacon_api_eth_v1_events_block table on block_root or slot with the canonical_beacon_block table to get the block data for each block.
- Public Parquet Files
- EthPandaOps Clickhouse
beacon_api_eth_v1_beacon_committeebeacon_api_eth_v1_events_attestationbeacon_api_eth_v1_events_blob_sidecarbeacon_api_eth_v1_events_blockbeacon_api_eth_v1_events_block_gossipbeacon_api_eth_v1_events_chain_reorgbeacon_api_eth_v1_events_contribution_and_proofbeacon_api_eth_v1_events_data_column_sidecarbeacon_api_eth_v1_events_finalized_checkpointbeacon_api_eth_v1_events_headbeacon_api_eth_v1_events_voluntary_exitbeacon_api_eth_v1_validator_attestation_databeacon_api_eth_v2_beacon_blockbeacon_api_eth_v1_proposer_dutybeacon_api_eth_v3_validator_blockbeacon_api_eth_v1_events_execution_payload🧪 Pre-release (Glamsterdam)beacon_api_eth_v1_events_execution_payload_available🧪 Pre-release (Glamsterdam)beacon_api_eth_v1_events_execution_payload_bid🧪 Pre-release (Glamsterdam)beacon_api_eth_v1_events_execution_payload_gossip🧪 Pre-release (Glamsterdam)beacon_api_eth_v1_events_head_v2🧪 Pre-release (Glamsterdam)beacon_api_eth_v1_events_payload_attestation🧪 Pre-release (Glamsterdam)beacon_api_eth_v1_events_proposer_preferences🧪 Pre-release (Glamsterdam)
Contains beacon API /eth/v1/beacon/states/{state_id}/committees data from each sentry client attached to a beacon node.
Sometimes sentries may publish different committees for the same epoch.
Data is partitioned hourly on slot_start_date_time for the following networks:
- mainnet:
2023-09-04to2026-07-28 - holesky:
2023-09-28to2025-10-26 - sepolia:
2022-06-25to2026-07-28
Parquet file
docker run --rm -it clickhouse/clickhouse-server clickhouse local --query --query="""
SELECT
*
FROM url('https://data.ethpandaops.io/xatu/mainnet/databases/default/beacon_api_eth_v1_beacon_committee/2026/7/28/0.parquet', 'Parquet')
LIMIT 10
FORMAT Pretty
"""Your Clickhouse
Note:
FINALshould be used when querying this table
docker run --rm -it --net host clickhouse/clickhouse-server clickhouse client --query="""
SELECT
*
FROM default.beacon_api_eth_v1_beacon_committee FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 10
FORMAT Pretty
"""EthPandaOps Clickhouse
Note:
FINALshould be used when querying this table
echo """
SELECT
*
FROM default.beacon_api_eth_v1_beacon_committee FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 3
FORMAT Pretty
""" | curl "https://clickhouse-raw.xatu.ethpandaops.io" -u "$CLICKHOUSE_USER:$CLICKHOUSE_PASSWORD" --data-binary @-| Name | Type | Description |
|---|---|---|
| updated_date_time | DateTime |
Timestamp when the record was last updated |
| event_date_time | DateTime64(3) |
When the sentry received the event from a beacon node |
| slot | UInt32 |
Slot number in the beacon API committee payload |
| slot_start_date_time | DateTime |
The wall clock time when the slot started |
| committee_index | LowCardinality(String) |
The committee index in the beacon API committee payload |
| validators | Array(UInt32) |
The validator indices in the beacon API committee payload |
| epoch | UInt32 |
The epoch number in the beacon API committee payload |
| epoch_start_date_time | DateTime |
The wall clock time when the epoch started |
| meta_client_name | LowCardinality(String) |
Name of the client that generated the event |
| meta_client_version | LowCardinality(String) |
Version of the client that generated the event |
| meta_client_implementation | LowCardinality(String) |
Implementation of the client that generated the event |
| meta_client_os | LowCardinality(String) |
Operating system of the client that generated the event |
| meta_client_ip | Nullable(IPv6) |
IP address of the client that generated the event |
| meta_client_geo_city | LowCardinality(String) |
City of the client that generated the event |
| meta_client_geo_country | LowCardinality(String) |
Country of the client that generated the event |
| meta_client_geo_country_code | LowCardinality(String) |
Country code of the client that generated the event |
| meta_client_geo_continent_code | LowCardinality(String) |
Continent code of the client that generated the event |
| meta_client_geo_longitude | Nullable(Float64) |
Longitude of the client that generated the event |
| meta_client_geo_latitude | Nullable(Float64) |
Latitude of the client that generated the event |
| meta_client_geo_autonomous_system_number | Nullable(UInt32) |
Autonomous system number of the client that generated the event |
| meta_client_geo_autonomous_system_organization | Nullable(String) |
Autonomous system organization of the client that generated the event |
| meta_network_name | LowCardinality(String) |
Ethereum network name |
| meta_consensus_version | LowCardinality(String) |
Ethereum consensus client version that generated the event |
| meta_consensus_version_major | LowCardinality(String) |
Ethereum consensus client major version that generated the event |
| meta_consensus_version_minor | LowCardinality(String) |
Ethereum consensus client minor version that generated the event |
| meta_consensus_version_patch | LowCardinality(String) |
Ethereum consensus client patch version that generated the event |
| meta_consensus_implementation | LowCardinality(String) |
Ethereum consensus client implementation that generated the event |
Contains beacon API attestation events from each sentry client attached to a beacon node
Data is partitioned hourly on slot_start_date_time for the following networks:
- mainnet:
2023-06-01to2026-07-28 - holesky:
2023-09-18to2025-11-17 - sepolia:
2023-08-31to2026-07-28
Parquet file
docker run --rm -it clickhouse/clickhouse-server clickhouse local --query --query="""
SELECT
*
FROM url('https://data.ethpandaops.io/xatu/mainnet/databases/default/beacon_api_eth_v1_events_attestation/2026/7/28/0.parquet', 'Parquet')
LIMIT 10
FORMAT Pretty
"""Your Clickhouse
Note:
FINALshould be used when querying this table
docker run --rm -it --net host clickhouse/clickhouse-server clickhouse client --query="""
SELECT
*
FROM default.beacon_api_eth_v1_events_attestation FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 10
FORMAT Pretty
"""EthPandaOps Clickhouse
Note:
FINALshould be used when querying this table
echo """
SELECT
*
FROM default.beacon_api_eth_v1_events_attestation FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 3
FORMAT Pretty
""" | curl "https://clickhouse-raw.xatu.ethpandaops.io" -u "$CLICKHOUSE_USER:$CLICKHOUSE_PASSWORD" --data-binary @-| Name | Type | Description |
|---|---|---|
| updated_date_time | DateTime |
When this row was last updated |
| event_date_time | DateTime64(3) |
When the sentry received the event from a beacon node |
| slot | UInt32 |
Slot number in the beacon API event stream payload |
| slot_start_date_time | DateTime |
The wall clock time when the slot started |
| propagation_slot_start_diff | UInt32 |
The difference between the event_date_time and the slot_start_date_time |
| committee_index | LowCardinality(String) |
The committee index in the beacon API event stream payload |
| attesting_validator_index | Nullable(UInt32) |
The index of the validator attesting to the event |
| attesting_validator_committee_index | LowCardinality(String) |
The committee index of the attesting validator |
| aggregation_bits | String |
The aggregation bits of the event in the beacon API event stream payload |
| beacon_block_root | FixedString(66) |
The beacon block root hash in the beacon API event stream payload |
| epoch | UInt32 |
The epoch number in the beacon API event stream payload |
| epoch_start_date_time | DateTime |
The wall clock time when the epoch started |
| source_epoch | UInt32 |
The source epoch number in the beacon API event stream payload |
| source_epoch_start_date_time | DateTime |
The wall clock time when the source epoch started |
| source_root | FixedString(66) |
The source beacon block root hash in the beacon API event stream payload |
| target_epoch | UInt32 |
The target epoch number in the beacon API event stream payload |
| target_epoch_start_date_time | DateTime |
The wall clock time when the target epoch started |
| target_root | FixedString(66) |
The target beacon block root hash in the beacon API event stream payload |
| meta_client_name | LowCardinality(String) |
Name of the client that generated the event |
| meta_client_version | LowCardinality(String) |
Version of the client that generated the event |
| meta_client_implementation | LowCardinality(String) |
Implementation of the client that generated the event |
| meta_client_os | LowCardinality(String) |
Operating system of the client that generated the event |
| meta_client_ip | Nullable(IPv6) |
IP address of the client that generated the event |
| meta_client_geo_city | LowCardinality(String) |
City of the client that generated the event |
| meta_client_geo_country | LowCardinality(String) |
Country of the client that generated the event |
| meta_client_geo_country_code | LowCardinality(String) |
Country code of the client that generated the event |
| meta_client_geo_continent_code | LowCardinality(String) |
Continent code of the client that generated the event |
| meta_client_geo_longitude | Nullable(Float64) |
Longitude of the client that generated the event |
| meta_client_geo_latitude | Nullable(Float64) |
Latitude of the client that generated the event |
| meta_client_geo_autonomous_system_number | Nullable(UInt32) |
Autonomous system number of the client that generated the event |
| meta_client_geo_autonomous_system_organization | Nullable(String) |
Autonomous system organization of the client that generated the event |
| meta_network_name | LowCardinality(String) |
Ethereum network name |
| meta_consensus_version | LowCardinality(String) |
Ethereum consensus client version that generated the event |
| meta_consensus_version_major | LowCardinality(String) |
Ethereum consensus client major version that generated the event |
| meta_consensus_version_minor | LowCardinality(String) |
Ethereum consensus client minor version that generated the event |
| meta_consensus_version_patch | LowCardinality(String) |
Ethereum consensus client patch version that generated the event |
| meta_consensus_implementation | LowCardinality(String) |
Ethereum consensus client implementation that generated the event |
Contains beacon API eventstream "blob_sidecar" data from each sentry client attached to a beacon node.
Data is partitioned daily on slot_start_date_time for the following networks:
- mainnet:
2024-03-13to2025-12-09 - holesky:
2024-02-07to2025-11-03 - sepolia:
2024-01-30to2025-10-20
Parquet file
docker run --rm -it clickhouse/clickhouse-server clickhouse local --query --query="""
SELECT
*
FROM url('https://data.ethpandaops.io/xatu/mainnet/databases/default/beacon_api_eth_v1_events_blob_sidecar/2025/12/9.parquet', 'Parquet')
LIMIT 10
FORMAT Pretty
"""Your Clickhouse
Note:
FINALshould be used when querying this table
docker run --rm -it --net host clickhouse/clickhouse-server clickhouse client --query="""
SELECT
*
FROM default.beacon_api_eth_v1_events_blob_sidecar FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 10
FORMAT Pretty
"""EthPandaOps Clickhouse
Note:
FINALshould be used when querying this table
echo """
SELECT
*
FROM default.beacon_api_eth_v1_events_blob_sidecar FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 3
FORMAT Pretty
""" | curl "https://clickhouse-raw.xatu.ethpandaops.io" -u "$CLICKHOUSE_USER:$CLICKHOUSE_PASSWORD" --data-binary @-| Name | Type | Description |
|---|---|---|
| updated_date_time | DateTime |
Timestamp when the record was last updated |
| event_date_time | DateTime64(3) |
When the sentry received the event from a beacon node |
| slot | UInt32 |
Slot number in the beacon API event stream payload |
| slot_start_date_time | DateTime |
The wall clock time when the slot started |
| propagation_slot_start_diff | UInt32 |
The difference between the event_date_time and the slot_start_date_time |
| epoch | UInt32 |
The epoch number in the beacon API event stream payload |
| epoch_start_date_time | DateTime |
The wall clock time when the epoch started |
| block_root | FixedString(66) |
The beacon block root hash in the beacon API event stream payload |
| blob_index | UInt64 |
The index of blob sidecar in the beacon API event stream payload |
| kzg_commitment | FixedString(98) |
The KZG commitment in the beacon API event stream payload |
| versioned_hash | FixedString(66) |
The versioned hash in the beacon API event stream payload |
| meta_client_name | LowCardinality(String) |
Name of the client that generated the event |
| meta_client_version | LowCardinality(String) |
Version of the client that generated the event |
| meta_client_implementation | LowCardinality(String) |
Implementation of the client that generated the event |
| meta_client_os | LowCardinality(String) |
Operating system of the client that generated the event |
| meta_client_ip | Nullable(IPv6) |
IP address of the client that generated the event |
| meta_client_geo_city | LowCardinality(String) |
City of the client that generated the event |
| meta_client_geo_country | LowCardinality(String) |
Country of the client that generated the event |
| meta_client_geo_country_code | LowCardinality(String) |
Country code of the client that generated the event |
| meta_client_geo_continent_code | LowCardinality(String) |
Continent code of the client that generated the event |
| meta_client_geo_longitude | Nullable(Float64) |
Longitude of the client that generated the event |
| meta_client_geo_latitude | Nullable(Float64) |
Latitude of the client that generated the event |
| meta_client_geo_autonomous_system_number | Nullable(UInt32) |
Autonomous system number of the client that generated the event |
| meta_client_geo_autonomous_system_organization | Nullable(String) |
Autonomous system organization of the client that generated the event |
| meta_network_name | LowCardinality(String) |
Ethereum network name |
| meta_consensus_version | LowCardinality(String) |
Ethereum consensus client version that generated the event |
| meta_consensus_version_major | LowCardinality(String) |
Ethereum consensus client major version that generated the event |
| meta_consensus_version_minor | LowCardinality(String) |
Ethereum consensus client minor version that generated the event |
| meta_consensus_version_patch | LowCardinality(String) |
Ethereum consensus client patch version that generated the event |
| meta_consensus_implementation | LowCardinality(String) |
Ethereum consensus client implementation that generated the event |
Contains beacon API eventstream "block" data from each sentry client attached to a beacon node.
Data is partitioned daily on slot_start_date_time for the following networks:
- mainnet:
2020-12-01to2026-07-28 - holesky:
2020-12-02to2026-06-02 - sepolia:
2023-12-24to2026-07-28
Parquet file
docker run --rm -it clickhouse/clickhouse-server clickhouse local --query --query="""
SELECT
*
FROM url('https://data.ethpandaops.io/xatu/mainnet/databases/default/beacon_api_eth_v1_events_block/2026/7/28.parquet', 'Parquet')
LIMIT 10
FORMAT Pretty
"""Your Clickhouse
Note:
FINALshould be used when querying this table
docker run --rm -it --net host clickhouse/clickhouse-server clickhouse client --query="""
SELECT
*
FROM default.beacon_api_eth_v1_events_block FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 10
FORMAT Pretty
"""EthPandaOps Clickhouse
Note:
FINALshould be used when querying this table
echo """
SELECT
*
FROM default.beacon_api_eth_v1_events_block FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 3
FORMAT Pretty
""" | curl "https://clickhouse-raw.xatu.ethpandaops.io" -u "$CLICKHOUSE_USER:$CLICKHOUSE_PASSWORD" --data-binary @-| Name | Type | Description |
|---|---|---|
| updated_date_time | DateTime |
Timestamp when the record was last updated |
| event_date_time | DateTime64(3) |
When the sentry received the event from a beacon node |
| slot | UInt32 |
Slot number in the beacon API event stream payload |
| slot_start_date_time | DateTime |
The wall clock time when the slot started |
| propagation_slot_start_diff | UInt32 |
The difference between the event_date_time and the slot_start_date_time |
| block | FixedString(66) |
The beacon block root hash in the beacon API event stream payload |
| epoch | UInt32 |
The epoch number in the beacon API event stream payload |
| epoch_start_date_time | DateTime |
The wall clock time when the epoch started |
| execution_optimistic | Bool |
If the attached beacon node is running in execution optimistic mode |
| meta_client_name | LowCardinality(String) |
Name of the client that generated the event |
| meta_client_version | LowCardinality(String) |
Version of the client that generated the event |
| meta_client_implementation | LowCardinality(String) |
Implementation of the client that generated the event |
| meta_client_os | LowCardinality(String) |
Operating system of the client that generated the event |
| meta_client_ip | Nullable(IPv6) |
IP address of the client that generated the event |
| meta_client_geo_city | LowCardinality(String) |
City of the client that generated the event |
| meta_client_geo_country | LowCardinality(String) |
Country of the client that generated the event |
| meta_client_geo_country_code | LowCardinality(String) |
Country code of the client that generated the event |
| meta_client_geo_continent_code | LowCardinality(String) |
Continent code of the client that generated the event |
| meta_client_geo_longitude | Nullable(Float64) |
Longitude of the client that generated the event |
| meta_client_geo_latitude | Nullable(Float64) |
Latitude of the client that generated the event |
| meta_client_geo_autonomous_system_number | Nullable(UInt32) |
Autonomous system number of the client that generated the event |
| meta_client_geo_autonomous_system_organization | Nullable(String) |
Autonomous system organization of the client that generated the event |
| meta_network_name | LowCardinality(String) |
Ethereum network name |
| meta_consensus_version | LowCardinality(String) |
Ethereum consensus client version that generated the event |
| meta_consensus_version_major | LowCardinality(String) |
Ethereum consensus client major version that generated the event |
| meta_consensus_version_minor | LowCardinality(String) |
Ethereum consensus client minor version that generated the event |
| meta_consensus_version_patch | LowCardinality(String) |
Ethereum consensus client patch version that generated the event |
| meta_consensus_implementation | LowCardinality(String) |
Ethereum consensus client implementation that generated the event |
Contains beacon API eventstream "block_gossip" data from each sentry client attached to a beacon node.
Data is partitioned daily on slot_start_date_time for the following networks:
- mainnet:
2025-05-14to2026-07-28 - holesky:
2025-05-14to2025-11-22 - sepolia:
2025-05-14to2026-07-28
Parquet file
docker run --rm -it clickhouse/clickhouse-server clickhouse local --query --query="""
SELECT
*
FROM url('https://data.ethpandaops.io/xatu/mainnet/databases/default/beacon_api_eth_v1_events_block_gossip/2026/7/28.parquet', 'Parquet')
LIMIT 10
FORMAT Pretty
"""Your Clickhouse
Note:
FINALshould be used when querying this table
docker run --rm -it --net host clickhouse/clickhouse-server clickhouse client --query="""
SELECT
*
FROM default.beacon_api_eth_v1_events_block_gossip FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 10
FORMAT Pretty
"""EthPandaOps Clickhouse
Note:
FINALshould be used when querying this table
echo """
SELECT
*
FROM default.beacon_api_eth_v1_events_block_gossip FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 3
FORMAT Pretty
""" | curl "https://clickhouse-raw.xatu.ethpandaops.io" -u "$CLICKHOUSE_USER:$CLICKHOUSE_PASSWORD" --data-binary @-| Name | Type | Description |
|---|---|---|
| updated_date_time | DateTime |
Timestamp when the record was last updated |
| event_date_time | DateTime64(3) |
When the sentry received the event from a beacon node |
| slot | UInt32 |
Slot number in the beacon API event stream payload |
| slot_start_date_time | DateTime |
The wall clock time when the slot started |
| propagation_slot_start_diff | UInt32 |
The difference between the event_date_time and the slot_start_date_time |
| block | FixedString(66) |
The beacon block root hash in the beacon API event stream payload |
| epoch | UInt32 |
The epoch number in the beacon API event stream payload |
| epoch_start_date_time | DateTime |
The wall clock time when the epoch started |
| meta_client_name | LowCardinality(String) |
Name of the client that generated the event |
| meta_client_version | LowCardinality(String) |
Version of the client that generated the event |
| meta_client_implementation | LowCardinality(String) |
Implementation of the client that generated the event |
| meta_client_os | LowCardinality(String) |
Operating system of the client that generated the event |
| meta_client_ip | Nullable(IPv6) |
IP address of the client that generated the event |
| meta_client_geo_city | LowCardinality(String) |
City of the client that generated the event |
| meta_client_geo_country | LowCardinality(String) |
Country of the client that generated the event |
| meta_client_geo_country_code | LowCardinality(String) |
Country code of the client that generated the event |
| meta_client_geo_continent_code | LowCardinality(String) |
Continent code of the client that generated the event |
| meta_client_geo_longitude | Nullable(Float64) |
Longitude of the client that generated the event |
| meta_client_geo_latitude | Nullable(Float64) |
Latitude of the client that generated the event |
| meta_client_geo_autonomous_system_number | Nullable(UInt32) |
Autonomous system number of the client that generated the event |
| meta_client_geo_autonomous_system_organization | Nullable(String) |
Autonomous system organization of the client that generated the event |
| meta_network_name | LowCardinality(String) |
Ethereum network name |
| meta_consensus_version | LowCardinality(String) |
Ethereum consensus client version that generated the event |
| meta_consensus_version_major | LowCardinality(String) |
Ethereum consensus client major version that generated the event |
| meta_consensus_version_minor | LowCardinality(String) |
Ethereum consensus client minor version that generated the event |
| meta_consensus_version_patch | LowCardinality(String) |
Ethereum consensus client patch version that generated the event |
| meta_consensus_implementation | LowCardinality(String) |
Ethereum consensus client implementation that generated the event |
Contains beacon API eventstream "chain reorg" data from each sentry client attached to a beacon node.
Data is partitioned daily on slot_start_date_time for the following networks:
- mainnet:
2023-03-01to2026-07-28 - holesky:
2024-02-05to2026-06-02 - sepolia:
2023-12-30to2026-07-28
Parquet file
docker run --rm -it clickhouse/clickhouse-server clickhouse local --query --query="""
SELECT
*
FROM url('https://data.ethpandaops.io/xatu/mainnet/databases/default/beacon_api_eth_v1_events_chain_reorg/2026/7/28.parquet', 'Parquet')
LIMIT 10
FORMAT Pretty
"""Your Clickhouse
Note:
FINALshould be used when querying this table
docker run --rm -it --net host clickhouse/clickhouse-server clickhouse client --query="""
SELECT
*
FROM default.beacon_api_eth_v1_events_chain_reorg FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 10
FORMAT Pretty
"""EthPandaOps Clickhouse
Note:
FINALshould be used when querying this table
echo """
SELECT
*
FROM default.beacon_api_eth_v1_events_chain_reorg FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 3
FORMAT Pretty
""" | curl "https://clickhouse-raw.xatu.ethpandaops.io" -u "$CLICKHOUSE_USER:$CLICKHOUSE_PASSWORD" --data-binary @-| Name | Type | Description |
|---|---|---|
| updated_date_time | DateTime |
Timestamp when the record was last updated |
| event_date_time | DateTime64(3) |
** |
| slot | UInt32 |
The slot number of the chain reorg event in the beacon API event stream payload |
| slot_start_date_time | DateTime |
The wall clock time when the reorg slot started |
| propagation_slot_start_diff | UInt32 |
Difference in slots between when the reorg occurred and when the sentry received the event |
| depth | UInt16 |
The depth of the chain reorg in the beacon API event stream payload |
| old_head_block | FixedString(66) |
The old head block root hash in the beacon API event stream payload |
| new_head_block | FixedString(66) |
The new head block root hash in the beacon API event stream payload |
| old_head_state | FixedString(66) |
The old head state root hash in the beacon API event stream payload |
| new_head_state | FixedString(66) |
The new head state root hash in the beacon API event stream payload |
| epoch | UInt32 |
The epoch number in the beacon API event stream payload |
| epoch_start_date_time | DateTime |
The wall clock time when the epoch started |
| execution_optimistic | Bool |
Whether the execution of the epoch was optimistic |
| meta_client_name | LowCardinality(String) |
Name of the client that generated the event |
| meta_client_version | LowCardinality(String) |
Version of the client that generated the event |
| meta_client_implementation | LowCardinality(String) |
Implementation of the client that generated the event |
| meta_client_os | LowCardinality(String) |
Operating system of the client that generated the event |
| meta_client_ip | Nullable(IPv6) |
IP address of the client that generated the event |
| meta_client_geo_city | LowCardinality(String) |
City of the client that generated the event |
| meta_client_geo_country | LowCardinality(String) |
Country of the client that generated the event |
| meta_client_geo_country_code | LowCardinality(String) |
Country code of the client that generated the event |
| meta_client_geo_continent_code | LowCardinality(String) |
Continent code of the client that generated the event |
| meta_client_geo_longitude | Nullable(Float64) |
Longitude of the client that generated the event |
| meta_client_geo_latitude | Nullable(Float64) |
Latitude of the client that generated the event |
| meta_client_geo_autonomous_system_number | Nullable(UInt32) |
Autonomous system number of the client that generated the event |
| meta_client_geo_autonomous_system_organization | Nullable(String) |
Autonomous system organization of the client that generated the event |
| meta_network_name | LowCardinality(String) |
Ethereum network name |
| meta_consensus_version | LowCardinality(String) |
Ethereum consensus client version that generated the event |
| meta_consensus_version_major | LowCardinality(String) |
Ethereum consensus client major version that generated the event |
| meta_consensus_version_minor | LowCardinality(String) |
Ethereum consensus client minor version that generated the event |
| meta_consensus_version_patch | LowCardinality(String) |
Ethereum consensus client patch version that generated the event |
| meta_consensus_implementation | LowCardinality(String) |
Ethereum consensus client implementation that generated the event |
Contains beacon API eventstream "contribution and proof" data from each sentry client attached to a beacon node.
Data is partitioned daily on contribution_slot_start_date_time for the following networks:
- mainnet:
2023-08-31to2026-07-28 - holesky:
2023-12-24to2025-10-26 - sepolia:
2023-12-24to2026-07-28
Parquet file
docker run --rm -it clickhouse/clickhouse-server clickhouse local --query --query="""
SELECT
*
FROM url('https://data.ethpandaops.io/xatu/mainnet/databases/default/beacon_api_eth_v1_events_contribution_and_proof/2026/7/28.parquet', 'Parquet')
LIMIT 10
FORMAT Pretty
"""Your Clickhouse
Note:
FINALshould be used when querying this table
docker run --rm -it --net host clickhouse/clickhouse-server clickhouse client --query="""
SELECT
*
FROM default.beacon_api_eth_v1_events_contribution_and_proof FINAL
WHERE
contribution_slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 10
FORMAT Pretty
"""EthPandaOps Clickhouse
Note:
FINALshould be used when querying this table
echo """
SELECT
*
FROM default.beacon_api_eth_v1_events_contribution_and_proof FINAL
WHERE
contribution_slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 3
FORMAT Pretty
""" | curl "https://clickhouse-raw.xatu.ethpandaops.io" -u "$CLICKHOUSE_USER:$CLICKHOUSE_PASSWORD" --data-binary @-| Name | Type | Description |
|---|---|---|
| updated_date_time | DateTime |
Timestamp when the record was last updated |
| event_date_time | DateTime64(3) |
** |
| aggregator_index | UInt32 |
The validator index of the aggregator in the beacon API event stream payload |
| contribution_slot | UInt32 |
The slot number of the contribution in the beacon API event stream payload |
| contribution_slot_start_date_time | DateTime |
The wall clock time when the contribution slot started |
| contribution_propagation_slot_start_diff | UInt32 |
Difference in slots between when the contribution occurred and when the sentry received the event |
| contribution_beacon_block_root | FixedString(66) |
The beacon block root hash in the beacon API event stream payload |
| contribution_subcommittee_index | LowCardinality(String) |
The subcommittee index of the contribution in the beacon API event stream payload |
| contribution_aggregation_bits | String |
The aggregation bits of the contribution in the beacon API event stream payload |
| contribution_signature | String |
The signature of the contribution in the beacon API event stream payload |
| contribution_epoch | UInt32 |
The epoch number of the contribution in the beacon API event stream payload |
| contribution_epoch_start_date_time | DateTime |
The wall clock time when the contribution epoch started |
| selection_proof | String |
The selection proof in the beacon API event stream payload |
| signature | String |
The signature in the beacon API event stream payload |
| meta_client_name | LowCardinality(String) |
Name of the client that generated the event |
| meta_client_version | LowCardinality(String) |
Version of the client that generated the event |
| meta_client_implementation | LowCardinality(String) |
Implementation of the client that generated the event |
| meta_client_os | LowCardinality(String) |
Operating system of the client that generated the event |
| meta_client_ip | Nullable(IPv6) |
IP address of the client that generated the event |
| meta_client_geo_city | LowCardinality(String) |
City of the client that generated the event |
| meta_client_geo_country | LowCardinality(String) |
Country of the client that generated the event |
| meta_client_geo_country_code | LowCardinality(String) |
Country code of the client that generated the event |
| meta_client_geo_continent_code | LowCardinality(String) |
Continent code of the client that generated the event |
| meta_client_geo_longitude | Nullable(Float64) |
Longitude of the client that generated the event |
| meta_client_geo_latitude | Nullable(Float64) |
Latitude of the client that generated the event |
| meta_client_geo_autonomous_system_number | Nullable(UInt32) |
Autonomous system number of the client that generated the event |
| meta_client_geo_autonomous_system_organization | Nullable(String) |
Autonomous system organization of the client that generated the event |
| meta_network_name | LowCardinality(String) |
Ethereum network name |
| meta_consensus_version | LowCardinality(String) |
Ethereum consensus client version that generated the event |
| meta_consensus_version_major | LowCardinality(String) |
Ethereum consensus client major version that generated the event |
| meta_consensus_version_minor | LowCardinality(String) |
Ethereum consensus client minor version that generated the event |
| meta_consensus_version_patch | LowCardinality(String) |
Ethereum consensus client patch version that generated the event |
| meta_consensus_implementation | LowCardinality(String) |
Ethereum consensus client implementation that generated the event |
Contains beacon API eventstream "data_column_sidecar" data from each sentry client attached to a beacon node.
🔀 Introduced in the Fusaka network upgrade (
fulufork).
Data is partitioned daily on slot_start_date_time for the following networks:
- mainnet:
2025-12-03to2026-07-28 - holesky:
2025-10-01to2025-11-09 - hoodi:
2025-10-28to2026-07-28 - sepolia:
2025-10-14to2026-07-28
Parquet file
docker run --rm -it clickhouse/clickhouse-server clickhouse local --query --query="""
SELECT
*
FROM url('https://data.ethpandaops.io/xatu/mainnet/databases/default/beacon_api_eth_v1_events_data_column_sidecar/2026/7/28.parquet', 'Parquet')
LIMIT 10
FORMAT Pretty
"""Your Clickhouse
Note:
FINALshould be used when querying this table
docker run --rm -it --net host clickhouse/clickhouse-server clickhouse client --query="""
SELECT
*
FROM default.beacon_api_eth_v1_events_data_column_sidecar FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 10
FORMAT Pretty
"""EthPandaOps Clickhouse
Note:
FINALshould be used when querying this table
echo """
SELECT
*
FROM default.beacon_api_eth_v1_events_data_column_sidecar FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 3
FORMAT Pretty
""" | curl "https://clickhouse-raw.xatu.ethpandaops.io" -u "$CLICKHOUSE_USER:$CLICKHOUSE_PASSWORD" --data-binary @-| Name | Type | Description |
|---|---|---|
| updated_date_time | DateTime |
Timestamp when the record was last updated |
| event_date_time | DateTime64(3) |
When the sentry received the event from a beacon node |
| slot | UInt32 |
Slot number in the beacon API event stream payload |
| slot_start_date_time | DateTime |
The wall clock time when the slot started |
| propagation_slot_start_diff | UInt32 |
The difference between the event_date_time and the slot_start_date_time |
| epoch | UInt32 |
The epoch number in the beacon API event stream payload |
| epoch_start_date_time | DateTime |
The wall clock time when the epoch started |
| block_root | FixedString(66) |
The beacon block root hash in the beacon API event stream payload |
| column_index | UInt64 |
The index of column in the beacon API event stream payload |
| kzg_commitments_count | UInt32 |
Number of KZG commitments associated with the record |
| meta_client_name | LowCardinality(String) |
Name of the client that generated the event |
| meta_client_version | LowCardinality(String) |
Version of the client that generated the event |
| meta_client_implementation | LowCardinality(String) |
Implementation of the client that generated the event |
| meta_client_os | LowCardinality(String) |
Operating system of the client that generated the event |
| meta_client_ip | Nullable(IPv6) |
IP address of the client that generated the event |
| meta_client_geo_city | LowCardinality(String) |
City of the client that generated the event |
| meta_client_geo_country | LowCardinality(String) |
Country of the client that generated the event |
| meta_client_geo_country_code | LowCardinality(String) |
Country code of the client that generated the event |
| meta_client_geo_continent_code | LowCardinality(String) |
Continent code of the client that generated the event |
| meta_client_geo_longitude | Nullable(Float64) |
Longitude of the client that generated the event |
| meta_client_geo_latitude | Nullable(Float64) |
Latitude of the client that generated the event |
| meta_client_geo_autonomous_system_number | Nullable(UInt32) |
Autonomous system number of the client that generated the event |
| meta_client_geo_autonomous_system_organization | Nullable(String) |
Autonomous system organization of the client that generated the event |
| meta_network_name | LowCardinality(String) |
Ethereum network name |
| meta_consensus_version | LowCardinality(String) |
Ethereum consensus client version that generated the event |
| meta_consensus_version_major | LowCardinality(String) |
Ethereum consensus client major version that generated the event |
| meta_consensus_version_minor | LowCardinality(String) |
Ethereum consensus client minor version that generated the event |
| meta_consensus_version_patch | LowCardinality(String) |
Ethereum consensus client patch version that generated the event |
| meta_consensus_implementation | LowCardinality(String) |
Ethereum consensus client implementation that generated the event |
Contains beacon API eventstream "finalized checkpoint" data from each sentry client attached to a beacon node.
Data is partitioned daily on epoch_start_date_time for the following networks:
- mainnet:
2020-12-01to2026-07-28 - holesky:
2023-03-26to2026-06-02 - sepolia:
2023-03-26to2026-07-28
Parquet file
docker run --rm -it clickhouse/clickhouse-server clickhouse local --query --query="""
SELECT
*
FROM url('https://data.ethpandaops.io/xatu/mainnet/databases/default/beacon_api_eth_v1_events_finalized_checkpoint/2026/7/28.parquet', 'Parquet')
LIMIT 10
FORMAT Pretty
"""Your Clickhouse
Note:
FINALshould be used when querying this table
docker run --rm -it --net host clickhouse/clickhouse-server clickhouse client --query="""
SELECT
*
FROM default.beacon_api_eth_v1_events_finalized_checkpoint FINAL
WHERE
epoch_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 10
FORMAT Pretty
"""EthPandaOps Clickhouse
Note:
FINALshould be used when querying this table
echo """
SELECT
*
FROM default.beacon_api_eth_v1_events_finalized_checkpoint FINAL
WHERE
epoch_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 3
FORMAT Pretty
""" | curl "https://clickhouse-raw.xatu.ethpandaops.io" -u "$CLICKHOUSE_USER:$CLICKHOUSE_PASSWORD" --data-binary @-| Name | Type | Description |
|---|---|---|
| updated_date_time | DateTime |
Timestamp when the record was last updated |
| event_date_time | DateTime64(3) |
When the sentry received the event from a beacon node |
| block | FixedString(66) |
The finalized block root hash in the beacon API event stream payload |
| state | FixedString(66) |
The finalized state root hash in the beacon API event stream payload |
| epoch | UInt32 |
The epoch number in the beacon API event stream payload |
| epoch_start_date_time | DateTime |
The wall clock time when the epoch started |
| execution_optimistic | Bool |
Whether the execution of the epoch was optimistic |
| meta_client_name | LowCardinality(String) |
Name of the client that generated the event |
| meta_client_version | LowCardinality(String) |
Version of the client that generated the event |
| meta_client_implementation | LowCardinality(String) |
Implementation of the client that generated the event |
| meta_client_os | LowCardinality(String) |
Operating system of the client that generated the event |
| meta_client_ip | Nullable(IPv6) |
IP address of the client that generated the event |
| meta_client_geo_city | LowCardinality(String) |
City of the client that generated the event |
| meta_client_geo_country | LowCardinality(String) |
Country of the client that generated the event |
| meta_client_geo_country_code | LowCardinality(String) |
Country code of the client that generated the event |
| meta_client_geo_continent_code | LowCardinality(String) |
Continent code of the client that generated the event |
| meta_client_geo_longitude | Nullable(Float64) |
Longitude of the client that generated the event |
| meta_client_geo_latitude | Nullable(Float64) |
Latitude of the client that generated the event |
| meta_client_geo_autonomous_system_number | Nullable(UInt32) |
Autonomous system number of the client that generated the event |
| meta_client_geo_autonomous_system_organization | Nullable(String) |
Autonomous system organization of the client that generated the event |
| meta_network_name | LowCardinality(String) |
Ethereum network name |
| meta_consensus_version | LowCardinality(String) |
Ethereum consensus client version that generated the event |
| meta_consensus_version_major | LowCardinality(String) |
Ethereum consensus client major version that generated the event |
| meta_consensus_version_minor | LowCardinality(String) |
Ethereum consensus client minor version that generated the event |
| meta_consensus_version_patch | LowCardinality(String) |
Ethereum consensus client patch version that generated the event |
| meta_consensus_implementation | LowCardinality(String) |
Ethereum consensus client implementation that generated the event |
Contains beacon API eventstream "head" data from each sentry client attached to a beacon node.
Data is partitioned daily on slot_start_date_time for the following networks:
- mainnet:
2020-12-01to2026-07-28 - holesky:
2023-12-05to2026-06-02 - sepolia:
2023-12-05to2026-07-28
Parquet file
docker run --rm -it clickhouse/clickhouse-server clickhouse local --query --query="""
SELECT
*
FROM url('https://data.ethpandaops.io/xatu/mainnet/databases/default/beacon_api_eth_v1_events_head/2026/7/28.parquet', 'Parquet')
LIMIT 10
FORMAT Pretty
"""Your Clickhouse
Note:
FINALshould be used when querying this table
docker run --rm -it --net host clickhouse/clickhouse-server clickhouse client --query="""
SELECT
*
FROM default.beacon_api_eth_v1_events_head FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 10
FORMAT Pretty
"""EthPandaOps Clickhouse
Note:
FINALshould be used when querying this table
echo """
SELECT
*
FROM default.beacon_api_eth_v1_events_head FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 3
FORMAT Pretty
""" | curl "https://clickhouse-raw.xatu.ethpandaops.io" -u "$CLICKHOUSE_USER:$CLICKHOUSE_PASSWORD" --data-binary @-| Name | Type | Description |
|---|---|---|
| updated_date_time | DateTime |
Timestamp when the record was last updated |
| event_date_time | DateTime64(3) |
** |
| slot | UInt32 |
Slot number in the beacon API event stream payload |
| slot_start_date_time | DateTime |
The wall clock time when the slot started |
| propagation_slot_start_diff | UInt32 |
The difference between the event_date_time and the slot_start_date_time |
| block | FixedString(66) |
The beacon block root hash in the beacon API event stream payload |
| epoch | UInt32 |
The epoch number in the beacon API event stream payload |
| epoch_start_date_time | DateTime |
The wall clock time when the epoch started |
| epoch_transition | Bool |
If the event is an epoch transition |
| execution_optimistic | Bool |
If the attached beacon node is running in execution optimistic mode |
| previous_duty_dependent_root | FixedString(66) |
The previous duty dependent root in the beacon API event stream payload |
| current_duty_dependent_root | FixedString(66) |
The current duty dependent root in the beacon API event stream payload |
| meta_client_name | LowCardinality(String) |
Name of the client that generated the event |
| meta_client_version | LowCardinality(String) |
Version of the client that generated the event |
| meta_client_implementation | LowCardinality(String) |
Implementation of the client that generated the event |
| meta_client_os | LowCardinality(String) |
Operating system of the client that generated the event |
| meta_client_ip | Nullable(IPv6) |
IP address of the client that generated the event |
| meta_client_geo_city | LowCardinality(String) |
City of the client that generated the event |
| meta_client_geo_country | LowCardinality(String) |
Country of the client that generated the event |
| meta_client_geo_country_code | LowCardinality(String) |
Country code of the client that generated the event |
| meta_client_geo_continent_code | LowCardinality(String) |
Continent code of the client that generated the event |
| meta_client_geo_longitude | Nullable(Float64) |
Longitude of the client that generated the event |
| meta_client_geo_latitude | Nullable(Float64) |
Latitude of the client that generated the event |
| meta_client_geo_autonomous_system_number | Nullable(UInt32) |
Autonomous system number of the client that generated the event |
| meta_client_geo_autonomous_system_organization | Nullable(String) |
Autonomous system organization of the client that generated the event |
| meta_network_name | LowCardinality(String) |
Ethereum network name |
| meta_consensus_version | LowCardinality(String) |
Ethereum consensus client version that generated the event |
| meta_consensus_version_major | LowCardinality(String) |
Ethereum consensus client major version that generated the event |
| meta_consensus_version_minor | LowCardinality(String) |
Ethereum consensus client minor version that generated the event |
| meta_consensus_version_patch | LowCardinality(String) |
Ethereum consensus client patch version that generated the event |
| meta_consensus_implementation | LowCardinality(String) |
Ethereum consensus client implementation that generated the event |
Contains beacon API eventstream "voluntary exit" data from each sentry client attached to a beacon node.
Data is partitioned daily on wallclock_epoch_start_date_time for the following networks:
- mainnet:
2020-12-01to2026-07-28 - holesky:
2023-09-28to2025-08-12 - sepolia:
2023-10-01tonull
Parquet file
docker run --rm -it clickhouse/clickhouse-server clickhouse local --query --query="""
SELECT
*
FROM url('https://data.ethpandaops.io/xatu/mainnet/databases/default/beacon_api_eth_v1_events_voluntary_exit/2026/7/28.parquet', 'Parquet')
LIMIT 10
FORMAT Pretty
"""Your Clickhouse
Note:
FINALshould be used when querying this table
docker run --rm -it --net host clickhouse/clickhouse-server clickhouse client --query="""
SELECT
*
FROM default.beacon_api_eth_v1_events_voluntary_exit FINAL
WHERE
wallclock_epoch_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 10
FORMAT Pretty
"""EthPandaOps Clickhouse
Note:
FINALshould be used when querying this table
echo """
SELECT
*
FROM default.beacon_api_eth_v1_events_voluntary_exit FINAL
WHERE
wallclock_epoch_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 3
FORMAT Pretty
""" | curl "https://clickhouse-raw.xatu.ethpandaops.io" -u "$CLICKHOUSE_USER:$CLICKHOUSE_PASSWORD" --data-binary @-| Name | Type | Description |
|---|---|---|
| updated_date_time | DateTime |
Timestamp when the record was last updated |
| event_date_time | DateTime64(3) |
** |
| epoch | UInt32 |
The epoch number in the beacon API event stream payload |
| epoch_start_date_time | DateTime |
The wall clock time when the epoch started |
| wallclock_slot | UInt32 |
Slot number of the wall clock when the event was received |
| wallclock_slot_start_date_time | DateTime |
Start date and time of the wall clock slot when the event was received |
| wallclock_epoch | UInt32 |
Epoch number of the wall clock when the event was received |
| wallclock_epoch_start_date_time | DateTime |
Start date and time of the wall clock epoch when the event was received |
| validator_index | UInt32 |
The index of the validator making the voluntary exit |
| signature | String |
The signature of the voluntary exit in the beacon API event stream payload |
| meta_client_name | LowCardinality(String) |
Name of the client that generated the event |
| meta_client_version | LowCardinality(String) |
Version of the client that generated the event |
| meta_client_implementation | LowCardinality(String) |
Implementation of the client that generated the event |
| meta_client_os | LowCardinality(String) |
Operating system of the client that generated the event |
| meta_client_ip | Nullable(IPv6) |
IP address of the client that generated the event |
| meta_client_geo_city | LowCardinality(String) |
City of the client that generated the event |
| meta_client_geo_country | LowCardinality(String) |
Country of the client that generated the event |
| meta_client_geo_country_code | LowCardinality(String) |
Country code of the client that generated the event |
| meta_client_geo_continent_code | LowCardinality(String) |
Continent code of the client that generated the event |
| meta_client_geo_longitude | Nullable(Float64) |
Longitude of the client that generated the event |
| meta_client_geo_latitude | Nullable(Float64) |
Latitude of the client that generated the event |
| meta_client_geo_autonomous_system_number | Nullable(UInt32) |
Autonomous system number of the client that generated the event |
| meta_client_geo_autonomous_system_organization | Nullable(String) |
Autonomous system organization of the client that generated the event |
| meta_network_name | LowCardinality(String) |
Ethereum network name |
| meta_consensus_version | LowCardinality(String) |
Ethereum consensus client version that generated the event |
| meta_consensus_version_major | LowCardinality(String) |
Ethereum consensus client major version that generated the event |
| meta_consensus_version_minor | LowCardinality(String) |
Ethereum consensus client minor version that generated the event |
| meta_consensus_version_patch | LowCardinality(String) |
Ethereum consensus client patch version that generated the event |
| meta_consensus_implementation | LowCardinality(String) |
Ethereum consensus client implementation that generated the event |
Contains beacon API validator attestation data from each sentry client attached to a beacon node.
Data is partitioned daily on slot_start_date_time for the following networks:
- mainnet:
2023-08-31to2026-07-28 - holesky:
2023-12-24to2025-10-26 - sepolia:
2023-12-24to2026-07-28
Parquet file
docker run --rm -it clickhouse/clickhouse-server clickhouse local --query --query="""
SELECT
*
FROM url('https://data.ethpandaops.io/xatu/mainnet/databases/default/beacon_api_eth_v1_validator_attestation_data/2026/7/28.parquet', 'Parquet')
LIMIT 10
FORMAT Pretty
"""Your Clickhouse
Note:
FINALshould be used when querying this table
docker run --rm -it --net host clickhouse/clickhouse-server clickhouse client --query="""
SELECT
*
FROM default.beacon_api_eth_v1_validator_attestation_data FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 10
FORMAT Pretty
"""EthPandaOps Clickhouse
Note:
FINALshould be used when querying this table
echo """
SELECT
*
FROM default.beacon_api_eth_v1_validator_attestation_data FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 3
FORMAT Pretty
""" | curl "https://clickhouse-raw.xatu.ethpandaops.io" -u "$CLICKHOUSE_USER:$CLICKHOUSE_PASSWORD" --data-binary @-| Name | Type | Description |
|---|---|---|
| updated_date_time | DateTime |
Timestamp when the record was last updated |
| event_date_time | DateTime64(3) |
** |
| slot | UInt32 |
Slot number in the beacon API validator attestation data payload |
| slot_start_date_time | DateTime |
The wall clock time when the slot started |
| committee_index | LowCardinality(String) |
The committee index in the beacon API validator attestation data payload |
| beacon_block_root | FixedString(66) |
The beacon block root hash in the beacon API validator attestation data payload |
| epoch | UInt32 |
The epoch number in the beacon API validator attestation data payload |
| epoch_start_date_time | DateTime |
The wall clock time when the epoch started |
| source_epoch | UInt32 |
The source epoch number in the beacon API validator attestation data payload |
| source_epoch_start_date_time | DateTime |
The wall clock time when the source epoch started |
| source_root | FixedString(66) |
The source beacon block root hash in the beacon API validator attestation data payload |
| target_epoch | UInt32 |
The target epoch number in the beacon API validator attestation data payload |
| target_epoch_start_date_time | DateTime |
The wall clock time when the target epoch started |
| target_root | FixedString(66) |
The target beacon block root hash in the beacon API validator attestation data payload |
| request_date_time | DateTime |
When the request was sent to the beacon node |
| request_duration | UInt32 |
The request duration in milliseconds |
| request_slot_start_diff | UInt32 |
The difference between the request_date_time and the slot_start_date_time |
| meta_client_name | LowCardinality(String) |
Name of the client that generated the event |
| meta_client_version | LowCardinality(String) |
Version of the client that generated the event |
| meta_client_implementation | LowCardinality(String) |
Implementation of the client that generated the event |
| meta_client_os | LowCardinality(String) |
Operating system of the client that generated the event |
| meta_client_ip | Nullable(IPv6) |
IP address of the client that generated the event |
| meta_client_geo_city | LowCardinality(String) |
City of the client that generated the event |
| meta_client_geo_country | LowCardinality(String) |
Country of the client that generated the event |
| meta_client_geo_country_code | LowCardinality(String) |
Country code of the client that generated the event |
| meta_client_geo_continent_code | LowCardinality(String) |
Continent code of the client that generated the event |
| meta_client_geo_longitude | Nullable(Float64) |
Longitude of the client that generated the event |
| meta_client_geo_latitude | Nullable(Float64) |
Latitude of the client that generated the event |
| meta_client_geo_autonomous_system_number | Nullable(UInt32) |
Autonomous system number of the client that generated the event |
| meta_client_geo_autonomous_system_organization | Nullable(String) |
Autonomous system organization of the client that generated the event |
| meta_network_name | LowCardinality(String) |
Ethereum network name |
| meta_consensus_version | LowCardinality(String) |
Ethereum consensus client version that generated the event |
| meta_consensus_version_major | LowCardinality(String) |
Ethereum consensus client major version that generated the event |
| meta_consensus_version_minor | LowCardinality(String) |
Ethereum consensus client minor version that generated the event |
| meta_consensus_version_patch | LowCardinality(String) |
Ethereum consensus client patch version that generated the event |
| meta_consensus_implementation | LowCardinality(String) |
Ethereum consensus client implementation that generated the event |
Contains beacon API /eth/v2/beacon/blocks/{block_id} data from each sentry client attached to a beacon node.
Data is partitioned daily on slot_start_date_time for the following networks:
- mainnet:
2020-12-01to2026-07-28 - holesky:
2023-09-28to2025-10-26 - sepolia:
2022-06-20to2026-07-28
Parquet file
docker run --rm -it clickhouse/clickhouse-server clickhouse local --query --query="""
SELECT
*
FROM url('https://data.ethpandaops.io/xatu/mainnet/databases/default/beacon_api_eth_v2_beacon_block/2026/7/28.parquet', 'Parquet')
LIMIT 10
FORMAT Pretty
"""Your Clickhouse
Note:
FINALshould be used when querying this table
docker run --rm -it --net host clickhouse/clickhouse-server clickhouse client --query="""
SELECT
*
FROM default.beacon_api_eth_v2_beacon_block FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 10
FORMAT Pretty
"""EthPandaOps Clickhouse
Note:
FINALshould be used when querying this table
echo """
SELECT
*
FROM default.beacon_api_eth_v2_beacon_block FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 3
FORMAT Pretty
""" | curl "https://clickhouse-raw.xatu.ethpandaops.io" -u "$CLICKHOUSE_USER:$CLICKHOUSE_PASSWORD" --data-binary @-| Name | Type | Description |
|---|---|---|
| updated_date_time | DateTime |
Timestamp when the record was last updated |
| event_date_time | DateTime64(3) |
** |
| slot | UInt32 |
The slot number from beacon block payload |
| slot_start_date_time | DateTime |
The wall clock time when the reorg slot started |
| epoch | UInt32 |
The epoch number from beacon block payload |
| epoch_start_date_time | DateTime |
The wall clock time when the epoch started |
| block_root | FixedString(66) |
The root hash of the beacon block |
| block_version | LowCardinality(String) |
The version of the beacon block |
| block_total_bytes | Nullable(UInt32) |
The total bytes of the beacon block payload |
| block_total_bytes_compressed | Nullable(UInt32) |
The total bytes of the beacon block payload when compressed using snappy |
| parent_root | FixedString(66) |
The root hash of the parent beacon block |
| state_root | FixedString(66) |
The root hash of the beacon state at this block |
| proposer_index | UInt32 |
The index of the validator that proposed the beacon block |
| eth1_data_block_hash | FixedString(66) |
The block hash of the associated execution block |
| eth1_data_deposit_root | FixedString(66) |
The root of the deposit tree in the associated execution block |
| execution_payload_block_hash | Nullable(FixedString(66)) |
The block hash of the execution payload |
| execution_payload_block_number | Nullable(UInt32) |
The block number of the execution payload |
| execution_payload_fee_recipient | Nullable(String) |
The recipient of the fee for this execution payload |
| execution_payload_base_fee_per_gas | Nullable(UInt128) |
Base fee per gas for execution payload |
| execution_payload_blob_gas_used | Nullable(UInt64) |
Gas used for blobs in execution payload |
| execution_payload_excess_blob_gas | Nullable(UInt64) |
Excess gas used for blobs in execution payload |
| execution_payload_gas_limit | Nullable(UInt64) |
Gas limit for execution payload |
| execution_payload_gas_used | Nullable(UInt64) |
Gas used for execution payload |
| execution_payload_state_root | FixedString(66) |
The state root of the execution payload |
| execution_payload_parent_hash | FixedString(66) |
The parent hash of the execution payload |
| execution_payload_transactions_count | Nullable(UInt32) |
The transaction count of the execution payload |
| execution_payload_transactions_total_bytes | Nullable(UInt32) |
The transaction total bytes of the execution payload |
| execution_payload_transactions_total_bytes_compressed | Nullable(UInt32) |
The transaction total bytes of the execution payload when compressed using snappy |
| meta_client_name | LowCardinality(String) |
Name of the client that generated the event |
| meta_client_version | LowCardinality(String) |
Version of the client that generated the event |
| meta_client_implementation | LowCardinality(String) |
Implementation of the client that generated the event |
| meta_client_os | LowCardinality(String) |
Operating system of the client that generated the event |
| meta_client_ip | Nullable(IPv6) |
IP address of the client that generated the event |
| meta_client_geo_city | LowCardinality(String) |
City of the client that generated the event |
| meta_client_geo_country | LowCardinality(String) |
Country of the client that generated the event |
| meta_client_geo_country_code | LowCardinality(String) |
Country code of the client that generated the event |
| meta_client_geo_continent_code | LowCardinality(String) |
Continent code of the client that generated the event |
| meta_client_geo_longitude | Nullable(Float64) |
Longitude of the client that generated the event |
| meta_client_geo_latitude | Nullable(Float64) |
Latitude of the client that generated the event |
| meta_client_geo_autonomous_system_number | Nullable(UInt32) |
Autonomous system number of the client that generated the event |
| meta_client_geo_autonomous_system_organization | Nullable(String) |
Autonomous system organization of the client that generated the event |
| meta_network_name | LowCardinality(String) |
Ethereum network name |
| meta_consensus_version | LowCardinality(String) |
Ethereum consensus client version that generated the event |
| meta_consensus_version_major | LowCardinality(String) |
Ethereum consensus client major version that generated the event |
| meta_consensus_version_minor | LowCardinality(String) |
Ethereum consensus client minor version that generated the event |
| meta_consensus_version_patch | LowCardinality(String) |
Ethereum consensus client patch version that generated the event |
| meta_consensus_implementation | LowCardinality(String) |
Ethereum consensus client implementation that generated the event |
Contains a proposer duty from a beacon block.
Data is partitioned daily on slot_start_date_time for the following networks:
- mainnet:
2024-04-03to2026-07-28 - holesky:
2024-04-03to2025-10-26 - sepolia:
2024-04-03to2026-07-28
Parquet file
docker run --rm -it clickhouse/clickhouse-server clickhouse local --query --query="""
SELECT
*
FROM url('https://data.ethpandaops.io/xatu/mainnet/databases/default/beacon_api_eth_v1_proposer_duty/2026/7/28.parquet', 'Parquet')
LIMIT 10
FORMAT Pretty
"""Your Clickhouse
Note:
FINALshould be used when querying this table
docker run --rm -it --net host clickhouse/clickhouse-server clickhouse client --query="""
SELECT
*
FROM default.beacon_api_eth_v1_proposer_duty FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 10
FORMAT Pretty
"""EthPandaOps Clickhouse
Note:
FINALshould be used when querying this table
echo """
SELECT
*
FROM default.beacon_api_eth_v1_proposer_duty FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 3
FORMAT Pretty
""" | curl "https://clickhouse-raw.xatu.ethpandaops.io" -u "$CLICKHOUSE_USER:$CLICKHOUSE_PASSWORD" --data-binary @-| Name | Type | Description |
|---|---|---|
| updated_date_time | DateTime |
When this row was last updated |
| event_date_time | DateTime64(3) |
When the client fetched the beacon block from a beacon node |
| slot | UInt32 |
The slot number from beacon block payload |
| slot_start_date_time | DateTime |
The wall clock time when the slot started |
| epoch | UInt32 |
The epoch number from beacon block payload |
| epoch_start_date_time | DateTime |
The wall clock time when the epoch started |
| proposer_validator_index | UInt32 |
The validator index from the proposer duty payload |
| proposer_pubkey | String |
The BLS public key of the validator from the proposer duty payload |
| meta_client_name | LowCardinality(String) |
Name of the client that generated the event |
| meta_client_version | LowCardinality(String) |
Version of the client that generated the event |
| meta_client_implementation | LowCardinality(String) |
Implementation of the client that generated the event |
| meta_client_os | LowCardinality(String) |
Operating system of the client that generated the event |
| meta_client_ip | Nullable(IPv6) |
IP address of the client that generated the event |
| meta_client_geo_city | LowCardinality(String) |
City of the client that generated the event |
| meta_client_geo_country | LowCardinality(String) |
Country of the client that generated the event |
| meta_client_geo_country_code | LowCardinality(String) |
Country code of the client that generated the event |
| meta_client_geo_continent_code | LowCardinality(String) |
Continent code of the client that generated the event |
| meta_client_geo_longitude | Nullable(Float64) |
Longitude of the client that generated the event |
| meta_client_geo_latitude | Nullable(Float64) |
Latitude of the client that generated the event |
| meta_client_geo_autonomous_system_number | Nullable(UInt32) |
Autonomous system number of the client that generated the event |
| meta_client_geo_autonomous_system_organization | Nullable(String) |
Autonomous system organization of the client that generated the event |
| meta_network_name | LowCardinality(String) |
Ethereum network name |
| meta_consensus_version | LowCardinality(String) |
Ethereum consensus client version that generated the event |
| meta_consensus_version_major | LowCardinality(String) |
Ethereum consensus client major version that generated the event |
| meta_consensus_version_minor | LowCardinality(String) |
Ethereum consensus client minor version that generated the event |
| meta_consensus_version_patch | LowCardinality(String) |
Ethereum consensus client patch version that generated the event |
| meta_consensus_implementation | LowCardinality(String) |
Ethereum consensus client implementation that generated the event |
Contains beacon API /eth/v3/validator/blocks/{slot} data from each sentry client attached to a beacon node.
Data is partitioned daily on slot_start_date_time for the following networks:
- mainnet:
2024-11-25to2026-07-28 - holesky:
2024-11-25to2025-10-26 - sepolia:
2024-11-25to2026-07-28
Parquet file
docker run --rm -it clickhouse/clickhouse-server clickhouse local --query --query="""
SELECT
*
FROM url('https://data.ethpandaops.io/xatu/mainnet/databases/default/beacon_api_eth_v3_validator_block/2026/7/28.parquet', 'Parquet')
LIMIT 10
FORMAT Pretty
"""Your Clickhouse
Note:
FINALshould be used when querying this table
docker run --rm -it --net host clickhouse/clickhouse-server clickhouse client --query="""
SELECT
*
FROM default.beacon_api_eth_v3_validator_block FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 10
FORMAT Pretty
"""EthPandaOps Clickhouse
Note:
FINALshould be used when querying this table
echo """
SELECT
*
FROM default.beacon_api_eth_v3_validator_block FINAL
WHERE
slot_start_date_time >= NOW() - INTERVAL '1 HOUR'
LIMIT 3
FORMAT Pretty
""" | curl "https://clickhouse-raw.xatu.ethpandaops.io" -u "$CLICKHOUSE_USER:$CLICKHOUSE_PASSWORD" --data-binary @-| Name | Type | Description |
|---|---|---|
| updated_date_time | DateTime |
Timestamp when the record was last updated |
| event_date_time | DateTime64(3) |
When the sentry received the event from a beacon node |
| slot | UInt32 |
Slot number within the payload |
| slot_start_date_time | DateTime |
** |
| epoch | UInt32 |
The epoch number in the beacon API event stream payload |
| epoch_start_date_time | DateTime |
The wall clock time when the epoch started |
| block_version | LowCardinality(String) |
The version of the beacon block |
| block_total_bytes | Nullable(UInt32) |
The total bytes of the beacon block payload |
| block_total_bytes_compressed | Nullable(UInt32) |
The total bytes of the beacon block payload when compressed using snappy |
| consensus_payload_value | Nullable(UInt64) |
Consensus rewards paid to the proposer for this block, in Wei. Use to determine relative value of consensus blocks. |
| execution_payload_value | Nullable(UInt64) |
Execution payload value in Wei. Use to determine relative value of execution payload. |
| execution_payload_block_number | UInt32 |
The block number of the execution payload |
| execution_payload_base_fee_per_gas | Nullable(UInt128) |
Base fee per gas for execution payload |
| execution_payload_blob_gas_used | Nullable(UInt64) |
Gas used for blobs in execution payload |
| execution_payload_excess_blob_gas | Nullable(UInt64) |
Excess gas used for blobs in execution payload |
| execution_payload_gas_limit | Nullable(UInt64) |
Gas limit for execution payload |
| execution_payload_gas_used | Nullable(UInt64) |
Gas used for execution payload |
| execution_payload_transactions_count | Nullable(UInt32) |
The transaction count of the execution payload |
| execution_payload_transactions_total_bytes | Nullable(UInt32) |
The transaction total bytes of the execution payload |
| execution_payload_transactions_total_bytes_compressed | Nullable(UInt32) |
The transaction total bytes of the execution payload when compressed using snappy |
| meta_client_name | LowCardinality(String) |
Name of the client that generated the event |
| meta_client_version | LowCardinality(String) |
Version of the client that generated the event |
| meta_client_implementation | LowCardinality(String) |
Implementation of the client that generated the event |
| meta_client_os | LowCardinality(String) |
Operating system of the client that generated the event |
| meta_client_ip | Nullable(IPv6) |
IP address of the client that generated the event |
| meta_client_geo_city | LowCardinality(String) |
City of the client that generated the event |
| meta_client_geo_country | LowCardinality(String) |
Country of the client that generated the event |
| meta_client_geo_country_code | LowCardinality(String) |
Country code of the client that generated the event |
| meta_client_geo_continent_code | LowCardinality(String) |
Continent code of the client that generated the event |
| meta_client_geo_longitude | Nullable(Float64) |
Longitude of the client that generated the event |
| meta_client_geo_latitude | Nullable(Float64) |
Latitude of the client that generated the event |
| meta_client_geo_autonomous_system_number | Nullable(UInt32) |
Autonomous system number of the client that generated the event |
| meta_client_geo_autonomous_system_organization | Nullable(String) |
Autonomous system organization of the client that generated the event |
| meta_network_name | LowCardinality(String) |
Ethereum network name |
| meta_consensus_version | LowCardinality(String) |
Ethereum consensus client version that generated the event |
| meta_consensus_version_major | LowCardinality(String) |
Ethereum consensus client major version that generated the event |
| meta_consensus_version_minor | LowCardinality(String) |
Ethereum consensus client minor version that generated the event |
| meta_consensus_version_patch | LowCardinality(String) |
Ethereum consensus client patch version that generated the event |
| meta_consensus_implementation | LowCardinality(String) |
Ethereum consensus client implementation that generated the event |
Execution payload envelope arrivals from beacon API SSE (execution_payload event, fires on import into fork-choice).
🧪 Pre-release — introduced by the Glamsterdam upgrade (
gloas). Not yet merged to xatu master and not available on production networks. See the Glamsterdam page for the full schema and query examples.
Available in the following devnet databases:
- glamsterdam-devnet-7:
glamsterdam-devnet-7.beacon_api_eth_v1_events_execution_payload
Execution payload availability signals from beacon API SSE (execution_payload_available event, fires when payload+blobs are locally verified for PTC vote).
🧪 Pre-release — introduced by the Glamsterdam upgrade (
gloas). Not yet merged to xatu master and not available on production networks. See the Glamsterdam page for the full schema and query examples.
Available in the following devnet databases:
- glamsterdam-devnet-7:
glamsterdam-devnet-7.beacon_api_eth_v1_events_execution_payload_available
Builder bids from beacon API SSE (execution_payload_bid event).
🧪 Pre-release — introduced by the Glamsterdam upgrade (
gloas). Not yet merged to xatu master and not available on production networks. See the Glamsterdam page for the full schema and query examples.
Available in the following devnet databases:
- glamsterdam-devnet-7:
glamsterdam-devnet-7.beacon_api_eth_v1_events_execution_payload_bid
Execution payload envelope first-seen-on-gossip arrivals from beacon API SSE (execution_payload_gossip event, fires before import).
🧪 Pre-release — introduced by the Glamsterdam upgrade (
gloas). Not yet merged to xatu master and not available on production networks. See the Glamsterdam page for the full schema and query examples.
Available in the following devnet databases:
- glamsterdam-devnet-7:
glamsterdam-devnet-7.beacon_api_eth_v1_events_execution_payload_gossip
Contains beacon API eventstream "head_v2" data from each sentry client attached to a beacon node.
🧪 Pre-release — introduced by the Glamsterdam upgrade (
gloas). Not yet merged to xatu master and not available on production networks. See the Glamsterdam page for the full schema and query examples.
Available in the following devnet databases:
- glamsterdam-devnet-7:
glamsterdam-devnet-7.beacon_api_eth_v1_events_head_v2
Individual PTC payload attestation messages from beacon API SSE (payload_attestation_message event, ~512 per slot).
🧪 Pre-release — introduced by the Glamsterdam upgrade (
gloas). Not yet merged to xatu master and not available on production networks. See the Glamsterdam page for the full schema and query examples.
Available in the following devnet databases:
- glamsterdam-devnet-7:
glamsterdam-devnet-7.beacon_api_eth_v1_events_payload_attestation
Proposer preferences from beacon API SSE (proposer_preferences event).
🧪 Pre-release — introduced by the Glamsterdam upgrade (
gloas). Not yet merged to xatu master and not available on production networks. See the Glamsterdam page for the full schema and query examples.
Available in the following devnet databases:
- glamsterdam-devnet-7:
glamsterdam-devnet-7.beacon_api_eth_v1_events_proposer_preferences