Search projects, hackathons, sponsors and tech

    ← All projects

    Demo

    About

    The problem it solves ### The Problem It Solves Traditional yield-generating DeFi protocols let users earn interest, but redirecting that yield to social impact is often **manual, fragmented, and opaque**. Donors must research charities, track allocations, and make multiple transactions, which is **time-consuming and prone to mistakes**. **Good Karma Vault** simplifies this by: - Automatically routing yield to **verified public goods projects** based on user-selected impact profiles. - Offering **preset allocation strategies** like Environment, Education, or Dev Tools, making impact decisions effortless. - Ensuring **transparent and auditable donations** on-chain, so users can verify exactly where their contributions go. **Use cases:** - Individuals who want to earn yield while **supporting social causes automatically**. - Crypto users looking for **impactful, hassle-free philanthropy**. - Developers or organizations who want a **plug-and-play solution** to fund public goods using DeFi strategies.

    How it's made

    Challenges we ran into ### **Challenges I Ran Into** One major challenge was **integrating the ERC4626 vault logic with external yield sources** like Aave. Ensuring deposits, withdrawals, and yield harvesting were correctly accounted for required careful handling of token decimals and share-to-asset conversions. I resolved this by stepping through the contract flow with Forge tests and comparing behavior against known reference vault implementations. Another challenge was **allocation logic for distributing yield across multiple public goods categories**. Designing this required a clear internal accounting model so that yield could be tracked, stored, and routed transparently. I solved this by structuring allocation configs as on-chain structs and exposing view functions for the frontend, keeping everything verifiable. Finally, **time constraints** were a real factor. With limited time, I prioritized **core functionality and trustless transparency** over extra features. This made the project UI not consistent and demo-ready.