Nine Season 8 growth programs, measured contract by contract on-chain, day by day: what the liquidity in the incentivized contracts did while the rewards ran, what it did afterwards, and what the next program should do differently.
Data through 2026-09-15, when the two programs still running were frozen. Page
built 2026-09-22. The ΔTVL, peak and milestone figures come from measurements committed to a
public repository: cohort_summary.py
works out the figures, and report_html.py
builds this page. Dates and OP amounts come from the sources listed at the end.
One way of looking at the season. These figures are a targeted measurement: the change in TVL inside the contracts each grant named, across the days it actually paid incentives, with quantities valued at one fixed date. A different formula, window or scope gives a different number.
ΔTVL is measured at fixed end-date prices, so it counts liquidity added, not token prices moving. The peak is the highest the daily series reached inside the incentive window, and the milestone columns are judged on it.
Each program's highest day against its closing figure. Velodrome reached +$10.4M and is now below zero. 40acres kept 95% of its peak.
| Grantee | OP | S8 ΔTVL | $/OP | M1 target | M1 | Total target | Total | Retention +30d | Peak | Length |
|---|---|---|---|---|---|---|---|---|---|---|
| Velodrome Finance interim | 760,000 | −$463,690 | −0.61 | $3.20M | ✓ | $8.00M | ✓ | — | $10,446,6802026-03-20 | 31 wk |
| 40acres.finance | 200,000 | $6,757,803 | 33.79 | $3.50M | ✓ | $9.00M | ✗ | 109.0% | $7,150,4112026-01-25 | 15 wk |
| Curve Lending interim | 250,000 | $442,797 | 1.77 | $3.00M | ✓ | — | — | — | $3,777,0802026-07-07 | 22 wk |
| Extrafi | 100,000 | −$126,636 | −1.27 | $1.50M | ✓ | $3.00M | ✗ | 76.8% | $2,059,4482026-01-28 | 15 wk |
| Truemarkets | 70,000 | $984,742 | 14.07 | $2.00M | ✗ | $4.00M | ✗ | 43.7% | $1,776,4042025-11-30 | 20 wk |
| PancakeSwap | 600,000 | $685,923 | 1.14 | $2.64M | ✗ | $6.60M | ✗ | 61.0% | $1,512,9612026-01-21 | 30 wk |
| Hydrex | 50,000 | −$315,659 | −6.31 | $1.50M | ✗ | — | — | 33.6% | $186,2242026-01-13 | 9 wk |
| Oku | 150,000 | $37,310 | 0.25 | $25K | ✓ | $75K | ✗ | — | $37,3102026-01-28 | 10 wk |
| Super DCA | 30,000 | $1,390 | 0.05 | — | — | $150K | ✗ | 97.4% | $2,4962026-01-03 | 17 wk |
| Total | 2,210,000 | $8,003,979 | 3.62 | 5 met | 1 met |
Scroll the table sideways for the milestone, retention and peak columns. The grantee names stay in place.
Interim programs (Curve Lending, Velodrome) have no announced end date and are measured to the 2026-09-15 cutoff. Retention is only available where a window closed 30 days ago.
Each program's ΔTVL as a share of its own peak, against how far it was through its window. Point at a name above, or at a line, to follow one program through the tangle. Click a name to keep it lit. The shape repeats: climb, peak around the middle, drift down.
A milestone is met here if the target was reached on any day inside the incentive window, evidenced by the validated daily series. A single-date checkpoint, either the snapshot or the incentive end, is kept as data. But it cannot tell apart a program that reached its target and lost the liquidity from one that never got close.
The obvious objection is gaming: touch the target for a day, then pull the liquidity out. The defence is to require an average over a set number of days. Here it changes nothing: the best 7-day average produces the same verdicts. That says these peaks were levels held for weeks, not one-day spikes.
Every grant in this season was approved between 12 September and 19 December 2025: 40acres in September, and the other 23 between 2 October and 19 December. Teams had about a year to run the work end to end. A year on, several approved grants still have nothing to show, while the ones that delivered did not need the year. From the application going in to the first day of incentives the median was 71 days: 21 to the decision, 41 more until the OP reached the grantee, and 3 from delivery to launch. Each stage is the median of its own distribution, so the three do not sum to the 71 in the last row. The rows cover the same nine grants. "Delivered" means the first tranche reached the grantee on-chain, so the middle stage includes however long the grantee took to claim. A negative figure means incentives began before the OP was delivered.
| 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 |
40acres is the model case: application created Aug 25, 2025, announced as approved in the Cycle 41 report on Sep 12, OP delivered Oct 7, distribution started Oct 15, program finished Jan 27, 2026. That is 51 days from application to launch, and the best result in the cohort. At the other end, Curve Lending took 218 days. Give three months from approval to launch, not twelve, with a deadline for the final report. Count the delivery inside those three months, since getting the OP delivered took a median of 41 days, against 21 for the decision itself.
Across all nine programs, including the two still running, the median length was 16.6 weeks, from 9 to 31. But the peak landed at a median of day 56, week eight, and it did not move later in the longer programs (the Spearman rank correlation between a program's length and the day it peaked is −0.10, i.e. none; Pearson on the same pairs gives −0.13, which says the same thing). Eight of the nine peaked inside twelve weeks. What the longer windows added was the decline after the peak, not more liquidity.
Two of the nine are still running, so their length is set by the cutoff and not by the program. On the seven that closed, the median length is 14.9 weeks, from 9 to 30. The peak still lands at a median of day 56, six of the seven peaked inside twelve weeks, and the Spearman correlation is −0.21, which with seven points is no more distinguishable from none.
So: set a fixed duration of about twelve weeks, with a review at week eight, where the median program topped out. Extend only on evidence that liquidity is still climbing. Nine programs cannot prove an optimal length, and the sample says nothing about whether a shorter program would have reached the same peak. What it does say is that running past the peak, with the incentive still paying out, is what these windows mostly bought.
Only the first block funded a measured program. The third block never left the claim contract. The four blocks are built from the Council's five cycle reports and the Foundation's public delivery tracker, cross-checked against the Hedgey claim contract on-chain.
Both councils were dissolved on 15 July 2026. The remaining milestones are not unattended: the approved dissolution proposal states that any remaining milestones for existing Grants Council grants will be monitored by the Foundation through a third-party contractor. What the proposal does not settle is who decides what happens to OP that was released and never used. That is still an opening for the community at large: watch whether these programs are delivered, and press for recovery where they are not. The fifteen grants that never ran a program were approved between 23 October and 19 December 2025, so each reaches one year between October and December 2026: none has passed that mark yet, and all of them do within three months.
Targets were written in USD and stayed fixed. The incentive behind them lost more than half its value between the average start and the average end.
Hydrex's own milestone report notes the grant was structured at $0.65 OP against $0.33 at reporting time. A fall of that size is also a candidate explanation for the modest $/OP: a program designed around a budget worth twice what it turned out to be, matched by co-incentives sized the same way, delivers less than the approval assumed, and is then judged against a target that never moved.
The incentive windows and the incentivized contracts had to be rebuilt by hand for this review, from milestone updates, social posts and on-chain data. TVL valued at each date's own prices, the way DefiLlama and similar dashboards report it, is no substitute: across the eight grants with a price breakdown, the same contracts fell $5.62M measured that way, while ΔTVL at fixed prices rose $7.97M. The $13.59M gap is token price movement, not liquidity.
A short form at approval, updated at each milestone, would have produced this review automatically: incentive start and end dates with a link to the announcement; contract addresses or pool IDs per chain and their type; incentive token and amount per period; and co-incentives in token units.
Denominate the incentive itself in OP, not in USD. A program that promises users a fixed amount in USD for keeping their funds in for a set time is exposed to the token price. That happened in this season: when OP fell, the grant no longer covered the promise and the team had to find the difference elsewhere. A grant is a number of tokens, and the program should be written the same way.
A milestone can still be set in USD. That is often how a target makes sense to everyone reading it. What has to come with it is how it will be measured. That calculation is a small piece of work with public tools: on-chain reads for quantities, DefiLlama or a price API for the fixed-date prices. It is the same calculation behind every figure in this report. Agree on it when the grant is approved, not when it is being judged.
Every program's daily ΔTVL, validated against the on-chain checkpoints before it was used. These daily series do not always end on the table's closing figure, for two reasons. For the seven finished programs the line continues 30 days past the incentive end, so its last point is a later date than the one the table reports. And for Velodrome the daily series is rebuilt from Dune token transfers, which do not cover Soneium: the line therefore leaves out Soneium, which contributes −$62,904 to the table's ΔTVL, because the table is measured by direct on-chain reads across every chain in scope. Where the two differ, the table is the measurement and the line is the shape. The dotted rule marks the day the incentive stopped, and the shaded band after it is the following 30 days. It shows what the liquidity did once the rewards ended, and it never counts toward the peak. The two interim programs have no band: their window is still open.
Sources: Dune token transfers for AMM pools; pool-manager events for PancakeSwap Infinity; VotingEscrow events for 40acres' veNFT loans; daily on-chain reads for vaults, lending markets and Uniswap v4 pools.
I served on the last iteration of the Milestones and Metrics Council, so the payment data here is first-hand up to the point the councils were dissolved. That is a disclosure, not a claim of neutrality: everything above is reproducible from the sources named, and the full pipeline is public if you want to check any of it.
Each of these is a choice, and each one moves the numbers. They are listed so that anyone who would have chosen differently can see exactly where the difference enters and recompute from the same measurements.
eth_call at a
block per checkpoint, eth_getCode to date deployments by binary search,
eth_getLogs for one-off events and alchemy_getAssetTransfers for
ERC-721 movements. A local cache means every figure can be recomputed without paying for
the reads twice.output/ and data/, the Dune queries under scripts/dune/, and cohort_summary.py, which turns them into every figure on this page.If you have information to add, please get in touch. Maybe you were on one of these teams, or you know a program that ran without being reported, or you can identify a payment we could not. This review is only as good as what is visible from the outside.
Thank you to everyone who read earlier drafts of this report and sent feedback.