Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions EIPS/eip-99999.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
eip: 99999
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
eip: 99999
eip: 8014

Assigning next sequential EIP/ERC/RIP number.

Please also update the filename.

title: Builder generalized consolidation requests.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
title: Builder generalized consolidation requests.
title: Builder generalized consolidation requests

No need for full stop

description: Adds a new generalized consolidation requests to create builders.
author: Potuz (@potuz)
discussions-to: https://ethereum-magicians.org/t/eip-99999-generalized-consolidation-requests/11111
Copy link
Contributor

Choose a reason for hiding this comment

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

Please create a discussions topic in Eth Magicians using the template: https://ethereum-magicians.org/c/eips/5

status: Draft
type: Standards Track
category: Core
created: 2025-08-22
requires: 7732, 9999

Check failure on line 11 in EIPS/eip-99999.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

unable to read file `eip-9999.md`: Io

error[preamble-requires-status]: unable to read file `eip-9999.md`: Io --> EIPS/eip-99999.md:11:16 | 11 | requires: 7732, 9999 | ^^^^^ required from here | = help: see https://ethereum.github.io/eipw/preamble-requires-status/

Check failure on line 11 in EIPS/eip-99999.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

unable to read file `eip-9999.md`: Io

error[preamble-requires-status]: unable to read file `eip-9999.md`: Io --> EIPS/eip-99999.md:11:16 | 11 | requires: 7732, 9999 | ^^^^^ required from here | = help: see https://ethereum.github.io/eipw/preamble-requires-status/
---

## Abstract

This EIP adds a new [EIP-9999](./EIP/9999.md)-type generalized consolidation request allowing any active validator to become a builder.

Check failure on line 16 in EIPS/eip-99999.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

unable to read file `eip-9999.md`: Io

error[markdown-refs]: unable to read file `eip-9999.md`: Io --> EIPS/eip-99999.md | 16 | This EIP adds a new [EIP-9999](./EIP/9999.md)-type generalized consolidation request allowing any active validator to become a builder. | = help: see https://ethereum.github.io/eipw/markdown-refs/

Check failure on line 16 in EIPS/eip-99999.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

unable to read file `eip-9999.md`: Io

error[markdown-refs]: unable to read file `eip-9999.md`: Io --> EIPS/eip-99999.md | 16 | This EIP adds a new [EIP-9999](./EIP/9999.md)-type generalized consolidation request allowing any active validator to become a builder. | = help: see https://ethereum.github.io/eipw/markdown-refs/

## Motivation

[EIP-7732](./eip-7732.md) introduces new validator attributions in the consensus layer. Validators whose withdrawal credentials start with a `BUILDER_WITHDRAWAL_PREFIX` are allowed to build execution payloads to be included in other validators proposed beacon blocks. Without this EIP, any active validator that whishes to become a builder would have to withdraw their validator and redeposit with the new withdrawal credential. This EIP allows any active validator with execution withdrawal credentials to be able to convert their validator to a builder.

## Specification

### Constants

#### Consensus Layer

| Name | Value |
| - | - |
| `BUILDER_CONSOLIDATION_CALL_NUMBER` | `uint32(3)` |

### Execution Layer

No changes are expected.

### Consensus Layer

This EIP adds a new handler for the [EIP-9999](./eip-9999.md) type generalized consolidation request, with `CALL_TYPE` of value `BUILDER_CONSOLIDATION_CALL_NUMBER`. and `ARG_NUMBER` of value `0`. The consensus layer, after verifying that the `target_pubkey` field of the respective `ConsolidationRequest` object conforms to EIP-9999 and having validated the correct signature by the execution withdrawal credentials for the validator with `source_pubkey`, converts the withdrawal prefix of said validator to a `BUILDER_WITHDRAWAL_PREFIX`.

Check failure on line 38 in EIPS/eip-99999.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

unable to read file `eip-9999.md`: Io

error[markdown-refs]: unable to read file `eip-9999.md`: Io --> EIPS/eip-99999.md | 38 | This EIP adds a new handler for the [EIP-9999](./eip-9999.md) type generalized consolidation request, with `CALL_TYPE` of value `BUI... |

Check failure on line 38 in EIPS/eip-99999.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

unable to read file `eip-9999.md`: Io

error[markdown-refs]: unable to read file `eip-9999.md`: Io --> EIPS/eip-99999.md | 38 | This EIP adds a new handler for the [EIP-9999](./eip-9999.md) type generalized consolidation request, with `CALL_TYPE` of value `BUI... |

Check failure on line 38 in EIPS/eip-99999.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

unable to read file `eip-9999.md`: Io

error[markdown-link-status]: unable to read file `eip-9999.md`: Io --> EIPS/eip-99999.md | 38 | This EIP adds a new handler for the [EIP-9999](./eip-9999.md) type generalized consolidation request, with `CALL_TYPE` of value `BUI... | = help: see https://ethereum.github.io/eipw/markdown-link-status/

Check failure on line 38 in EIPS/eip-99999.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

unable to read file `eip-9999.md`: Io

error[markdown-refs]: unable to read file `eip-9999.md`: Io --> EIPS/eip-99999.md | 38 | This EIP adds a new handler for the [EIP-9999](./eip-9999.md) type generalized consolidation request, with `CALL_TYPE` of value `BUI... |

Check failure on line 38 in EIPS/eip-99999.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

unable to read file `eip-9999.md`: Io

error[markdown-refs]: unable to read file `eip-9999.md`: Io --> EIPS/eip-99999.md | 38 | This EIP adds a new handler for the [EIP-9999](./eip-9999.md) type generalized consolidation request, with `CALL_TYPE` of value `BUI... |

Check failure on line 38 in EIPS/eip-99999.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

unable to read file `eip-9999.md`: Io

error[markdown-link-status]: unable to read file `eip-9999.md`: Io --> EIPS/eip-99999.md | 38 | This EIP adds a new handler for the [EIP-9999](./eip-9999.md) type generalized consolidation request, with `CALL_TYPE` of value `BUI... | = help: see https://ethereum.github.io/eipw/markdown-link-status/

### Engine API

No changes needed.

## Rationale

Check failure on line 44 in EIPS/eip-99999.md

View workflow job for this annotation

GitHub Actions / Markdown Linter

Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "## Rationale"]

EIPS/eip-99999.md:44 MD022/blanks-around-headings/blanks-around-headers Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "## Rationale"]

Check failure on line 44 in EIPS/eip-99999.md

View workflow job for this annotation

GitHub Actions / Markdown Linter

Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "## Rationale"]

EIPS/eip-99999.md:44 MD022/blanks-around-headings/blanks-around-headers Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "## Rationale"]
This EIP enables any active validator to become a builder without affecting neither the withdrawal/exit queue nor the deposit queue. Allowing thus for a better user experience and strengthening the decentralization of the builder market.

## Security Considerations

No known security impacts.

### Backwards compatibility

This EIP introduces backward incompatible changes to the block validation rule set on the consensus layer and must be accompanied by a hard fork.

## Copyright

Copyright and related rights waived via [CC0](../LICENSE.md).
Loading