Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR extends the Builder-API for ePBS to support unstaked builders - builders who do not have staked collateral on the beacon chain.
Background
While the staked builder flow (introduced in the parent PR) allows builders with on-chain collateral to provide SignedExecutionPayloadBid directly to proposers, unstaked builders operate differently. They function similarly to current MEV-Boost relays, providing full block contents while utilizing the new ePBS primitives.
The key distinction is that unstaked builders use BUILDER_INDEX_SELF_BUILD (2**64 - 1) as their builder index, indicating that the proposer is effectively "self-building" with the unstaked builder's block contents.
New APIs
We introduce 2 new APIs for unstaked builder interactions:
This API is called by the proposer to an unstaked builder/relay. The builder returns a SignedBuilderBid containing: ExecutionPayloadHeader for the proposed block blob_kzg_commitments for any associated blobs, execution_requests and SignedExecutionPayloadBid with builder_index set to
BUILDER_INDEX_SELF_BUILD.This API is called by the proposer to submit both the SignedBeaconBlock and a SignedBlindedExecutionPayloadEnvelope to the unstaked builder. Upon receiving this, the builder validates the block and envelope signatures, unblinds the BlindedExecutionPayloadEnvelope with the full execution payload, broadcasts the SignedExecutionPayloadEnvelope to the PTC committee
Flow Overview
Relationship to Staked Builder API
This specification complements the staked builder API. Proposers can interact with both staked and unstaked builders simultaneously, choosing the best bid from either source. The builder_index field distinguishes between them:
Staked builders: Use their actual on-chain builder index
Unstaked builders: Use BUILDER_INDEX_SELF_BUILD
Disclaimer: This specification was generated using the help of AI. This specification has been drafted to understand how the Builder-API for unstaked builders could potentially look like. The author strongly discourages unstaked builders to encourage with the protocol as the staking amount for builders has gone down to 1Eth.