Skip to content

Allow builders to submit one bid per staked ETH - #5805

Open
jtraglia wants to merge 3 commits into
ethereum:masterfrom
jtraglia:builder-bid-limit
Open

jtraglia wants to merge 3 commits into
ethereum:masterfrom
jtraglia:builder-bid-limit

Conversation

@jtraglia

@jtraglia jtraglia commented Nov 6, 2026 •

Copy link
Copy Markdown
Member

Previously, nodes forwarded only the first bid from each builder for a slot and parent. Nodes now accept one bid per ETH of builder balance for each slot and parent; for example, a builder with a balance of 7 ETH can submit 7 bids. Each extra bid must still beat the highest bid seen. Instead of creating multiple builders with different keys to send multiple bids, now they can manage a single one. This should reduce state growth.

Previously, nodes forwarded only the first bid from each builder for a
slot and parent, so a builder could not update a bid once it was sent.
Nodes now accept one bid per ETH of builder balance for each slot and
parent, capped at `MAX_BIDS_PER_BUILDER_PER_SLOT` (32 for now). Each
extra bid must still beat the highest bid seen.

The limit depends on the builder's balance, so the check now runs after
the builder is loaded rather than at the top of gossip validation. The
seen-bids set becomes a counter, like Heze's inclusion list counts, and
the change is carried into Heze and the features that redefine `Seen`.
@github-actions github-actions Bot added testing CI, actions, tests, testing infra gloas eip8025 Optional Execution Proofs heze eip8321 Hash-Chain RANDAO labels Nov 6, 2026
The cap did not bound the total number of bids. Registering another
builder only takes a deposit, so a builder can split its stake across
identities and still get one bid per ETH. In practice the cap mostly
turned the limit into a flat 32 bids for well-staked builders. The bid
limit is now one bid per ETH of builder balance, with no upper bound.
The bid limit gossip test already exercises `get_builder_bid_limit`, so
these unit tests add little coverage.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

eip8025 Optional Execution Proofs eip8321 Hash-Chain RANDAO gloas heze testing CI, actions, tests, testing infra

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant