gm all! Brichis here. I served on the Grants Council and on the Milestones and Metrics Council. Now the councils are dissolved and Optimism starts a new stage, so I did this analysis to close that chapter for me.
I did it for fun, to learn new tools, and to show a different perspective: the view of a former councilor. I also want to keep the lessons from Season 8 before they are lost. I do not know what future programs will look like. But I hope these results help to define the next iterations of grant programs.
I hope you enjoy it! If you have anything to add, feel free to DM me.
TL;DR
- Nine Season 8 growth programs received 2.21M OP. In the targeted contracts, the ΔTVL was +$8.00M, or $3.62 per OP delivered. Six of the nine programs were positive.
- One grant, 40acres.finance, supplied 84% of the net total.
- 5 of the 8 grants with a Milestone 1 target reached it on at least one day in the incentive window. Of the seven grants with a full-program target, one reached it.
- Programs peak early and then lose the liquidity. The median program peaked on day 56, at 41% of its window.
- 1.27M OP is still in the claim contract. It belongs to grants that did not run a program, and the grantees did not claim it.
Full report: brichis.xyz/reports/s8-growth-grants
Code and data: github.com/brichis/s8-grant-impact-analysis
Context
Across Season 8, the Council approved 24 applications and used the full 6.29M OP budget. This review measures the nine grants that claimed their OP and ran an incentive program that we can measure on-chain. For each program, the review shows three things:
- What the liquidity in the incentivized contracts did while the rewards ran.
- What the liquidity did after the rewards stopped.
- What the next program must do differently.
The data is through 2026-09-15. Two programs, Curve Lending and Velodrome, are still active. Their figures are an interim measurement at that date, and you cannot compare them directly with the seven programs that closed.
Method
Each of these points is a choice, and each choice changes the numbers. We list them so that anyone who prefers a different choice can see where the difference starts and calculate again from the same measurements.
- Metric. ΔTVL = Σ (quantity at incentive end − quantity at incentive start) × token price at the end date, over the contracts that each grant incentivized. The formula comes from the S8 Impact Measurement Methodology.
- Targeted scope. We measure only the contracts that each grant named, contract by contract. A protocol’s total TVL changes for reasons that are not related to a grant. The disadvantage of this choice is that it does not show spillover into the rest of the protocol. Oku has no contract of its own, so we measure the Morpho vault position of the 67 wallets that Oku paid.
- Window. The window starts on the first day that the program paid incentives and stops on the last day, with no season cap. This is not the official window. The official window opens at grant delivery and closes at the incentive end or at the end of Season 8 (24 December 2025), whichever comes first. All nine programs ended after that date, so the cap cuts every program short. The daily series in the repository let you apply the official window to the same measurement.
- Fixed prices. We value all quantities at one date, the incentive end. Thus, ΔTVL counts liquidity that users added, not token price changes.
- Milestones. A milestone is met if the validated daily series reached the target on any day in the window.
- Co-incentives. We do not discount co-incentives. Every grant reports at 100% attribution.
- Data sources. No grantee self-reported data is an input. All quantities come from on-chain reads. Each daily series must reproduce every on-chain checkpoint before we use it.
Key findings
What each program did
The peak is the highest value that the daily series reached in the incentive window. The milestone columns use this peak.
| Grantee | OP | S8 ΔTVL | $/OP | M1 | Total | Retention +30d | Peak |
|---|---|---|---|---|---|---|---|
| Velodrome Finance (interim) | 760,000 | −$463,690 | −0.61 | ✓ | ✓ | — | $10,446,680 |
| 40acres.finance | 200,000 | $6,757,803 | 33.79 | ✓ | ✗ | 109.0% | $7,150,411 |
| Curve Lending (interim) | 250,000 | $442,797 | 1.77 | ✓ | — | — | $3,777,080 |
| Extrafi | 100,000 | −$126,636 | −1.27 | ✓ | ✗ | 76.8% | $2,059,448 |
| Truemarkets | 70,000 | $984,742 | 14.07 | ✗ | ✗ | 43.7% | $1,776,404 |
| PancakeSwap | 600,000 | $685,923 | 1.14 | ✗ | ✗ | 61.0% | $1,512,961 |
| Hydrex | 50,000 | −$315,659 | −6.31 | ✗ | — | 33.6% | $186,224 |
| Oku | 150,000 | $37,310 | 0.25 | ✓ | ✗ | — | $37,310 |
| Super DCA | 30,000 | $1,390 | 0.05 | — | ✗ | 97.4% | $2,496 |
| Total | 2,210,000 | $8,003,979 | 3.62 | 5 met | 1 met |
Retention +30d is available only where a window closed 30 days before the cutoff.
Figure 1 · Peak reached vs. where it ended
Velodrome reached +$10.4M and is now less than zero. 40acres kept 95% of its peak.
Concentration. 40acres.finance supplied 84% of the net total. Of the positive changes only, 40acres supplied 75.8%.
Figure 2 · The same nine curves, on one scale
Each line shows a program’s ΔTVL as a percentage of its own peak, against the percentage of its window. The shape repeats: an increase, a peak near the middle, and then a slow decrease. Three of the five programs that met M1 were less than that target again at their last measurement: Extrafi when it closed, and Velodrome and Curve Lending at the cutoff.
Figure 3 · The nine curves
Each panel shows a program’s daily ΔTVL. The dotted line shows the day that the incentive stopped. The shaded band shows the 30 days after it, and it does not count toward the peak. The two interim programs have no band because their window is still open.
These daily series do not always end on the last figure in the table, for two reasons:
- For the seven programs that closed, the line continues 30 days after the incentive end.
- The Velodrome series comes from Dune token transfers, and Dune does not cover Soneium. Soneium contributes −$62,904 to the ΔTVL in the table.
Where the two values are different, the table is the measurement and the line is the shape.
Lessons for future programs
1 · Judge milestones on what actually happened
A single-date checkpoint cannot show the difference between two types of program. One program reached its target and lost the liquidity. The other program never came near the target. Thus, this review uses the full window.
A possible objection is that a team can touch the target for one day and then remove the liquidity. The solution is to require an average over a set number of days. Here, the best 7-day average gives the same verdicts. This result shows that these peaks were levels that stayed for weeks, not one-day spikes.
2 · Twelve months is the allowance, three is the useful deadline
The Council approved all grants in this season between 12 September and 19 December 2025. Teams had approximately one year to do the work. The teams that delivered did not need the year.
| Stage | Median | Range |
|---|---|---|
| Application submitted → approved | 21 days | 15–59 |
| Approved → OP delivered | 41 days | 20–144 |
| OP delivered → incentives live | 3 days | −91 to 88 |
| Application → incentives live | 71 days | 51–218 |
Each stage is the median of its own distribution, so the three stages do not add up to the 71 days in the last row. “Delivered” means that the first tranche reached the grantee on-chain, so the middle stage includes the time that the grantee took to claim. A negative figure means that incentives started before the OP was delivered.
In seven of the nine programs, most of the wait came before the OP reached the grantee. The other two programs started before delivery. 40acres went from application to launch in 51 days, the best result in the cohort. Curve Lending took 218 days.
Give three months from approval to launch, not twelve, with a deadline for the final report. Include the delivery in those three months. Delivery took a median of 41 days, and the decision took 21.
3 · The extra weeks bought decay, not liquidity
The median program length was 16.6 weeks, from 9 to 31. But the peak came at a median of day 56 (week eight), and it did not come later in the longer programs. The Spearman rank correlation between program length and peak day is −0.10, which is no correlation. Eight of the nine programs peaked in the first twelve weeks. The longer windows added the decrease after the peak, not more liquidity.
If we use only the seven programs that closed, the result is the same. The median length is 14.9 weeks, the median peak is day 56, and six of the seven peaked in the first twelve weeks.
Set a fixed duration of approximately twelve weeks, with a review at week eight. Extend a program only if there is evidence that liquidity continues to increase. Nine programs cannot prove an optimal length. The sample also cannot show if a shorter program can reach the same peak. But it does show that these windows mostly paid for time after the peak.
4 · Staged payments worked, and there is OP to try to recover
Figure 4 · Where the 6.29M OP went
Only the first block funded a measured program. The third block never left the claim contract. The four blocks come from the five cycle reports of the Council and from the public delivery tracker of the Foundation. We compared them with the Hedgey claim contract on-chain.
- 2.47M OP was never released, because later tranches were conditional on progress.
- 340k OP went to grants that did not run a program. With a first tranche of 20% instead of 40%, approximately half of this amount is at risk.
- 1.27M OP went to the claim contract, and the grantees did not claim it: Morpho 600k, Tydro 600k, LiqPass 32k, Strands 28k, NEUS 8k. None of it left the contract, and this is visible on-chain. The LiqPass grant was withdrawn. Treat the 1.27M as possibly recoverable and worth the effort, not as recovered.
The councils were dissolved on 15 July 2026. The approved dissolution proposal states that the Foundation will monitor the remaining milestones through a third-party contractor. But the proposal does not say who decides what happens to OP that was released and not used. The community can help: watch whether these programs deliver, and ask for recovery where they do not.
The fifteen grants that did not run a program were approved between 23 October and 19 December 2025. Each of them reaches one year between October and December 2026.
5 · OP moved too much for plans in USD
Figure 5 · OP price across the season
The targets were in USD and did not change. OP fell 55% between the average program start and the average program end. The OP behind these grants was worth $708k at delivery and $291k when the programs ended.
The milestone report of Hydrex states that the grant structure used an OP price of $0.65. At the time of the report, the price was $0.33. A decrease of this size is also a possible cause of the low $/OP. The program had a budget worth half of the planned value, and co-incentives had the same problem. Thus, the program delivered less than the approval expected, and the target did not change.
6 · Collect the evaluation inputs at approval time
For this review, we rebuilt the incentive windows and the incentivized contracts manually, from milestone updates, social posts and on-chain data.
TVL at the price of each day, as DefiLlama and similar dashboards show it, is not a replacement. Across the eight grants with a price breakdown, the same contracts decreased by $5.62M with that method. ΔTVL at fixed prices increased by $7.97M. The $13.59M gap is token price movement, not liquidity.
A short form at approval, with an update at each milestone, can give this review automatically. The form needs:
- Incentive start and end dates, with a link to the announcement.
- Contract addresses or pool IDs for each chain, and their type.
- Incentive token and amount for each period.
- Co-incentives in token units.
7 · Size the incentive in OP, and say how you will measure a USD milestone
Write the incentive in OP, not in USD. In this season, a program promised users a fixed USD amount to keep their funds in for a set time. When OP fell, the team had to find the difference in other sources. A grant is a number of tokens, and the program must use the same unit.
A milestone can still be in USD, because a USD target is often clear to all readers. But the grant must also state how we will measure it. Public tools are sufficient for this calculation: on-chain reads from an archive node for the quantities, and DefiLlama or a price API for the prices at the fixed date. It is the same calculation that this report uses. Agree on it when the Council approves the grant, not when the Council judges it.
Limitations
- Targeted scope does not show spillover into other contracts of the same protocol.
- The window is not the official S8 window. The official window gives different figures.
- We did not find a method to verify how much co-incentive each team actually deployed, so the review does not include co-incentives.
- Curve Lending and Velodrome are still active. Their figures are an interim measurement at 2026-09-15.
- Delivery dates come from Blockscout and include the time that each grantee took to claim. The data can miss payments made after the councils were dissolved, or payments sent by a different route.
Disclosure
Because of my time on the councils, the payment data is first-hand until the councils were dissolved. This is a disclosure, not a claim of neutrality. You can reproduce all the figures from the sources in the report, and the full pipeline is public. I built the review with Claude.
This review shows only what is visible from the outside. Information from the teams is especially useful: a program that ran without a report, or a payment that I could not find.
Sources
- Full report
- Pipeline repository: measurements, Dune queries, and
cohort_summary.py, which calculates every figure - S8 Impact Measurement Methodology
- Season 8 cycle reports (41, 42, 43, 44, and the Cycle 46 and Season 8 final report), the public delivery tracker of the Foundation, and the dissolution proposals of the councils. The report links each of them.




