> ## Documentation Index
> Fetch the complete documentation index at: https://docs.allium.so/llms.txt
> Use this file to discover all available pages before exploring further.

# validator.balances_latest migration

> beacon.validator.balances_latest → beacon.raw.balances_latest

[← Back to schema changes overview](/historical-data/supported-blockchains/evm/beacon-chain/schema-changes)

Latest snapshot of each validator’s balances (one row per validator).

* **Effective date:** April 7, 2026
* **End of life:** May 23, 2026
* **Replacement:** `beacon.raw.balances_latest`
* **Last published:** April 7, 2026

### Schema comparison

| Column Name                    | Old Schema (`beacon.validator.balances_latest`) | New Schema (`beacon.raw.balances_latest`) | Change Type   | Notes                                 |
| ------------------------------ | ----------------------------------------------- | ----------------------------------------- | ------------- | ------------------------------------- |
| `SLOT_NUMBER`                  | Integer                                         | Integer                                   | No change     | Slot number remains the same          |
| `SLOT_TIMESTAMP`               | Timestamp                                       | Timestamp                                 | No change     | Timestamp format unchanged            |
| `VALIDATOR_INDEX`              | Integer                                         | Integer                                   | No change     | Validator index unchanged             |
| `RAW_BALANCE`                  | Integer (Wei)                                   | Integer (Wei)                             | **Reordered** | Now appears BEFORE `BALANCE` column   |
| `BALANCE` ⚠️                   | Integer (Wei) - stored as `32787459477`         | Float (ETH) - stored as `32.78744189`     | **BREAKING**  | Changed from Wei integer to ETH float |
| `EFFECTIVE_BALANCE` ⚠️         | Integer (Wei) - stored as `32000000000`         | Float (ETH) - stored as `32`              | **BREAKING**  | Changed from Wei integer to ETH float |
| `RAW_EFFECTIVE_BALANCE`        | Integer (Wei)                                   | Integer (Wei)                             | No change     | Raw value unchanged                   |
| `STATUS`                       | String                                          | String                                    | No change     | Status values unchanged               |
| `PUBKEY`                       | String (hex)                                    | String (hex)                              | No change     | Public key format unchanged           |
| `WITHDRAWAL_CREDENTIALS`       | String (hex)                                    | String (hex)                              | No change     | Credentials unchanged                 |
| `WITHDRAWAL_PREFIX`            | ❌ Not present                                   | String (hex) - `0x02`                     | **NEW**       | Extracted from withdrawal credentials |
| `WITHDRAWAL_ADDRESS`           | ❌ Not present                                   | String (hex) - `0x0d369bb...`             | **NEW**       | Extracted withdrawal address          |
| `SLASHED`                      | Boolean                                         | Boolean                                   | No change     | Slashing status unchanged             |
| `ACTIVATION_ELIGIBILITY_EPOCH` | Integer                                         | Integer                                   | No change     | Epoch values unchanged                |
| `ACTIVATION_EPOCH`             | Integer                                         | Integer                                   | No change     | Epoch values unchanged                |
| `EXIT_EPOCH`                   | Integer                                         | Integer                                   | No change     | Epoch values unchanged                |
| `WITHDRAWABLE_EPOCH`           | Integer                                         | Integer                                   | No change     | Epoch values unchanged                |
| `EXECUTION_OPTIMISTIC`         | Boolean (`FALSE`)                               | String (empty) or Boolean                 | **BREAKING**  | Type changed, may be empty string     |
| `FINALIZED`                    | Boolean (`FALSE`)                               | Boolean (`TRUE`)                          | **BREAKING**  | Type may differ, default changed      |
| `UNIQUE_ID`                    | ❌ Not present                                   | String - `validator_index-0`              | **NEW**       | New unique identifier field           |
| `_CREATED_AT`                  | Timestamp                                       | Timestamp                                 | No change     | Creation timestamp unchanged          |
| `_UPDATED_AT`                  | ❌ Not present                                   | Timestamp                                 | **NEW**       | New update tracking field             |
| `INDEX`                        | Integer - `0`                                   | ❌ Removed                                 | **REMOVED**   | Replaced by `UNIQUE_ID`               |

### Breaking changes summary

<Warning>
  **Critical breaking changes** — address these in your queries:

  1. **Column order changed**: `RAW_BALANCE` now appears before `BALANCE` (affects `SELECT *` queries)
  2. **Balance data types changed**:
     * `BALANCE`: **Integer (Wei)** → **Float (ETH)**
       * Old: `32787459477` (Wei)
       * New: `32.78744189` (ETH)
     * `EFFECTIVE_BALANCE`: **Integer (Wei)** → **Float (ETH)**
       * Old: `32000000000` (Wei)
       * New: `32` (ETH)
  3. **New columns**: `WITHDRAWAL_PREFIX`, `WITHDRAWAL_ADDRESS`, `UNIQUE_ID`, `_UPDATED_AT`
  4. **Removed column**: `INDEX` (replaced by `UNIQUE_ID`)
  5. **Type changes**: `EXECUTION_OPTIMISTIC` may be empty string; `FINALIZED` behavior may differ
</Warning>
