Skip to main content
The beacon.validator.entry_queue_latest model provides the estimated epoch and timestamp where a pending deposit from Beacon Chain is expected to be processed. It provides the estimated entry timestamp and hours to entry for a given validator. The estimated entry timestamp and epoch is based on the current churn rate, beacon chain deposit index of the validator and the amount of ETH in front of the validator. The outputs of the model is expected to vary around +/- 1-2 epochs. This model is derived from beacon.validator.balances_latest and beacon.raw.pending_deposits, and is updated approximately every 30 minutes.

Schema

Column NameTypeDescription
epoch_numberbigintEpoch number of the state where the pending deposits to beacon chain is fetched.
slot_numberbigintSlot number of the state where the pending deposits to beacon chain is fetched.
slot_timestamptimestampSlot timestamp of the state where the pending deposits to beacon chain is fetched.
deposit_indexbigint(Nullable) Deposit index of the entry from the Execution Layer. This is based on the order of deposits from Execution Layer to Beacon Chain via EIP-6110. NULL when the pending deposit originates from consensus layer operations (e.g., validator consolidations via EIP-7251, or excess balance from exiting validators) rather than the execution layer deposit contract.
deposit_slotbigintThe slot number where the deposit is made into beacon chain. When slot=0 (GENESIS_SLOT), this indicates the pending deposit did NOT originate from the Execution Layer - typically from validator consolidations (EIP-7251) or excess balance from exiting validators. These deposits are created by consensus layer operations and will have deposit_index=NULL.
pubkeystringThe validator’s BLS public key, uniquely identifying them. 48-bytes, hex encoded with 0x prefix, case insensitive.
validator_indexbigint(Nullable) Unique index of the validator. Once a validator has been processed and added to the beacon state’s validators, the validator’s validator_index is defined by the index into the registry at which the ValidatorRecord contains the pubkey specified in the validator’s deposit.
statusstring(Nullable) Current status of the validator. Once a validator has been processed and added to the beacon state’s validators, the validator’s status is defined by the status of the ValidatorRecord in the beacon state.
exit_epochbigintEpoch when validator exited.
eth_pendingnumericAmount of ETH that is pending for deposits for the validator.
eth_in_queuenumericThe total amount of ETH in front of the validator waiting to be processed for deposits.
epoch_to_entrybigintEstimated number of epochs to entry for deposits base on the current churn rate.
est_entry_epochbigintEstimated entry epoch number where the deposit is expected to be processed.
est_entry_timestamptimestampEstimated entry timestamp where the deposit is expected to be processed.
_pending_deposit_updated_attimestampTimestamp of the entry update for pending deposits.
_balances_latest_updated_attimestampTimestamp of the entry update for beacon state balances.

Example Query

The following query fetches the estimated entry timestamp and hours to entry for a given validator. Note that not all validators will have an index if they are not met the activation eligibility epoch.
SELECT
  pubkey,
  eth_pending,
  eth_in_queue,
  epoch_to_entry,
  est_entry_timestamp,
  datediff('hours', current_timestamp, est_entry_timestamp) as hours_to_entry
FROM beacon.validator.entry_queue_latest
WHERE pubkey in ('') -- Insert validator pubkey here
This query shows the top 5 validators with pending deposits, ordered by the amount of ETH in queue in front of them.