For EIP champions
Make your EIP legible
Most people deciding whether to back your EIP are not on the client teams. They are app
developers, rollup teams, wallet maintainers, stakers, and node operators, and what they
read is the Forkcast summary of your proposal, not the spec. You are the person best
placed to write that summary. This page explains each field, what a good answer looks
like, and how to open a PR with it.
This is a guide for writing data, not a governance requirement. Nothing here is a
prerequisite for proposing an EIP or getting it considered for a fork.
The champion-owned subset of the schema. Copy this into
src/data/eips/{id}.json, replace the placeholders,
and delete any optional block you are not using.
{
"id": 9999,
"layer": "EL",
"reviewer": "expert",
"discussionLink": "https://ethereum-magicians.org/t/your-thread/00000",
"laymanDescription": "Two or three plain sentences. What changes, for someone who does not read specs.",
"benefits": [
"One concrete, checkable claim, ideally under ~16 words",
"Another one",
"Aim for four to six of these total"
],
"tradeoffs": [
"An honest cost, risk, or burden this introduces",
"Use null instead of an empty array only if there truly are none"
],
"stakeholderImpacts": {
"endUsers": { "description": "About 20 words, or 'No impact.'" },
"appDevs": { "description": "About 20 words, or 'No impact.'" },
"walletDevs": { "description": "About 20 words, or 'No impact.'" },
"toolingInfra": { "description": "About 20 words, or 'No impact.'" },
"layer2s": { "description": "About 20 words, or 'No impact.'" },
"stakersNodes": { "description": "About 20 words, or 'No impact.'" },
"clClients": { "description": "Implementation complexity, not user benefit." },
"elClients": { "description": "Implementation complexity, not user benefit." }
},
"faq": [
{ "question": "What's in EIP-9999?", "answer": "Markdown is supported, including **bold**, lists, links, and \n\n for paragraphs." },
{ "question": "What problem does it solve?", "answer": "..." }
],
"supportingDocuments": [
{ "label": "Benchmark results", "url": "https://..." }
],
"forkRelationships": [
{
"forkName": "Glamsterdam",
"statusHistory": [{ "status": "Proposed", "call": "acde/999", "date": "2026-01-01" }],
"champions": [{ "name": "Your Name", "discord": "@yourhandle" }]
}
]
}