baseLOTTO
Onchain, Verifiable, Based!
The problem baseLOTTO 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.
Challenges I 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.
Smart Contract Address(es)
weekly lottery
0xB6Fe98c11D2CEB437E1C937C1FAD1F4287394e9D
monthly lottery
0xa42E42005bd63e88470D0799D9047C7500Aaf33F
points tracker
0x1Fc46aB6e8d6864B92A5e7E3a7885b6B7e7d173b
Tracks Applied (1)
Top 5 New Mini Apps
Technologies used
Cheer Project
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.
