Restake to grow vault
Don’t just stake, restake to grow.
Created on 6th November 2025
•
Restake to grow vault
Don’t just stake, restake to grow.
The problem Restake to grow vault solves
The Problem
DAOs often stake large amounts of ETH or LSTs (like stETH, eETH, or rETH) to earn yield.
However, that yield is usually auto-compounded into the treasury, with no direct link to ecosystem growth.
• Idle yield compounds silently
• Builders and public goods go underfunded
• There’s no automated treasury-to-ecosystem flow
The Solution
Restake-to-Grow Vault introduces programmable yield routing through Octant v2 vaults.
Here’s how it works:
- DAO deposits ETH, stETH, or eETH into the vault
- The vault allocates funds to yield strategies (Aave, EigenLayer, Yearn v3, etc.)
- When yield is harvested:
o 70% auto-compounds back to the treasury
o 30% flows into a GrowthPool smart contract - DAO governance votes on how GrowthPool funds are used (grants, incentives, bounties, etc.)
This creates a flywheel, staking yield continuously funds ecosystem growth, attracting more users and developers, and ultimately more deposits.
Challenges we ran into
Contract Architecture and Interdependencies
One of the biggest challenges was structuring how the contracts — ASSETToken, YieldDistributor, and MainVault — would interact securely. Ensuring proper constructor arguments, minting permissions, and ownership between these contracts required careful planning to prevent circular dependencies or unauthorized minting.
Constructor Argument Errors
While compiling and deploying, I encountered the error:
“No arguments passed to the base constructor. Specify the arguments or mark as abstract.”
This happened because OpenZeppelin’s Ownable contract in Solidity 0.8.x requires explicit initialization. Understanding how to correctly pass constructor arguments and call the base constructor (Ownable(msg.sender) or Ownable(initialOwner)) helped fix this.
Tracks Applied (2)
Best use of a Yield Donating Strategy
Most creative use of Octant v2 for public goods
Technologies used
Cheer Project
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.