Gitcoin
EIP 1890 & EIP 6969: Lessons from In-Protocol Funding

EIP 1890 & EIP 6969: Lessons from In-Protocol Funding

the story of two EIPs that tried to enshrine public goods funding into ethereum's protocol — one died with a bang, the other with a whimper. what they taught us about credible neutrality and the path forward.

Type: Analysis Authors: @owocki

Sources:

two EIPs. two eras. two different failures. and a shared lesson about what it means to fund public goods inside a credibly neutral protocol.

this is the story of EIP 1890 and EIP 6969 — two attempts to enshrine public goods funding directly into ethereum's economic layer. neither succeeded, but together they trace an arc from naive ambition to nuanced understanding. the lessons they left behind shaped how i think about protocol-level funding today.

EIP 1890: the bang

EIP 1890 was proposed during the 2019 bear market. ethereum was hurting. prices were down. energy was low. the ethereum foundation was the primary funder of ecosystem public goods, and that concentration felt fragile.

the inspiration came from zcash, which had implemented a block rewards funding model — a percentage of every block reward flowed to a dev fund. the idea was elegant in its simplicity: if the protocol creates value, the protocol should fund its own maintenance.

the mechanism: EIP 1890 proposed introducing variables in the EVM for block rewards amount and address. a portion of ethereum's block rewards (which at the time were 3 ETH per block) could be directed to a designated address for ecosystem public goods funding. the initial values were deliberately set to zero — a gesture toward future implementation, a foot in the door.

the logic was sound on the surface. ethereum's block rewards were significant. even a small percentage could create a sustainable, decentralized funding stream that didn't depend on any single foundation's treasury or goodwill.

why it failed: i withdrew support for EIP 1890 after realizing it conflicted with one of ethereum's most important properties: credible neutrality.

credible neutrality means the protocol doesn't pick winners. it doesn't enshrine specific beneficiaries. it doesn't create political chokepoints where capture can occur. EIP 1890 would have done exactly that — it would have created an address that received protocol-level funding, and whoever controlled that address (or the governance around it) would have enormous power over the ecosystem.

the ensuing debate made this clear. the community pushed back hard, and they were right. the proposal was naive. it assumed you could route money at the protocol level without creating a political target. you can't. enshrining funding flows invites capture by specific groups, and capture undermines the very neutrality that makes ethereum valuable.

EIP 1890 died with a bang — a loud, contentious debate that clarified something important about ethereum's values.

EIP 6969: the whimper

four years later, in 2023, EIP 6969 took a different approach. instead of touching L1 block rewards, it proposed "contract-secured revenue" on ethereum layer 2s.

the mechanism was straightforward: smart contract creators could receive a portion of the gas fees generated by their contracts on L2s. deploy a useful contract, and if people use it, you earn revenue. this would enable new economic models — contract deployers could potentially tokenize and trade future contract revenue, creating a secondary market for protocol-level cash flows.

why L2? EIP 6969 was explicitly designed for L2s to avoid the credible neutrality issues that killed EIP 1890. L2s are more politically flexible than L1. they have smaller, more cohesive governance structures. they can experiment with economic models that L1 cannot and should not.

the memetics were strong — "6969" as the "give as you receive" EIP. the concept was sound. the framing was clever.

why it didn't take off: EIP 6969 didn't fail because of a dramatic debate. it failed because of institutional inertia. major L2s preferred to mirror L1's codebase. introducing divergent code — even beneficial divergent code — creates maintenance burden, security surface area, and political complexity. the path of least resistance was to do nothing.

no one opposed it loudly. no one championed it loudly either. EIP 6969 died with a whimper.

the arc between them

these two EIPs trace a journey in thinking about protocol-level public goods funding:

EIP 1890 asked: can we fund public goods from L1 block rewards? answer: no. it violates credible neutrality.

EIP 6969 asked: can we fund public goods from L2 contract revenue? answer: maybe, but no one wanted to be first.

the progression reveals something important. the problem was never purely technical. the mechanism designs were reasonable. the problem was political and institutional — who controls the money, how capture is prevented, and whether institutions will adopt unfamiliar code.

what we learned

1. credible neutrality is non-negotiable at L1. ethereum's base layer must remain neutral. any funding mechanism that creates a privileged address or a political chokepoint at the protocol level will be rejected, and rightly so. this is a feature, not a bug.

2. L2s could experiment, but chose not to. the political flexibility of L2s is real in theory but constrained in practice. L2s compete on compatibility, security, and developer experience. novel economic experiments are low priority when you're trying to attract users and maintain parity with L1.

3. the answer isn't enshrined; it's emergent. the funding mechanisms that actually work in ethereum are not protocol-level mandates. they're emergent, voluntary, and plural. gitcoin grants, protocol guild, retroPGF, octant — these work because they don't require protocol changes. they sit on top of the protocol and compete on merit.

4. from singular to plural. the instinct behind both EIPs was to find the mechanism — a single, protocol-level solution. the ecosystem has since moved toward pluralism: many mechanisms, many experiments, many approaches. no single enshrined solution. this is healthier, more resilient, and more aligned with ethereum's values.

looking forward

the failure of EIP 1890 and EIP 6969 doesn't mean in-protocol funding is a dead end forever. it means the ecosystem wasn't ready, and the approaches weren't right.

what's emerged instead is more interesting: a pluralistic funding ecosystem where revenue, yield, coalitional funding, and convertible grants coexist. where funding is embedded in economic relationships rather than mandated by protocol rules. where credible neutrality is preserved at the base layer while experimentation flourishes above it.

the journey from EIP 1890 to EIP 6969 to today's plural funding landscape is a story about maturation. about learning that the most powerful systems aren't the ones that enshrine outcomes — they're the ones that create the conditions for outcomes to emerge.

EIP 1890 died with a bang. EIP 6969 died with a whimper. what came after is more interesting than either.

Tags

researcheipcredible neutralitypublic goodsprotocol design

Related Apps

Related Mechanisms

Edit on GitHub

Updated: 2/25/2026