Devnet Progress Updates
We track the state of the Glamsterdam devnet here on each check-in, most recent first, so you can see what changed between updates rather than just the current status. Source: Forkcast — Glamsterdam.September 9, 2026
September 9, 2026
Pending — no verified update yet. The last confirmed status is the July 10, 2026 entry below; check back or see Forkcast for the latest devnet number and client readiness before relying on this page for current status.
July 10, 2026
July 10, 2026
Glamsterdam remains in Devnet. No change to the schema plan below — actively monitoring and will implement schema changes once ePBS is live on Hoodi testnet.
What Is Changing
The Glamsterdam upgrade restructures how beacon blocks are produced by enshrining the proposer-builder separation protocol directly into the consensus layer.Key Change: Block Body Structure
Before Glamsterdam, a beacon block body contains the full execution payload with transaction data:execution_payload and blob_kzg_commitments fields are absent from the block body for all slots after the fork — blob_kzg_commitments moves into the bid itself rather than the revealed payload. execution_requests is also gone from its old position, though the body retains a parent_execution_requests field (the previous slot’s requests, kept for verification) — it isn’t a clean removal.
builder_index is an index into a new, separate builder registry (beacon.raw.builders), not a validator index. Builders register and exit independently of the validator set via BuilderDepositRequest / BuilderExitRequest, and hold their own balance, deposit_epoch, and withdrawable_epoch. Do not join builder_index against beacon.raw.validators.Why This MattersePBS separates the roles of block proposers and block builders at the protocol level. Proposers commit to a builder’s bid without seeing the full payload contents, which is then attested by a Payload Timeliness Committee (PTC). This reduces MEV centralization risks and improves censorship resistance.
Impact to Allium Tables
beacon.raw.blocks — Breaking Changes
The following columns will be affected for all slots after Glamsterdam activation:
execution_requests isn’t a clean removal: the block body retains a parent_execution_requests field carrying the previous slot’s requests for verification. The current-slot requests move to the ExecutionPayloadEnvelope, gossiped separately by the builder — see the payload-envelope gap noted under New Tables. The ExecutionRequests schema also grows two new request types in Gloas, builder_deposits and builder_exits, alongside the existing deposits/withdrawals/consolidations.eth1_block_hash, eth1_block_number, and eth1_block_timestamp stay populated — Allium resolves these internally via a join to execution-layer data rather than reading them off the beacon block body, so no query changes are needed for those three columns. Use the new beacon.raw.execution_payload_bids table (see below) for builder and bid-specific information (builder identity, bid value, gas limit) that has no other source post-fork.
beacon.raw.block_rewards — Additive Changes
New columns will be added to provide explicit builder payment tracking:
No Breaking Changes: All existing columns remain available. The new
builder_payment field maps to the bid’s value field (consensus-layer payment to the proposer) — it is distinct from execution_payment, the amount the builder pays at the execution layer to fee_recipient (see beacon.raw.execution_payload_bids below). builder_payment provides explicit execution reward attribution, replacing the current fee-recipient inference method for post-fork slots.
beacon.validator.consensus_income — No Changes
This view aggregates consensus-layer rewards only (attestations, sync committee, block proposals). No structural changes are expected.
New Tables
beacon.raw.execution_payload_bids
Provides one row per slot containing the builder’s committed bid from the beacon block body.
Use this table to look up execution block hashes and builder information for post-Glamsterdam slots.
Unique Key: slot_number
beacon.raw.payload_attestations
Provides one row per Payload Timeliness Committee (PTC) attestation, recording whether the builder revealed the execution payload on time.
Unique Key: slot_number
beacon.raw.builders
Provides one row per registered builder, tracking the new builder lifecycle introduced in Gloas. Builders register and exit independently of the validator set via BuilderDepositRequest / BuilderExitRequest, and hold their own balance separate from any validator.
Unique Key: builder_index
Migration Timeline
Additive-First StrategyAllium follows an additive-first migration approach: New columns and tables appear before old columns are deprecated. Deprecated fields return NULL for post-fork slots — columns are not dropped. All changes are live on
beacon_hoodi testnet ≥4 weeks before mainnet. Historical data (pre-fork slots) remains unchanged.Action Items
Deadlines are keyed to devnet/testnet/mainnet milestones rather than fixed calendar dates — see Devnet Progress Updates for the current schedule, since Glamsterdam has slipped past its original April/May 2026 estimates.
Additional Notes
EIP-7928 (Block-level Access Lists)
EIP-7928 is included in the Glamsterdam upgrade. The GloasExecutionPayload container itself gains a block_access_list field (plus a slot_number field), so this is not purely an execution-layer-internal change — once Allium models the revealed payload (see the execution_payload_envelopes gap above), block_access_list should be included as a column.
Reference Documentation
Support
If you have questions about migrating your queries or need assistance testing against Hoodi testnet data, please contact the Allium support team.Last checked: September 9, 2026 — see Devnet Progress Updates for change history.