
enDAOment
tbd
About
The problem it solves Endowments in Latin America are limited in reach, concentration, and trust. Private donations represent only a fraction of GDP, participation is dominated by institutions, and public trust in NGOs remains low. Funding for students and research has declined significantly over the past decade, deepening dependency and reducing autonomy. Current systems are centralized, slow, and often shaped by opaque interests. Individuals who want to support education or public goods lack a direct and transparent mechanism to contribute and see impact. enDAOment is a decentralized coordination layer that transforms yield into sustainable, programmable funding. Built on top of Octant, Aave, and ERC-4626 infrastructure, it enables any group to manage yield flows with voting logic and transparency. Two core problems: - Lack of autonomy in how yield is distributed in existing protocols - Missing infrastructure for groups to vote and govern public goods funding over time It provides a modular AllocationManager contract that connects directly to a YieldDonatingStrategy vault. This allows depositors to generate Aave-based yield while using on-chain voting to decide how that yield is allocated. The system enables student groups, research communities, or university DAOs to run continuous public goods funding cycles. Stake-based power and vault shares are used as voting weights for proposal selection. Distribution happens automatically and transparently every epoch.
How it's made
Challenges we ran into Integrating the YieldDonatingStrategy with Aave V3 and Octant architecture required understanding how different components interact across multiple abstraction layers. Vaults, aTokens, and liquidity pools behave differently from typical DeFi flows. Each mechanism required careful integration to preserve yield correctness and transfer it into programmable allocation logic. Combining RegenStaker logic with AllocationManager required creating interfaces between systems with mismatched assumptions. One issue was ensuring voting weights respected both staking logic and depositor participation without overriding key properties. To solve this, we forked mainnet state and simulated full flows from deposit to vote to yield distribution. We wrote isolated tests for each component and full integration tests to validate time-based epochs, profit redemption, and correct vote aggregation.