✨ An impact vector is a direction of positive impact that projects in the Optimism ecosystem should work towards.
As the L2 space grows more competitive, Optimism needs to maintain its early advantage and ensure it keeps improving the ROI of its grantmaking. Improving ROI means making both the process more efficient for all participants and the allocations more impactful for the ecosystem.
Data is critical for badgeholders to transition from working at the middle of the grants funnel (i.e., reviewing individual projects) to working mostly at the top and bottom of the funnel (i.e., deciding what forms of impact matter most and reviewing the distribution formula).
Badgeholders should be badgeholders because they care deeply about the health and growth of the ecosystem as a whole, not because they know the intricacies of projects. For most badgeholders, evaluating the quality of a portfolio of projects is a much better way of leveraging their time and expertise than evaluating each individual project. This should become even more apparent as the mechanism scales to more projects and larger funding pools.
My latest list of lists is just one person’s attempt to contribute to that transition.
This list measures progress against eight experimental impact vectors that, hopefully, over the long-run, prove impactful to the growth and adoption of Optimism and the Superchain. Not every vector is relevant to all projects. There are also many, many forms of impact not included here.
Each vector represents:
a quantitative impact metric (eg, a project’s contribution to sequencer fees)
measured over a discrete period of time (eg, the last 6 months)
normalized across a distribution of projects in the ecosystem (eg, all projects with onchain deployments)
The eight experimental impact vectors included here are:
Grow full-time developers. Measured by full-time developer months since the project's first commit.
Expand the open source community. Measured by GitHub users who made their contribution to a project in the last 6 months.
Support modular, permissionless contributions. Measured by highest fork count among repos owned by the project.
Be beloved in the OP community. Measured by stars received from other developers in the OP community.
Make it easier to build awesome apps. Measured by NPM downloads over last 6 months.
Grow sequencer fees. Measured by all-time OP ETH contributions.
Increase onchain activity. Measured by all-time transactions on OP Mainnet.
Grow ‘high value’ users. Measured by multi-app users on OP Mainnet with more than 30 total transactions and some activity in the last 90 days.
There is a “ninth vector” that considers past funding the project has received from the Optimism treasury. Projects that have received larger amounts of past funding receive a discount on their final token allocation.
Note: this methodology does NOT include Protocol Guild in order to prevent double-counting of other projects that are housed on the ethereum GitHub namespace (eg, geth, Solidity, etc.) or represented elsewhere (eg, Nethermind). It also does not properly capture valuable contributions from projects such as Test in Prod which have occurred mostly on forked repos.
All data come from opensource.observer. You can find the notebook used to run the analysis here and spreadsheet with summary figures here. Reach out if you want data or help forking the analysis.
For each vector, projects’ contributions are plotted on a log-normal distribution as shown in the graphic below. A project that is 2 standard deviations from the mean is “exceptional” and a project that is 1 standard deviation from the mean is “excellent”.
Projects are awarded OP tokens based on where a project is in the distribution above.
Exceptional: 2+ standard deviations = 150K OP (dark purple)
Excellent: 1-2 standard deviations = 100K OP (red)
Honorable mention: 0.5-1 standard deviations = 25K OP (light red) (Note: projects that only have honorable mentions are included in the list but not shown in the table below)
A discount is applied to projects’ token allocations based on the (self-reported) funding they’ve received in the form of OP tokens via Gov Grants, RetroPGF2 and incentive programs. (We know this is not always a complete or fully accurate picture. Please continue to DYOR.)
This discount is as high as 200K for larger projects that received large grants during Phase 0 of the governance fund.
More details on the methodologies for each impact vector are included below.
Full-time developers are GitHub users who makes code contributions more than 10 days in a given month. This vector considers a project’s cumulative full-time active developers since 2019.
Unit: Full-time developer months (cumulative)
Stats: mean of 21 months and standard deviation of 83 months
Results: 44 projects, including 5 exceptional ones
Synthetix, libp2p, Pyth Network, Nethermind, IPFS, ShapeShift DAO, Kernel, Crust Network, Dappnode, BrightID, State Channels, Giveth, Public HAUS, Gelato, Hop DAO, Flipside Crypto, Coordinape, Pocket Network, ethOS, Guild.xyz, TrueBlocks / Unchained Index, Lodestar, OpenZeppelin Contracts, Rollup.codes, Patrick Workman, Nimbus, Tenderly, beaconcha.in, Yearn, Blockscout Block Explorer, DefiLlama, Sushi, Ethereum Cat Herders, Snapshot, Kwenta, RainbowKit, Erigon, Solidity, 🏰 BuidlGuidl, ZORA, Remix Project, Gitcoin, Blocknative | Web3 Onboard, rotki
Commits aren’t the only way to contribute to a project. Other forms of contribution to an OSS project include reviewing pull requests and creating issues. This vector considers the total number of new contributors to a project, across all its repos, in the last six months.
Unit: Distinct GitHub contributors (who made their first contribution in the last 6 months)
Stats: mean of 9 contributors and standard deviation of 31 contributors
Results: 45 projects, including 13 exceptional ones
OpenZeppelin Contracts, RainbowKit, OP Reth, foundry, ethers.js, Erigon, Blockscout Block Explorer, go-ethereum, IPFS, Snapshot, libp2p, DefiLlama, Hardhat, Revoke.cash, Ethereum Attestation Service, Slither, WTF Academy, draper, Alchemy, Alloy, Department of Decentralization, L2BEAT 💗, Crust Network, Lattice (OPCraft & MUD), ChainList, EthStaker, Covalent, PatrickAlphaC, revm, beaconcha.in, Lighthouse, Remix Project, Solidity, Gitcoin, 🏰 BuidlGuidl, Tenderly, Web3js, rotki, Dappnode, Nethermind, Ethereum Cat Herders, Synthetix, Account Abstraction - ERC-4337, Sourcify, Blocknative | Web3 Onboard
Forks represents efforts to reuse, extend, or take a codebase in a different direction. This vector considers the fork count of a project’s most heavily forked repo. For projects with multiple repos, it only considers the repo with the highest number of forks.
Unit: Number of times a project’s most popular repo has been forked (all time)
Stats: mean of 33 forks and standard deviation of 257 forks
Results: 45 projects, including 8 exceptional ones
IPFS, Web3js, Solidity, Ethereum Cat Herders, DefiLlama, go-ethereum, OpenZeppelin Contracts, 🏰 BuidlGuidl, Guild.xyz, Hardhat, Slither, Sassal.eth, rotki, libp2p, EthereumETL, ethers.js, Remix Project, RainbowKit, Protofire Blockchain Learning Path, PatrickAlphaC, foundry, Lighthouse, OP Reth, Gitcoin, Nethermind, Giveth, Snapshot, Account Abstraction - ERC-4337, DappRadar, The Ethernaut, Yearn, WTF Academy, beaconcha.in, Blocknative | Web3 Onboard, Blockscout Block Explorer, Vyper, UseDApp, Dapp-Learning, TypeChain / DethCode, ChainList, Erigon, Sushi, Synthetix, CryptoZombies, Sourcify
Aggregate star counts may be a vanity metric, but stars that come solely from developers in the OP community aren’t! This vector counts the number of stars a project has received from developers within the RetroPGF 3 community, including contributors to ethereum/, optimistic-etherum/, and duneanalytics/spellbook repos. It ignores any stars to a project that a developer has also committed code to.
Unit: Number of stars a project has received (all time)
Stats: mean of 33 stars and standard deviation of 183 stars
Results: 52 projects, including 6 exceptional ones
foundry, go-ethereum, IPFS, Snapshot, DefiLlama, OpenZeppelin Contracts, OP Reth, Pyth Network, Protofire Blockchain Learning Path, Paco Bytes, Otterscan, Lighthouse, Nethermind, Remix Project, libp2p, Lattice (OPCraft & MUD), Hardhat, Giveth, Gitcoin, Frame, RainbowKit, Account Abstraction - ERC-4337, Flexible Voting, The Ethernaut, 🏰 BuidlGuidl, ZORA, Yearn, Vyper, Vectorized, TypeChain / DethCode, TrueBlocks / Unchained Index, Tenderly, Ronan Sandford, Synthetix, Sushi, Sourcify, Solidity, Slither, ShapeShift DAO, rotki, Rollup.codes, Lodestar, Dappnode, ethers.js, Ethereum Cat Herders, Boardroom, Blockscout Block Explorer, EthereumETL, Blocknative | Web3 Onboard, Erigon, CryptoZombies, Dapp-Learning
Most user-facing apps are written in JavaScript and therefore make use of NPM. The more useful packages that are available in the developer ecosystem, the easier it is for developers to build awesome apps. This vector considers the number of NPM downloads a project has had over the last 6 months.
Unit: downloads on NPM (last 6 months)
Stats: mean of 154K downloads and standard deviation of 5.9M downloads
Results: 6 projects
TypeChain / DethCode, Web3js, OpenZeppelin Contracts, Wagmi / Viem, Hardhat, ethers.js
Sequencer fees are the revenue engine of Layer 2s. This vector considers the cumulative sequencer fees contributed by a project on OP Mainnet.
Unit: Layer 2 sequencer fees (Optimism ETH)
Stats: mean of 0.03 ETH and standard deviation of 1.51 ETH
Results: 13 projects
RabbitHole, Synthetix, Sonne Finance, Lyra Finance, Gelato, Holonym, Socket, Kwenta, Across Protocol, Account Abstraction - ERC-4337, Sushi, Galxe, Velodrome
Transaction activity is the simplest way to capture that users are doing more things onchain. This vector considers the number of transactions a project has had since it deployed on OP Mainnet.
Unit: Transactions on OP Mainnet
Stats: mean of 3K transactions and standard deviation of 228K transactions
Results: 15 projects
Account Abstraction - ERC-4337, Clipper, Lyra Finance, Across Protocol, Kwenta, RabbitHole, Hop DAO, Gelato, Galxe, Sonne Finance, Sushi, Synapse Labs, Synthetix, Socket, Velodrome
High value users are defined as addresses that have done something onchain in the past 90 days, that have made more than 30 onchain transactions total, and that have interacted with at least 3 protocols. This vector considers the number of high value users a project has on OP Mainnet. A user may belong to multiple projects.
Unit: Unique addresses that fulfill ‘high value’ user criteria
Stats: mean of 289 users and standard deviation of 8,231 users
Results: 9 projects
Socket, RabbitHole, Galxe, Kwenta, Velodrome, Clipper, Clique, Sushi, Synapse Labs
Here’s a Venn diagram of high value users from within the RetroPGF 3 pool of projects.
We can also look at the (self-reported) funding received by projects in the form of OP tokens via Gov Grants, RetroPGF2 and incentive programs. Of course, this is not a complete a picture, but helpful in grouping projects into bands.
Unit: OP tokens received (excludes USD and funding from other sources)
Stats: mean of 29K OP and standard deviation of 270K OP
Results: 18 projects, including 4 exception ones
Synthetix, Velodrome, Test in Prod, TypeChain / DethCode, Lyra Finance, Yearn, Synapse DAO, Hop DAO, Agora, Across Protocol, Pairwise, Kromatika Finance, DefiLlama, Sushi, Socket, Spearbit, dForce, Slither, rotki, L2BEAT 💗, Gelato, Immunefi