Search projects, hackathons, sponsors and tech

    ← All projects

    About

    The problem it solves The Problem BaseLotto Solves Transparent & Fair Lottery System Traditional lotteries lack transparency in their drawing processes, leading to public distrust. BaseLotto uses Chainlink VRF (Verifiable Random Function) to provide cryptographically provable fairness - every winner selection is verifiable on-chain with mathematical proof that the randomness wasn't manipulated. Decentralized Prize Distribution Conventional lotteries rely on centralized authorities that can delay payouts, impose restrictions, or even withhold winnings. BaseLotto automatically distributes prizes through smart contracts - when you win, you claim your prize directly from the blockchain without intermediaries. Instant Global Access Anyone with a crypto wallet can participate from anywhere in the world without geographic restrictions, KYC requirements, or traditional banking infrastructure. This opens lottery participation to underbanked populations and provides 24/7 accessibility. Programmable Economics Smart contracts enforce a fixed 97% prize payout ratio, eliminating the opacity around where ticket sales revenue goes. Players know exactly what percentage goes to prizes versus operational costs, creating trust through transparency. Composable Gaming Infrastructure The points system and leaderboard create a foundation for building additional gaming features - tournaments, special draws, loyalty rewards, or integration with other DeFi protocols. The modular design allows for future expansion without rebuilding core infrastructure. Reduced Operational Overhead Eliminates traditional lottery infrastructure costs (physical locations, staff, complex regulatory compliance) while maintaining security and fairness, allowing for better prize-to-cost ratios for participants. Smart Contract Address(es) weekly lottery 0xB6Fe98c11D2CEB437E1C937C1FAD1F4287394e9D monthly lottery 0xa42E42005bd63e88470D0799D9047C7500Aaf33F points tracker 0x1Fc46aB6e8d6864B92A5e7E3a7885b6B7e7d173b

    How it's made

    Challenges we ran into First-Time Vibecoding, Non-Developer Background This was my first time participating in a buildathon and I'm not a developer by trade. I relied heavily on AI assistance (tryOhara) to generate the smart contract code, but quickly discovered that getting from "generated code" to "deployed and working contracts" involves numerous technical hurdles that require hands-on problem-solving. OpenZeppelin Version Compatibility Hit immediate compilation errors due to OpenZeppelin's updated Ownable constructor requirements. Had to learn about constructor parameters and modifier validation on the fly while troubleshooting why perfectly generated code wouldn't compile. Chainlink VRF Integration Reality Check The generated code assumed simple subscription IDs, but real Chainlink VRF subscriptions use massive 77-digit numbers that broke the uint64 data type. Required understanding data types and casting to make the integration actually work with live Chainlink infrastructure. The Verification Bottleneck Deployed contracts successfully but discovered they don't work properly until verified on BaseScan. Contract verification requires flattening imports and understanding compiler settings - technical deployment steps that aren't obvious to non-developers.