Skip to content

Add per-validator builder configuration API - #9864

Merged
mergify[bot] merged 17 commits into
unstablefrom
codex/feat-per-validator-builder-config
Sep 18, 2026
Merged

mergify[bot] merged 17 commits into
unstablefrom
codex/feat-per-validator-builder-config

Conversation

@jimmygchen

@jimmygchen jimmygchen commented Aug 19, 2026

Copy link
Copy Markdown
Member

Description

Adds the per-validator builder configuration endpoints from ethereum/keymanager-APIs#88.

  • GET /eth/v1/validator/{pubkey}/builder_config returns the configuration in use for the validator.
  • POST /eth/v1/validator/{pubkey}/builder_config replaces and persists the full configuration on a per-validator basis. It does not merge with the previous entry.
  • DELETE /eth/v1/validator/{pubkey}/builder_config removes the stored entry, so the validator inherits the global configuration again.

The API stores per-validator entries under validator_configs in builder_definitions.yml.

Changes made by POST and DELETE apply to subsequent builder preference publication and Gloas block production without a restart.

When auth_data is omitted, global and per-validator builder configurations use the builder URL's lowercase ASCII hostname, following ethereum/builder-specs#168, ethereum/beacon-APIs#642 and ethereum/keymanager-APIs#94. URLs with and without a trailing slash produce the same auth data.

Closes #9796
Closes #10076

@jimmygchen jimmygchen added ready-for-review The code is ready for review HTTP-API builder API gloas val-client Relates to the validator client binary and removed builder API labels Aug 19, 2026
@eserilev eserilev mentioned this pull request Aug 19, 2026
@ethDreamer
ethDreamer requested a review from jxs as a code owner August 19, 2026 19:31
@mergify

mergify Bot commented Aug 19, 2026

Copy link
Copy Markdown

This pull request has merge conflicts. Could you please resolve them @jimmygchen? 🙏

@mergify mergify Bot added waiting-on-author The reviewer has suggested changes and awaits thier implementation. and removed ready-for-review The code is ready for review labels Aug 19, 2026
@jimmygchen
jimmygchen force-pushed the codex/feat-per-validator-builder-config branch from f0f272a to c3f6c06 Compare August 21, 2026 06:35
@mergify mergify Bot added ready-for-review The code is ready for review and removed waiting-on-author The reviewer has suggested changes and awaits thier implementation. labels Aug 21, 2026
@mergify

mergify Bot commented Aug 21, 2026

Copy link
Copy Markdown

This pull request has merge conflicts. Could you please resolve them @jimmygchen? 🙏

@mergify mergify Bot added waiting-on-author The reviewer has suggested changes and awaits thier implementation. and removed ready-for-review The code is ready for review labels Aug 21, 2026
@jimmygchen
jimmygchen force-pushed the codex/feat-per-validator-builder-config branch from c3f6c06 to 3c16568 Compare August 21, 2026 15:07
@chong-he chong-he added the under-review A reviewer has only partially completed a review. label Aug 24, 2026
@jimmygchen
jimmygchen force-pushed the codex/feat-per-validator-builder-config branch from 3c16568 to d4866c8 Compare August 26, 2026 00:41
Base automatically changed from stack/ethDreamer/gloas-builder-api-stacked/migrate-validator-client-gloas-builder-api-gloas--aeeaf620 to unstable September 18, 2026 01:17
@mergify

mergify Bot commented Sep 18, 2026

Copy link
Copy Markdown

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

@jimmygchen jimmygchen added ready-for-review The code is ready for review and removed under-review A reviewer has only partially completed a review. waiting-on-author The reviewer has suggested changes and awaits thier implementation. labels Sep 18, 2026
Changes:
Derive default auth data from the lowercase ASCII hostname.
Preserve explicit auth bytes across signing and keymanager configuration.
Cover URL spelling, IPv6, override and API response behavior.
@mergify

mergify Bot commented Sep 18, 2026

Copy link
Copy Markdown

Some required checks have failed. Could you please take a look @jimmygchen? 🙏

@mergify mergify Bot added waiting-on-author The reviewer has suggested changes and awaits thier implementation. and removed ready-for-review The code is ready for review labels Sep 18, 2026
Changes:
Use recognised wording in the builder configuration guide.
Add the specification term punycode to the spelling dictionary.
@mergify mergify Bot added ready-for-review The code is ready for review and removed waiting-on-author The reviewer has suggested changes and awaits thier implementation. labels Sep 18, 2026

@chong-he chong-he 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.

Looks good to me

@mergify

mergify Bot commented Sep 18, 2026

Copy link
Copy Markdown

Merge Queue Status

This pull request spent 30 minutes 34 seconds in the queue, including 29 minutes 10 seconds running CI.

Required conditions to merge

@mergify mergify Bot added the queued label Sep 18, 2026
@mergify
mergify Bot merged commit 8459a76 into unstable Sep 18, 2026
40 checks passed
SamAg19 pushed a commit to SamAg19/lighthouse that referenced this pull request Sep 18, 2026
## Description

Adds the per-validator builder configuration endpoints from [ethereum/keymanager-APIs#88](ethereum/keymanager-APIs#88).

- `GET /eth/v1/validator/{pubkey}/builder_config` returns the configuration in use for the validator.
- `POST /eth/v1/validator/{pubkey}/builder_config` replaces and persists the full configuration on a per-validator basis. It does not merge with the previous entry.
- `DELETE /eth/v1/validator/{pubkey}/builder_config` removes the stored entry, so the validator inherits the global configuration again.

The API stores per-validator entries under `validator_configs` in `builder_definitions.yml`.

Changes made by `POST` and `DELETE` apply to subsequent builder preference publication and Gloas block production without a restart.

When `auth_data` is omitted, global and per-validator builder configurations use the builder URL's lowercase ASCII hostname, following [ethereum/builder-specs#168](ethereum/builder-specs#168), [ethereum/beacon-APIs#642](ethereum/beacon-APIs#642) and [ethereum/keymanager-APIs#94](ethereum/keymanager-APIs#94). URLs with and without a trailing slash produce the same auth data.

Closes sigp#9796
Closes sigp#10076


Co-authored-by: Mark Mackey <mark@sigmaprime.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gloas HTTP-API queued ready-for-review The code is ready for review val-client Relates to the validator client binary

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants