Skip to content
Open
Changes from all commits
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-8014.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
eip: 8014
title: Builder generalized consolidation requests
description: Adds a new generalized consolidation requests to create builders.
author: Potuz (@potuz)
discussions-to: https://ethereum-magicians.org/t/eip-8014-builder-generalized-consolidation-requests/25265
status: Draft
type: Standards Track
category: Core
created: 2025-08-22
requires: 7732, 8012

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

View workflow job for this annotation

GitHub Actions / EIP Walidator

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

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

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

View workflow job for this annotation

GitHub Actions / EIP Walidator

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

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

## Abstract

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

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

View workflow job for this annotation

GitHub Actions / EIP Walidator

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

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

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

View workflow job for this annotation

GitHub Actions / EIP Walidator

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

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

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

View workflow job for this annotation

GitHub Actions / EIP Walidator

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

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

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

View workflow job for this annotation

GitHub Actions / EIP Walidator

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

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

## 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-8012](./eip-8012.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-8014.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-8014.md | 38 | This EIP adds a new handler for the [EIP-8012](./eip-8012.md) type generalized consolidation request, with `CALL_TYPE` of value `BUI... |

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

View workflow job for this annotation

GitHub Actions / EIP Walidator

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

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

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

View workflow job for this annotation

GitHub Actions / EIP Walidator

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

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

Check failure on line 38 in EIPS/eip-8014.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-8014.md | 38 | This EIP adds a new handler for the [EIP-8012](./eip-8012.md) type generalized consolidation request, with `CALL_TYPE` of value `BUI... |

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

View workflow job for this annotation

GitHub Actions / EIP Walidator

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

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

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

View workflow job for this annotation

GitHub Actions / EIP Walidator

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

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

### Engine API

No changes needed.

## Rationale

Check failure on line 44 in EIPS/eip-8014.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-8014.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-8014.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-8014.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