Joybit is a USDC-powered Joybit Blast mini app built for Base. The project combines a fast tile-matching game loop, wallet-native progression, and on-chain reward distribution with a production-focused web stack.
- USDC-only gameplay economy for start, continue, and booster actions
- On-chain rewards with claimable balances in player profiles
- Admin panel for fee management, reward pool funding, and treasury controls
- Seasonal reward workflows with leaderboard snapshots and distribution tracking
- Base mainnet deployment with verified contracts
/Home and navigation/gameJoybit Blast gameplay and booster shop/leaderboardRanking and score tracking/profilePlayer stats and reward claims/adminContract controls and rewards operations
- Next.js App Router
- React + TypeScript
- Tailwind CSS
- wagmi + viem
contracts/Game-v4.solcontracts/Treasury-v4.sol
- Turso (LibSQL) for leaderboard and player stats
- Next.js API routes under
app/api/*
- Gameplay fees are charged in USDC only
- Treasury splits charges between protocol fees and reward pool
- Rewards are distributed and claimed in USDC
- ETH is not used for gameplay accounting (ETH is only for Base gas)
Set environment values in .env.local.
NEXT_PUBLIC_USDC_TOKEN_ADDRESSNEXT_PUBLIC_TREASURY_ADDRESSNEXT_PUBLIC_MATCH3_GAME_ADDRESSNEXT_PUBLIC_GAME_SIGNER_ADDRESSNEXT_PUBLIC_WALLETCONNECT_PROJECT_IDTURSO_DATABASE_URLTURSO_AUTH_TOKEN
NEXT_PUBLIC_BASE_RPC_URLNEXT_PUBLIC_ALCHEMY_API_KEYNEXT_PUBLIC_ONCHAINKIT_API_KEYNEXT_PUBLIC_ADMIN_WALLET_ADDRESSNEXT_PUBLIC_ADMIN_WALLET_ADDRESSESNEXT_PUBLIC_ADMIN_FARCASTER_FID
PRIVATE_KEYBASESCAN_API_KEY
npm install
npm run devApp runs at http://localhost:3000.
npm run build
npx tsc -p tsconfig.json --noEmitCompile contracts:
npx hardhat compileDeploy v4 contracts:
node scripts/deploy-v4.jsVerify v4 contracts:
npx hardhat run scripts/verify-v4.js --network base- Never commit real secrets from
.env.local - Rotate keys immediately if secrets are exposed
- Keep admin and signer keys separated
