📝 About the Project

Inspiration

Open-source software powers almost everything in the modern digital world, yet contributors and maintainers often struggle with incentivizing bug fixing and keeping projects secure. Inspired by the thriving decentralized communities in Web3, we wanted to leverage blockchain transparency and programmable rewards to bring a trustless, efficient solution to open-source bug bounties. Our goal: make it easy, safe, and fair for projects to reward valuable security and development contributions worldwide.

What We Learned

  • Smart Contract Design: We deepened our understanding of Ethereum-compatible blockchains (Moonbeam/Moonbase Alpha) and the complexities of designing secure, upgradeable smart contracts, as well as token approval flows and payout automation.
  • Frontend & Blockchain Integration: Integrating on-chain logic with a modern React app demonstrated the nuances of dApp UX, wallet connections, and managing asynchronous blockchain transactions in the UI.
  • Voting Mechanisms: Implementing community-driven voting required careful consideration of consensus math (requiring $70\%$ approval and at least 3 voters):

$$ \text{Approval Rate} = \frac{\text{Yes Votes}}{\text{Yes Votes} + \text{No Votes}} \times 100\% $$

and automatic reward triggers.

How We Built It

  • Frontend: Built with React (TypeScript, Vite, shadcn-ui, Tailwind CSS) for a fast, responsive user experience.
  • Blockchain Layer: Solidity smart contracts deployed on the Moonbase Alpha testnet (EVM-compatible Polkadot parachain), handling bounties and voting logic.
  • Wallet Connectivity: Powered by wagmi, viem, and Web3Modal for smooth wallet onboarding.
  • End-to-End Workflow: Includes bounty creation, PR submission, community voting, and instant payout—all on-chain and transparent.

Challenges Faced

  • Contract Security & Testing: Ensuring the smart contract was robust, guarded against malicious submissions/votes, and handled edge cases like double-voting or failed payouts required rigorous testing.
  • Handling Network/Chain Support: Moonbeam/Moonbase introduces some quirks vs. Ethereum mainnet, especially regarding wallet and RPC support.
  • Token Approval User Flow: Many users are unfamiliar with ERC-20 token approvals (for wDOT). Guiding them through that flow on testnet required clear UI and error handling.
  • Decentralized Voting Edge Cases: We had to address voting coordination, minimum participant requirements, and secure calculation of results so that rewards were issued fairly.
  • Frontend ↔ Smart Contract Sync: Keeping UI state in sync with on-chain events (using polling, error recovery, etc.) was a technical and design challenge.

Built With

  • alpha
  • blockchain:
  • deployment:
  • frontend:-react
  • hardhat
  • moonbeam/moonbase
  • tailwind-css-web3:-wagmi
  • typescript
  • vercel
  • viem
  • vite-ui:-shadcn-ui
  • web3modal-smart-contracts:-solidity
Share this project:

Updates