Skip to content

block production: wire Gloas builder bid fetch and notify - #822

Draft
NikhilSharmaWe wants to merge 2 commits into
grandinetech:glamsterdam-devnet-7from
NikhilSharmaWe:gloas-builder-api-propose
Draft

block production: wire Gloas builder bid fetch and notify#822
NikhilSharmaWe wants to merge 2 commits into
grandinetech:glamsterdam-devnet-7from
NikhilSharmaWe:gloas-builder-api-propose

Conversation

@NikhilSharmaWe

Copy link
Copy Markdown
Contributor

Part of #769
Depends on #819.

Summary

Wires the Gloas Staked Builder API into block production:

  • During propose, fetch an execution payload bid over HTTP in parallel with local payload prep, validate it through fork choice (on_api_execution_payload_bid), then select the highest-value bid among accepted HTTP and gossip bids (self-build if none).
  • Optionally sign RequestAuth with local keys when a bid fetch will run.
  • After gossiping the signed beacon block, notify the builder via submitSignedBeaconBlock for external builders (best-effort). Accepted HTTP bids are also re-gossiped so peers can see them before the block.

Behavior

  • Pre-Gloas path is unchanged (blinded header / post_blinded_block).
  • On Gloas, gossip remains the primary bid source; HTTP fetch is an additional path for builders that expose the Staked Builder API.
  • Ordering for external builder proposals: sign → on_own_block → gossip beacon block → HTTP notify.
  • submitSignedBeaconBlock is notify-only (202); the proposer still gossips the block.
  • Web3Signer does not support RequestAuth yet; those validators fetch without auth (logged at info).
  • HTTP preferences (submitBuilderPreferences) and skipping register_validators at Gloas are follow-ups.

Test plan

  • cargo test -p builder_api --features blst
  • cargo test -p signer -p kzg_utils --features bls/blst,kzg_utils/blst request_auth
  • On a Gloas setup with --builder-api-url: confirm HTTP 200 bids are selected and the builder is notified after gossip; 204 and invalid bids fall back to gossip/self-build; self-build skips HTTP fetch and notify; the block is gossiped regardless of notify result.

@NikhilSharmaWe NikhilSharmaWe changed the title Gloas builder api propose block production: wire Gloas builder bid fetch and notify Jul 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant