A blockchain-powered, play-to-earn skateboarding game built for the Celo Africa DAO Mobile Game & Prediction Markets Hackathon.
🎮 Stake 1 CELO • Compete Daily • Win Prizes!
CeloRiders is a GBA-style skateboarding game with on-chain tournaments, leaderboards, and prize distribution. Optimized for MiniPay mobile wallet with 5M+ users across Africa.
- Daily Tournaments: Stake 1 CELO to enter, compete for top 10 spots
- On-Chain Leaderboard: Scores submitted directly to Celo blockchain
- Prize Distribution: Top 10 players split 95% of prize pool
- 1st: 30% | 2nd: 20% | 3rd: 15% | 4th: 10% | 5th: 8% | 6th: 6% | 7-10: 1.5% each
- MiniPay Integration: Auto-connect wallet, fullscreen mobile experience
- Daily Reset: Tournament resets at midnight WAT (UTC+1)
This dApp is fully optimized for MiniPay:
- ✅ Auto-connect wallet
- ✅ Fullscreen gaming experience
- ✅ Mobile-first responsive design
- ✅ Works with 2MB MiniPay wallet
- ✅ Sub-cent transaction fees
See MiniPay Integration Guide →
pnpm install# Copy .env.local and update with your values
cp apps/web/.env.local.example apps/web/.env.localpnpm dev# In another terminal
ngrok http 3000
# Load the ngrok URL in MiniPay Developer SettingsOpen http://localhost:3000 in your browser.
This is a monorepo managed by Turborepo:
apps/web- Next.js 14 app with Phaser.js game engineapps/contracts- Hardhat smart contract environmentcontracts/DailyTournament.sol- Tournament smart contract- Deployed at:
0xAE5d214ecE811D3B65E42f7018e8fD77f16ebb78(Celo Sepolia)
pnpm dev- Start development serverspnpm build- Build all packages and appspnpm lint- Lint all packages and appspnpm type-check- Run TypeScript type checking
pnpm contracts:compile- Compile smart contractspnpm contracts:test- Run smart contract testspnpm contracts:deploy- Deploy contracts to local networkpnpm contracts:deploy:alfajores- Deploy to Celo Alfajores testnetpnpm contracts:deploy:sepolia- Deploy to Celo Sepolia testnetpnpm contracts:deploy:celo- Deploy to Celo mainnet
- Frontend: Next.js 14 (App Router) + TypeScript
- Game Engine: Phaser.js 3.90
- Web3: Wagmi 2.0 + Viem 2.0 + RainbowKit
- Styling: Tailwind CSS + shadcn/ui
- Smart Contracts: Solidity 0.8.28 + Hardhat
- Blockchain: Celo (Sepolia Testnet)
- Wallet: MiniPay + MetaMask support
- Monorepo: Turborepo + PNPM