Skip to main content

How EIPs Get Approved: The Ethereum Governance Process

EIP approval flows from Draft to Final through community discussion, client implementation, and All Core Devs scheduling — not a vote. Here's the full process.

Written by Robert Felt


An Ethereum Improvement Proposal moves from Draft to Final through a sequence of discussion, peer review, client implementation, and — for Core EIPs — scheduling into a hard fork. There is no vote. Approval is observed: an EIP becomes Final when client teams have implemented it, validators have upgraded, and the network has activated the change at a planned block.

The process is loosely structured by design. EIP-1, the meta-process document, defines the format and the lifecycle states but deliberately leaves social coordination to forums, calls, and informal consensus. This makes Ethereum governance harder to summarize than systems with explicit voting, but the actual flow is well-defined in practice.

What Is the EIP Lifecycle?

Every EIP passes through a defined sequence of statuses. The official statuses, in order, are Draft, Review, Last Call, Final, Stagnant, and Withdrawn. Each transition has rules in EIP-1.

  • Draft — the initial state when an editor accepts the proposal into the repository. Authors can iterate freely.

  • Review — the author requests broader feedback. Marks readiness for community discussion but is not mandatory.

  • Last Call — a fixed-duration final review window (minimum 14 days). After Last Call closes without unresolved issues, the EIP can move to Final.

  • Final — implemented and accepted as a standard. For Core EIPs, this requires actual mainnet activation. For ERCs, Final means the specification is settled.

  • Stagnant — a Draft or Review EIP untouched for six months. Stagnant EIPs can be revived by the author.

  • Withdrawn — explicitly retracted by the author. Withdrawn is permanent.

The repository tracks every transition in commit history. Tools like EIPs Insight aggregate the status counts for a quick view of the proposal pipeline.

Who Are the EIP Editors?

EIP editors are a small group of volunteers who manage the repository's mechanics. Their role is procedural, not approval-granting. Editors check that:

  • The EIP follows the format defined in EIP-1.

  • The technical writing is clear enough for review.

  • The proposal cites prior art and discusses backwards compatibility.

  • The header fields (title, author, type, category, status) are correctly populated.

Editors do not decide whether an EIP is good. They do not block proposals on merit. They ensure proposals enter the repository in a reviewable state and assign EIP numbers when they merge a draft. The current editor list is published in EIP-1 and includes contributors like Sam Wilson, Pandapip1, Gajinder Singh, and Alita.

The editor handbook is maintained as EIP-5069, which documents the day-to-day procedural conventions.

How Does Discussion Happen?

Most EIP discussion happens in three places. Authors are expected to link to a public discussion thread in the EIP header.

  • Ethereum Magicians forumethereum-magicians.org is the canonical home for EIP discussion. Each EIP typically has a corresponding thread where authors and reviewers debate technical details.

  • GitHub pull requests and issues — the ethereum/EIPs repository hosts the proposals themselves. PRs accumulate review comments from editors, client teams, and security researchers.

  • Eth Researchethresear.ch is where higher-level research and rationale debates happen, especially for Core EIPs that touch consensus or cryptography.

For Core EIPs, the most consequential discussion happens on the All Core Devs (ACD) calls. These weekly Zoom calls — alternating between execution-layer and consensus-layer focus — are where client teams negotiate which EIPs make it into the next hard fork. Recordings are public on the Ethereum Protocol YouTube channel.

How Does a Core EIP Get Into a Hard Fork?

Core EIPs require coordinated client implementation. The process for a typical proposal:

  1. Author drafts the EIP and posts to Ethereum Magicians.

  2. Editors merge the PR; the EIP becomes Draft.

  3. Discussion proceeds across forums and GitHub. Author iterates the spec.

  4. Client teams (Geth, Nethermind, Erigon, Besu, Reth on the execution side; Prysm, Lighthouse, Teku, Lodestar, Nimbus on the consensus side) review feasibility.

  5. EIP enters consideration for an upcoming hard fork. The EthMagicians "AllCoreDevs Agenda" thread tracks candidates.

  6. ACD calls discuss inclusion. Calls vary in tone — sometimes a quick consensus, sometimes weeks of debate.

  7. EIP is "scheduled" for a fork (an informal commitment, not a vote).

  8. Client teams implement and ship updated software with the EIP behind a feature flag.

  9. Devnets and testnets activate the fork (Holesky, Sepolia, etc.) for several weeks.

  10. Mainnet activation block is set; clients ship release versions with the flag enabled at that block.

  11. EIP becomes Final at activation.

The "scheduling" step is the most opaque to outsiders. It is essentially a rolling-consensus negotiation among client teams, researchers, and the Ethereum Foundation's protocol team. There is no formal vote. Instead, the EIP either makes the fork or doesn't, based on whether teams agree it is ready.

How Does an ERC Get Approved?

ERCs do not require client coordination because they are application-level standards. The path to Final is shorter:

  1. Author drafts the ERC and posts to Ethereum Magicians.

  2. Editors merge the PR; status goes to Draft.

  3. Discussion and iteration proceed.

  4. Author moves the ERC to Last Call when ready, with a minimum 14-day review window.

  5. If Last Call closes without blocking issues, the ERC moves to Final.

"Final" for an ERC means the specification is settled. Adoption is separate. ERC-20 reached Final quickly but took years to dominate token issuance. ERC-777 reached Final and never achieved meaningful adoption. The Final status is a green light for builders, not a guarantee of network effect.

Why Doesn't Ethereum Vote on EIPs?

The absence of formal voting is a deliberate choice rooted in two concerns. The first is captured in the principle of "rough consensus and running code," borrowed from IETF protocol governance. Voting privileges majority preference; rough consensus privileges resolved objections. The latter produces more durable standards.

The second concern is plutocracy. Any voting scheme based on stake or token holdings would let well-capitalized actors override technical considerations. Ethereum has explicitly rejected this approach for protocol governance, although it remains the norm for individual application governance (Uniswap, MakerDAO, Aave).

The trade-off is that observers cannot point to a vote tally to confirm an EIP's status. They have to read the discussion threads, watch ACD calls, and track client implementations. Galaxy's research on Ethereum governance is one of the cleaner outside-perspective overviews.

How Are Hard Forks Named and Scheduled?

Hard forks are named in pairs: the execution-layer fork takes a city name (Frontier, Homestead, Byzantium, Constantinople, Istanbul, Berlin, London, Shanghai, Cancun, Prague), and the consensus-layer fork takes a star name (Phase 0, Altair, Bellatrix, Capella, Deneb, Electra). Forks are released together; the combined name is a portmanteau (Shanghai + Capella = Shapella, Cancun + Deneb = Dencun, Prague + Electra = Pectra).

The schedule is set by working backward from a target activation block. Once ACD agrees on an EIP set, client teams ship release candidates, devnets activate, then testnets, then mainnet. The pattern produces typical fork cadences of 6-12 months between major forks.

Fork

Date

Highlights

London

Aug 5, 2021

EIP-1559 fee market reform

The Merge (Paris)

Sep 15, 2022

Proof-of-stake transition

Shapella

Apr 12, 2023

EIP-4895 staked withdrawal

Dencun

Mar 13, 2024

EIP-4844 blob transactions

Pectra

May 7, 2025

EIP-7702 EOA delegation, EIP-7691 blob target raise

How EIPs Affect Stablecoin Infrastructure

For teams building stablecoin payments, EIP cadence determines what features become available and when. Core EIPs reset the cost and capability floor — EIP-4844 drove L2 stablecoin transaction fees down by an order of magnitude in March 2024. ERCs reset the interface floor — ERC-7683 cross-chain intents gives orchestrators a shared format that solvers across multiple platforms can fill.

Eco's stablecoin orchestration network spans 15 chains, most of which inherit Ethereum's EIP cadence. When the next Core EIP activates, integrated chains absorb the change through their own client upgrades. When an ERC reaches Final, Eco evaluates whether to support it as a routing primitive in cross-chain intent protocols or in intent-based routing. Tracking the EIP pipeline — which proposals are scheduled, which are stuck — is part of how cross-chain platforms anticipate cost and capability changes.

FAQ

Who decides which EIPs become standards?

For Core EIPs, the All Core Devs calls produce rolling consensus. There is no formal vote. Client teams agree on which proposals make a hard fork, the EIP gets implemented, and mainnet activation makes it Final. For ERCs, the author moves the proposal through Last Call to Final after the minimum 14-day review window passes without blocking objections.

Can anyone propose an EIP?

Yes. The EIP repository is open to any contributor. Editors require that the proposal follow the EIP-1 format and include the required sections (abstract, motivation, specification, rationale, security considerations). Quality of proposal does not determine acceptance into Draft — completeness and format do.

How long does an EIP take to reach Final?

Highly variable. ERCs can reach Final in months if the design is straightforward and Last Call passes cleanly. Core EIPs typically take a year or more, including drafting, discussion, client implementation, devnet testing, and hard fork scheduling. EIP-1559 took roughly two years from initial draft to mainnet activation; EIP-4844 took about three years.

What's the difference between Final and Stagnant?

Final means implemented and active (for Core EIPs) or specification-complete (for ERCs). Stagnant means a Draft or Review EIP that has not been updated in six months. Stagnant EIPs are not rejected — they can be revived. The status flags abandonment, not failure.

Where can I watch the All Core Devs calls?

Live and recorded calls are on the Ethereum Protocol YouTube channel. The schedule rotates between ACD-Execution and ACD-Consensus, typically alternating weeks. Notes and agendas are posted to the Ethereum Magicians forum and the ethereum/pm GitHub repository ahead of each call.

Did this answer your question?