
OpenLeaf
Your Gateway to Treasury Transparency.
Demo
About
The problem it solves **The Problem** There are many cases of team overspending malicious meant or maybe even unknowingly doing it. Most of the cases there is way to track and see what the teams are truly up to with objectives/tasks or even knowing what kind of treasury funds they have left. **The Solution** OpenLeaf solves this by combining Transparency and Community Initiative together, by allowing protocols to showcase their funds, objectives, and give tasks to the community to forward the protocol. This allows the protocol grow and improve transparency, but what if there is a way to also earn yield on their unused funds? Protocols can do that by the Octant Yield Donating Strategy which gives protocol to choice to funds Tasks or let them withdraw the yield and keep their project alive in the future.
How it's made
Challenges we ran into **Smart Contract Architecture Complexity** The biggest challenge was designing contracts that could handle multiple use cases. Initially, we tried to create one monolithic contract, but quickly realized I needed separate contracts for project management, task handling, and vault operations. Refactoring mid-hackathon while preserving existing functionality was nerve-wracking. **Event Indexing and Real-Time Updates** Getting transaction monitoring to work reliably was a nightmare. I underestimated how complex it would be to index events across multiple contracts and wallets. The backend kept missing events due to rate limits, and implementing proper event querying with filters took way longer than expected. **Gasless Transaction Implementation** This feature nearly broke me. Implementing meta-transactions and signature verification while maintaining security standards was incredibly complex. I spent 6 hours debugging why signatures weren't validating correctly, only to discover I was using the wrong chain ID in my signing process. **Frontend State Management** Coordinating real-time updates between contract events and UI state was chaotic. Every time a task was created or payment was made, multiple components needed to refresh. Without proper time to implement a robust state management solution, the UI felt clunky and often showed stale data. **Time Pressure vs. Feature Scope** The scope was too ambitious for ~7 Days. We had to continuously cut features - initially planned multi-chain support, advanced task categories, and reputation systems all got scrapped. Making these decisions while under pressure was stressful. **Testing with Limited Time** Manual testing everything was exhausting. No time for proper unit tests meant lots of last-minute bugs discovered during the demo preparation. The yield vault integration particularly suffered from this. Despite these challenges, the hackathon environment forced creative problem-solving and rapid iteration that ultimately made the core platform functional.