Skip to main content
The beacon_hoodi.raw.balances_daily table provides daily snapshots of validator balances on the Ethereum Hoodi consensus layer (testnet). It mirrors the shape of beacon.raw.balances_daily on mainnet: each row is one validator’s state for a calendar day, with the snapshot taken at the last slot of the day in UTC (for example 2026-03-28 23:59:59.000 on slot_timestamp). Beacon Hoodi is in Beta. Types below reflect the current Snowflake schema; raw_balance and raw_effective_balance are stored as strings so large integer amounts stay exact—cast them (for example to NUMBER or FLOAT) when you compute.

Table details

PropertyValue
Table Namebeacon_hoodi.raw.balances_daily
Table StatusBeta 🌱
Clustering Key(s)to_date("slot_timestamp")
Search Optimizationvalidator_index
Unique Keyunique_id

Use cases

Test and staging: Validate queries, dashboards, and migrations against Hoodi before pointing them at mainnet beacon.raw.* tables. Daily accounting and reconciliation: Per-validator daily balances; aggregate by date(slot_timestamp) for network-level rollups. Performance tracking: Day-over-day deltas on balance / raw_balance for rewards, slashing, and exits.

Table columns

Column NameData TypeDescription
slot_numberNUMBER(38,0)Beacon Chain slot number for the end-of-day snapshot.
slot_timestampTIMESTAMP_NTZ(9)Timestamp of that slot (UTC), typically 23:59:59 on the snapshot calendar day.
validator_indexNUMBER(38,0)Index of the validator in the Beacon validator registry.
raw_balanceVARCHARValidator balance in gwei as a string (1e9 gwei = 1 ETH); string-typed for precision.
balanceFLOATValidator balance in ETH.
effective_balanceFLOATEffective balance at stake in ETH (reward and penalty weighting).
raw_effective_balanceVARCHAREffective balance at stake in gwei, as a string for precision.
statusVARCHARValidator status (for example active_ongoing, withdrawal_done, exited_unslashed, exited_slashed, pending_queued, pending_initialized).
pubkeyVARCHARValidator BLS public key (48 bytes, hex with 0x prefix).
withdrawal_credentialsVARCHAR32-byte withdrawal credentials from the deposit (hex).
withdrawal_prefixVARCHARCredential prefix (for example 0x01 for execution-address withdrawals).
withdrawal_addressVARCHARExecution-layer withdrawal address when applicable (hex).
slashedBOOLEANWhether the validator has been slashed.
activation_eligibility_epochVARCHAREpoch when the validator became eligible for activation (string-encoded; FAR_FUTURE_EPOCH / max-uint style when not applicable).
activation_epochVARCHAREpoch when the validator was activated.
exit_epochVARCHAREpoch when the validator exited or will exit.
withdrawable_epochVARCHAREpoch when balance becomes withdrawable.
execution_optimisticBOOLEANOptimistic execution payload flag when set; may be null if absent (treat per your warehouse semantics).
finalizedBOOLEANWhether the beacon data for this row is finalized.
unique_idVARCHARStable row id, for example date-2026-03-28-validator_index-2067035.
_created_atTIMESTAMP_NTZ(9)When this row was written in Allium.
_updated_atTIMESTAMP_NTZ(9)When this row was last updated in Allium.

Sample queries

Query 1: Daily network-wide metrics (UTC days)

select
    date(slot_timestamp) as snapshot_day,
    count(*) as total_validators,
    sum(balance) as total_balance_eth,
    sum(effective_balance) as total_effective_balance_eth,
    avg(balance) as avg_balance_per_validator,
    countif(status = 'active_ongoing') as active_validators
from beacon_hoodi.raw.balances_daily
group by snapshot_day
order by snapshot_day desc
limit 30

Query 2: One validator’s daily history

select
    date(slot_timestamp) as snapshot_day,
    balance,
    effective_balance,
    status,
    balance - lag(balance) over (partition by validator_index order by slot_timestamp) as daily_balance_change_eth
from beacon_hoodi.raw.balances_daily
where validator_index = 12345
order by snapshot_day desc
limit 90

Query 3: Slashed validators

select
    date(slot_timestamp) as snapshot_day,
    validator_index,
    pubkey,
    balance,
    effective_balance,
    status
from beacon_hoodi.raw.balances_daily
where slashed = true
order by snapshot_day desc