Skip to content

Add Gloas Builder API client and adapt execution layer (Gloas builder API 2/5) - #9804

Merged
mergify[bot] merged 1 commit into
unstablefrom
stack/ethDreamer/gloas-builder-api-stacked/add-gloas-builder-api-client-adapt-execution--5bcab56f
Aug 21, 2026
Merged

Add Gloas Builder API client and adapt execution layer (Gloas builder API 2/5)#9804
mergify[bot] merged 1 commit into
unstablefrom
stack/ethDreamer/gloas-builder-api-stacked/add-gloas-builder-api-client-adapt-execution--5bcab56f

Conversation

@ethDreamer

@ethDreamer ethDreamer commented Aug 13, 2026

Copy link
Copy Markdown
Member

Second PR of the Gloas builder API stack (builder-specs #165):

  • builder_client: relocate the legacy MEV-boost client to
    PreGloasBuilderHttpClient and add the Gloas Builder API HTTP client
    (request-auth, bid requests, preference submission, signed-block forwarding)
    plus the stateless Builders service used by block production
  • execution_layer: adopt the relocated pre-Gloas client and drop dead error
    variants

The new client is not yet wired into the beacon chain; that lands in the next
PR of this stack.

@ethDreamer

ethDreamer commented Aug 13, 2026

Copy link
Copy Markdown
Member Author

This pull request is part of a Mergify stack:

# Pull Request Link
1 Add Gloas Builder API client and adapt execution layer (Gloas builder API 2/5) #9804 👈
2 Add Gloas bid selection, block production, and bid gossip processing (Gloas builder API 3/5) #9805
3 Convert produceBlockV4 to POST and round-trip Eth-Builder-Url (Gloas builder API 4/5) #9806
4 Migrate the validator client to the Gloas builder API (Gloas builder API 5/5) #9807

@ethDreamer

ethDreamer commented Aug 13, 2026

Copy link
Copy Markdown
Member Author

Revision history

# Type Changes Reason Date
1 initial 9274899 2026-08-13 23:38 UTC
2 content 9274899 → d1cbba9 catch up to Aug 10 builder-specs #165: send Eth-Consensus-Version on bid requests and preference submissions (both now fork-versioned); builder_pubkeys threading 2026-08-13 23:38 UTC
3 rebase d1cbba9 → 490d128 (rebase only) 2026-08-14 00:03 UTC
4 rebase 490d128 → 482984b (rebase only) 2026-08-14 18:25 UTC
5 rebase 482984b → 0ca9777 (rebase only) 2026-08-17 16:52 UTC
6 rebase 0ca9777 → 510e3a2 (rebase only) 2026-08-18 17:51 UTC
7 rebase 510e3a2 → 06b84f3 (rebase only) 2026-08-19 19:31 UTC
8 rebase 06b84f3 → 2d74338 (rebase only) 2026-08-19 21:57 UTC
9 rebase 2d74338 → 120d9ca (rebase only) 2026-08-20 17:50 UTC
10 content 120d9ca → c0283d0 review response: move DEFAULT_TIMEOUT_MILLIS into the pre-Gloas client (its only consumer); add header-assertion tests for bid requests (consensus version, timing headers, accept/ssz toggle) and pref… 2026-08-20 21:41 UTC
11 rebase c0283d0 → ee05f36 (rebase only) 2026-08-20 23:35 UTC

@ethDreamer
ethDreamer force-pushed the stack/ethDreamer/gloas-builder-api-stacked/add-gloas-builder-api-client-adapt-execution--5bcab56f branch from d1cbba9 to 490d128 Compare August 14, 2026 00:03
@ethDreamer
ethDreamer force-pushed the stack/ethDreamer/gloas-builder-api-stacked/add-gloas-builder-api-client-adapt-execution--5bcab56f branch 2 times, most recently from 482984b to 0ca9777 Compare August 17, 2026 16:52
@ethDreamer
ethDreamer force-pushed the stack/ethDreamer/gloas-builder-api-stacked/add-gloas-builder-api-client-adapt-execution--5bcab56f branch from 0ca9777 to 510e3a2 Compare August 18, 2026 17:51

@pawanjay176 pawanjay176 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very neat. This was a joy to review.
Just a few notes, nothing blocking merge

Comment thread beacon_node/builder_client/src/builder_http_client.rs
Comment thread beacon_node/builder_client/src/lib.rs Outdated
.create();
assert!(request_bid(&server).await.is_none());
}
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we also add a test for checking headers are as expected?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done!

/// is likewise a proposer policy applied by the caller (see `DirectBid::min_bid`), not here. These
/// pipelines run
/// **concurrently across builders**, so a slow builder or an expensive validation for one bid
/// does not hold up the others. A failure, timeout, empty (204) response, or validation error

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, just noting that the timeout doesn't apply to the validation. So we need to make sure that validation takes predictable amount of time regardless of the content of the bid.
Probably handled in the next PR, but just flagging here in case.

@eserilev eserilev mentioned this pull request Aug 19, 2026
@ethDreamer
ethDreamer force-pushed the stack/ethDreamer/gloas-builder-api-stacked/add-gloas-builder-api-client-adapt-execution--5bcab56f branch from 510e3a2 to 06b84f3 Compare August 19, 2026 19:31
@ethDreamer
ethDreamer force-pushed the stack/ethDreamer/gloas-builder-api-stacked/add-gloas-builder-api-client-adapt-execution--5bcab56f branch from 06b84f3 to 2d74338 Compare August 19, 2026 21:58
@ethDreamer
ethDreamer force-pushed the stack/ethDreamer/gloas-builder-api-stacked/add-gloas-builder-api-client-adapt-execution--5bcab56f branch 2 times, most recently from 120d9ca to c0283d0 Compare August 20, 2026 21:41
@pawanjay176 pawanjay176 added backwards-incompat Backwards-incompatible API change gloas labels Aug 20, 2026

@pawanjay176 pawanjay176 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, lets try to get 1 and 2 in

@pawanjay176

Copy link
Copy Markdown
Member

@mergify queue

@mergify

mergify Bot commented Aug 20, 2026

Copy link
Copy Markdown

Merge Queue Status

This pull request spent 36 minutes 9 seconds in the queue, including 29 minutes 9 seconds running CI.

Required conditions to merge

Reason

Pull request #9804 has been dequeued

Mergify failed to merge the pull request. GitHub can't merge the pull request after 2 minutes of retrying.

GitHub reported a merge conflict the cached pull state does not show.

Hint

You should look at the reason for the failure and decide if the pull request needs to be fixed or if you want to requeue it.
If you do update this pull request, it will automatically be requeued once the queue conditions match again.
If you think this was a flaky issue instead, you can requeue the pull request, without updating it, by posting a @mergifyio queue comment.

Requeued — the merge queue status continues in this comment ↓.

@mergify mergify Bot added the queued label Aug 20, 2026
Base automatically changed from stack/ethDreamer/gloas-builder-api-stacked/add-builder-api-types-req-auth-domain-eth2-client--1df19d46 to unstable August 20, 2026 23:09
@mergify mergify Bot added dequeued and removed queued labels Aug 20, 2026
… API 2/5)

Second PR of the Gloas builder API stack (builder-specs #165):

- builder_client: relocate the legacy MEV-boost client to
  `PreGloasBuilderHttpClient` and add the Gloas Builder API HTTP client
  (request-auth, bid requests, preference submission, signed-block forwarding)
  plus the stateless `Builders` service used by block production
- execution_layer: adopt the relocated pre-Gloas client and drop dead error
  variants

The new client is not yet wired into the beacon chain; that lands in the next
PR of this stack.

Change-Id: I5bcab56ff499b183f26cc90697bc7c7f2baddfe7
@ethDreamer
ethDreamer force-pushed the stack/ethDreamer/gloas-builder-api-stacked/add-gloas-builder-api-client-adapt-execution--5bcab56f branch from c0283d0 to ee05f36 Compare August 20, 2026 23:35
@mergify mergify Bot removed the dequeued label Aug 20, 2026
@pawanjay176

Copy link
Copy Markdown
Member

@mergify queue

@mergify

mergify Bot commented Aug 20, 2026

Copy link
Copy Markdown

Merge Queue Status

This pull request spent 29 minutes 26 seconds in the queue, including 27 minutes 23 seconds running CI.

Required conditions to merge

@mergify mergify Bot added the queued label Aug 20, 2026
@mergify
mergify Bot merged commit 31d8cfd into unstable Aug 21, 2026
38 checks passed
@mergify mergify Bot removed the queued label Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backwards-incompat Backwards-incompatible API change gloas

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants