EIPs and ERCs are often used interchangeably, but they describe two distinct things. An Ethereum Improvement Proposal (EIP) is the broad governance format used to propose any change to Ethereum, ranging from consensus rules to wallet RPC behavior. An Ethereum Request for Comments (ERC) is one specific category of EIP that defines application-level standards, such as the token interfaces that wallets and dapps rely on. Every ERC is an EIP; not every EIP is an ERC.
The distinction matters because the two operate at different layers. A change to how blocks are validated requires every Ethereum client to update. A new token standard only requires the contracts and apps that opt into it. Both routes start in the ethereum/EIPs GitHub repository, where authors open pull requests and editors assign numbers.
What Is an EIP?
An EIP is a design document that describes a proposed change to Ethereum. The format was introduced in October 2015 by Martin Becze, Hudson Jameson, and others, modeled after Bitcoin Improvement Proposals (BIPs) and Python Enhancement Proposals (PEPs). Each EIP includes a header, abstract, motivation, technical specification, rationale, and security considerations.
EIPs are tracked in three top-level categories defined by EIP-1, the meta-process document:
Standards Track — proposals that affect most or all Ethereum implementations. Subdivided into Core, Networking, Interface, and ERC.
Meta — proposals about the EIP process itself, such as EIP-1 (the process) or EIP-5069 (editor handbook).
Informational — proposals that describe design issues or guidelines without specifying a new feature.
As of late 2024 the repository contains over 7,500 numbered EIPs, with roughly 400 in Final status according to the official EIPs index. The vast majority are still Draft, Stagnant, or Withdrawn, which reflects how the process filters ideas before they become standards.
What Is an ERC?
An ERC is the application-layer subset of Standards Track EIPs. The category covers smart contract interfaces, wallet behaviors, and metadata schemas — anything that lives above the protocol but needs interoperability between independent implementations. The ERC index lists every proposal in this category, from token contracts to message-signing formats.
The most widely deployed ERCs include:
ERC-20 — fungible token interface authored by Fabian Vogelsteller and Vitalik Buterin in November 2015. Defines six required functions including
transferandbalanceOf. Powers stablecoins like USDC, USDT, and DAI.ERC-721 — non-fungible token interface authored by William Entriken and others in January 2018. The standard behind CryptoPunks, Bored Ape Yacht Club, and Uniswap v3 liquidity positions.
ERC-1155 — multi-token standard from Enjin (June 2018) that lets a single contract manage fungible, non-fungible, and semi-fungible tokens. Used heavily in onchain gaming.
ERC-4626 — tokenized vault standard finalized April 2022. Adopted by Yearn, Morpho, and most ERC-20 yield protocols to make deposits and shares interchangeable across integrators.
ERC-7683 — cross-chain intents standard published May 2024 by Uniswap and Across. Defines a shared
GaslessCrossChainOrderstruct so solvers can fill orders from any compatible system.
How Are EIPs and ERCs Numbered and Tracked?
Both EIPs and ERCs share a single numerical sequence. EIP-20 and ERC-20 refer to the same document; the prefix changes based on which category readers are emphasizing. The number is assigned by an EIP editor when a pull request is merged into draft status.
The numbering scheme has produced some confusion. Early proposals were filed only as ERCs because the Standards Track distinction came later, which is why the foundational token standards live at low numbers. Newer ERCs sit in the four- and five-digit range. The repository now uses separate folders — EIPS/ and ERCS/ — but the underlying number space is unified.
Status flows through six stages: Draft, Review, Last Call, Final, Stagnant, and Withdrawn. Only Final EIPs and ERCs are considered settled. Stagnant EIPs are those untouched for six months in Draft status; they remain in the repository but signal that authors moved on. The EIPs Insight dashboard tracks status counts in real time.
EIP vs ERC: Side-by-Side Comparison
Dimension | EIP (broader) | ERC (subcategory) |
Scope | Any proposed change to Ethereum | Application-level standards only |
Layer touched | Consensus, networking, RPC, or apps | Smart contracts and wallet interfaces |
Activation | Hard fork (Core), client update (Networking/Interface), or opt-in (ERC) | Opt-in by contract authors |
Examples | EIP-1559 (fee market), EIP-4844 (blobs), EIP-7702 (set EOA code) | ERC-20, ERC-721, ERC-4626, ERC-7683 |
Reviewers | Core developers, client teams | Smart contract developers, wallet teams |
Failure cost | Network-wide consensus issue | Broken contract or interface, isolated to adopters |
Why the Distinction Matters for Developers
Builders working on stablecoin payments, treasury automation, or cross-chain transfers encounter both layers in practice. A new ERC like ERC-7683 cross-chain intents changes how applications coordinate orders, but it does not require an Ethereum hard fork. Adoption depends on solvers, wallets, and protocols choosing to integrate it. Cross-chain orchestration platforms like LI.FI, Across, and Eco have begun adding ERC-7683 support since the standard's mid-2024 publication.
A core EIP like EIP-4844 (blob transactions) is the opposite. It activated on March 13, 2024 with the Dencun hard fork, which required every Ethereum client — Geth, Nethermind, Erigon, Besu, Reth — to ship updated software within the same window. Layer 2s like Arbitrum, Optimism, and Base saw posting costs drop by roughly 90% within days of activation, according to Dune dashboards tracking blob fees.
Knowing whether a proposal is an ERC or a Core EIP tells builders what their integration timeline looks like. ERCs are usually a contract change. Core EIPs require waiting for a hard fork and confirming client compatibility across the chains a team supports.
How to Read an EIP or ERC
Every EIP follows the format defined by EIP-1. The standard sections are abstract, motivation, specification, rationale, backwards compatibility, test cases, reference implementation, and security considerations. Skipping straight to the specification is tempting but usually wrong; the motivation and rationale sections explain why the design is shaped the way it is.
For developers integrating a standard, the order of priority is usually:
Specification — the binding interface or behavior. Function signatures, event signatures, transaction formats, calldata layouts.
Test cases — concrete examples that an implementation must satisfy. Useful for writing test suites against your own integration.
Reference implementation — code or pseudocode demonstrating the standard. Many ERCs link to OpenZeppelin Contracts or eth-infinitism reference repositories.
Security considerations — known attack vectors and mitigations. Reading this section before writing the integration saves audit findings later.
Rationale — design choices and alternatives. Explains why some "obvious" simplification was rejected.
For Core EIPs, the specification is also where activation parameters live. EIP-1559 specified the 30M gas limit and 12.5% adjustment cap; EIP-4844 specified the 6-blob cap and 18-day pruning window; EIP-7702 specified the Type 4 transaction format and authorization signature scheme.
Examples in Practice
Three concrete examples show how the EIP/ERC distinction plays out in real integrations:
Adding a new stablecoin to a payment app. The integration touches one ERC: ERC-20. Reading and implementing the standard takes hours, not weeks. The contract is the same regardless of which chain hosts the stablecoin. No protocol change, no hard fork.
Adding gas-sponsored onboarding. The integration touches at least three EIPs and ERCs: ERC-4337 for smart-account architecture, ERC-7702 for EOA delegation, and EIP-712 for typed-data signatures. Each adds a layer; the wallet vendor chooses which path to expose to users.
Supporting a new L2 with cheaper fees. The integration depends on a Core EIP: EIP-4844. The L2 inherits blob-data economics from Ethereum mainnet's hard fork. Quote engines need to update their fee estimation logic, but the change is mostly transparent to end users.
The pattern is consistent. ERCs are integration points for application developers. Core EIPs are infrastructure shifts that integrators absorb but rarely have to reason about directly, beyond knowing the activation date and any parameter changes.
Common Misconceptions About EIPs and ERCs
Three patterns of confusion show up regularly in developer forums and grant applications:
"ERC means the same as EIP." Not exactly. Every ERC is an EIP, but most EIPs are not ERCs. EIP-1559, for example, is a Core EIP that changed the fee market — calling it ERC-1559 is incorrect.
"Final ERCs are mandatory." ERCs are voluntary standards. Contracts can implement none, some, or extended versions of them. ERC-20 itself has no enforcement; the standard works because wallets and exchanges agreed to read the same six function signatures.
"EIP authors decide which proposals ship." Authors propose; client teams and the broader community decide. The All Core Devs (ACD) calls, hosted weekly on Zoom and recorded on the Ethereum Protocol YouTube channel, are where Core EIPs get scheduled into hard forks. ERCs do not need ACD approval — they need adoption.
How Eco Tracks EIP and ERC Activity
Eco's stablecoin orchestration network spans 15 chains, most of which are EVM-equivalent and inherit Ethereum's EIP cadence. When a Core EIP activates, the integrated chains absorb the change through their own client upgrades. When a new ERC reaches Final — particularly ones touching tokens, intents, or account abstraction — Eco's routing layer evaluates whether to support it as a primitive in intent-based routing or stablecoin swap aggregation.
For teams building on stablecoins, the ERC layer matters more day-to-day. Token contracts, signing schemes, vault interfaces, and intent formats all live there. Eco's developer-facing surfaces use ERC-20 for stablecoin movement, EIP-712 typed-data signing for intents, and is evaluating ERC-7683 for cross-orchestrator interoperability.
FAQ
Is every ERC also an EIP?
Yes. ERC is one of four subcategories under Standards Track EIPs, alongside Core, Networking, and Interface. Every ERC went through the EIP submission process and shares the same numerical sequence. The terms refer to the same document; "ERC" emphasizes the application-standards lens.
Can a proposal change category from EIP to ERC?
Rarely, but it has happened during early review. Editors may reclassify a proposal if it touches application interfaces rather than client behavior. Once a proposal reaches Final, the category is fixed. Most reclassifications happen in Draft status before community review begins.
Who maintains the EIP and ERC repositories?
Both live in the same ethereum/EIPs repository on GitHub, maintained by a rotating group of EIP editors. The editor list is public and includes contributors like Sam Wilson, Pandapip1, and Gajinder. Editors do not approve content — they enforce format rules and assign numbers.
How long does it take an ERC to be widely adopted?
Adoption varies widely. ERC-20 took roughly two years to dominate token issuance after its 2015 publication. ERC-4626 reached majority share among new yield vaults within 18 months of finalization. Some ERCs, like ERC-777, never achieved meaningful adoption despite reaching Final status because contract authors preferred the original ERC-20 interface.
What's the difference between ERC-20 and EIP-20?
None. They refer to the same document — Fabian Vogelsteller's November 2015 fungible token standard. The proposal predates the formal split between Core and ERC categories, which is why both names are valid. Most documentation today uses ERC-20.

