Important
Please direct application-level proposals (ERCs) to ethereum/ERCs
and all
other proposals (EIPs) to ethereum/EIPs
.
The ERC project standardizes and provides high-quality documentation for the Ethereum application layer. This repository tracks past and ongoing improvements to the Ethereum application ecosystem in the form of Ethereum Request for Comments (ERCs). EIP-1 governs how ERCs are published.
Warning
Before you write an ERC, ideas MUST be thoroughly discussed on Ethereum Magicians or Ethereum Research. Once consensus is reached, thoroughly read and review EIP-1, which describes the EIP process.
To create a new proposal, copy the Proposal Template into the
contents
directory and rename it to 99999.md
(or 99999/index.md
if you
have additional assets). The template has more detailed instructions.
This repository is for documenting standards and not for help implementing
them. These types of inquiries should be directed to the
Ethereum Stack Exchange. For specific questions and concerns regarding
EIPs, it's best to comment on the relevant discussion thread of the EIP denoted
by the discussions-to
tag in the EIP's preamble.
If you would like to become an EIP Editor, please read EIP-5069.
All pull requests in this repository must pass checks before they can be automatically merged:
- eip-review-bot determines when PRs can be automatically merged 1
- EIP-1 rules are enforced using
eipw
2 - Markdown best practices are checked using markdownlint 2
It is possible to run the above checks and preview how proposals will render
using build-eips
. See its documentation for more details.
The canonical URL for an EIP that has achieved draft status at any point is at https://eips.ethereum.org/. For example, the canonical URL for EIP-1 is https://eips.ethereum.org/1/.
Consider any document not published at https://eips.ethereum.org/ as a working paper. Additionally, consider published EIPs with a status of "draft", "review", or "last call" to be incomplete drafts, and note that their specification is likely to be subject to change.