Skip to main content
← Back to schema changes overview Historical daily balance snapshots (one row per validator per day).
  • Effective date: March 27, 2026
  • End of life: May 7, 2026
  • Replacement: beacon.raw.balances_daily
  • Replacement available: April 14, 2026 (before the legacy table is removed)
  • Last published: April 7, 2026
The beacon.validator.balances table will not receive updates after May 7, 2026.

Schema comparison

Column NameOld Schema (beacon.validator.balances)New Schema (beacon.raw.balances_daily)Change TypeNotes
SLOT_NUMBERIntegerIntegerNo changeSlot number remains the same
SLOT_TIMESTAMPTimestampTimestampNo changeTimestamp format unchanged
VALIDATOR_INDEXIntegerIntegerNo changeValidator index unchanged
RAW_BALANCEInteger (Wei) - 32787279442Integer (Wei) - 32787279442ReorderedNow appears BEFORE BALANCE column
BALANCE ⚠️Float (ETH) - 32.787279442Float (ETH) - 32.787279442ReorderedColumn moved after RAW_BALANCE
RAW_EFFECTIVE_BALANCEInteger (Wei) - 32000000000Integer (Wei) - 32000000000ReorderedColumn moved in order
EFFECTIVE_BALANCEFloat (ETH) - 32Float (ETH) - 32ReorderedColumn moved in order
STATUSString - active_ongoingString - active_ongoingReorderedMoved after balance columns
PUBKEYString (hex)String (hex)No changePublic key format unchanged
WITHDRAWAL_CREDENTIALSString (hex)String (hex)No changeCredentials unchanged
WITHDRAWAL_PREFIXString (hex) - 0x02String (hex) - 0x02No changePrefix unchanged
WITHDRAWAL_ADDRESSString (hex)String (hex)No changeAddress unchanged
IS_SLASHED ⚠️Boolean - FALSE❌ RemovedREMOVEDReplaced by SLASHED
SLASHED ⚠️❌ Not presentBoolean - FALSENEWReplaces IS_SLASHED (column renamed)
ACTIVATION_ELIGIBILITY_EPOCHIntegerIntegerNo changeEpoch values unchanged
ACTIVATION_EPOCHIntegerIntegerNo changeEpoch values unchanged
EXIT_EPOCHIntegerIntegerNo changeEpoch values unchanged
WITHDRAWABLE_EPOCHIntegerIntegerNo changeEpoch values unchanged
EXECUTION_OPTIMISTIC❌ Not presentString (empty) or BooleanNEWNew field for optimistic execution status
FINALIZED❌ Not presentBoolean - TRUENEWNew field for finalization status
UNIQUE_ID ⚠️String - date-2026-03-27_validator_index-0String - date-2026-03-27-validator_index-0BREAKINGFormat changed: underscore removed between date and validator
_CREATED_ATTimestampTimestampNo changeCreation timestamp unchanged
_UPDATED_ATTimestampTimestampNo changeUpdate timestamp unchanged
_CHANGED_SINCE_FULL_REFRESHBoolean - TRUE❌ RemovedREMOVEDField no longer available

Breaking changes summary

Critical breaking changes — address these in your queries:
  1. Column order changed (affects SELECT *): RAW_BALANCE before BALANCE; balance columns grouped; STATUS after balance columns
  2. Column renamed: IS_SLASHEDSLASHED
  3. UNIQUE_ID format changed: date-2026-03-27_validator_index-0date-2026-03-27-validator_index-0 (breaks filters/joins on UNIQUE_ID)
  4. New columns: EXECUTION_OPTIMISTIC, FINALIZED
  5. Removed column: _CHANGED_SINCE_FULL_REFRESH

Non-breaking changes

  • Core validator fields (VALIDATOR_INDEX, PUBKEY, STATUS, etc.) keep the same data types
  • Withdrawal fields (WITHDRAWAL_PREFIX, WITHDRAWAL_ADDRESS) already present in the legacy schema
  • Epoch fields remain integers; timestamps unchanged
  • RAW_BALANCE and RAW_EFFECTIVE_BALANCE remain Integer (Wei)