Repository navigation
Conversation
hangleang
force-pushed
the
feature/gloas-builder-beacon-apis
branch
from
October 2, 2026 07:01
8f7f393 to
06a3308
Compare
hangleang
force-pushed
the
feature/gloas-builder-beacon-apis
branch
from
October 8, 2026 07:49
06a3308 to
699f519
Compare
hangleang
force-pushed
the
feature/gloas-builder-beacon-apis
branch
from
October 8, 2026 08:56
699f519 to
175c9e2
Compare
There are two parts still missing: request bids from `builders` API therefore no `Eth-Builder-Url` in the response headers
… validator When proposing after the Gloas fork, the built-in validator resolves the key's builder config, signs a `BuilderRequestAuth` for each builder and requests bids alongside the local payload. If a builder-API bid wins, the signed block is also forwarded to that builder. In the epoch before each of its proposals, the validator submits builder preferences to the key's builders and caches the signed auths, so the proposal can reuse them instead of signing again.
`PayloadBuilderApi` now sends getExecutionPayloadBid, submitBuilderPreferences and submitSignedBeaconBlock instead of failing with stub error `NotImplemented`.
hangleang
force-pushed
the
feature/gloas-builder-beacon-apis
branch
from
October 10, 2026 07:27
175c9e2 to
0ed35bc
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Specs: beacon-APIs#630, keymanager-APIs#88 (with #93, #94), builder-specs#138 (with #165, #168)
Beacon API
POST /eth/v4/validator/blocks/{slot}takes aBuilderConfigbody, requests a bid from each builder entry while the block body is built, and picks the winner bybuilder_boost_factor * (value + min(execution_payment, max_execution_payment))against the local payload. It validates those bids against the block production state before selection. ReturnsEth-Builder-Urlwhen a builder API bid wins.POST /eth/v2/beacon/blocksforwards the signed block to theEth-Builder-Urlbuilder after publishing.POST /eth/v1/validator/builder_preferencessubmits each entry to its builder.Keymanager API
GET/POST/DELETE /eth/v1/validator/{pubkey}/builder_config.GETreturns the fully resolved config,POSTreplaces it,DELETEresets it. Invalid configs (missingurl, duplicateurl+auth_data, a nonzeromax_execution_paymentwithout the opt-in) are rejected.validators.ymlloads.Built-in validator
Builder API client
getExecutionPayloadBid,submitBuilderPreferencesandsubmitSignedBeaconBlock.--builder-api-format. A builder that answers an SSZ body with 415 or 406 gets the request again in JSON, and JSON from then on.Testing
Kurtosis devnet with buildoor
builder_apienabled connected to a grandine node with Lodestar VC (beacon api path) and a grandine node with its built-in validator.