Monorepo starter for a 4-week MVP where users join single-match fantasy football rooms, Somnia agents fetch stats, contracts settle scores, and winners are paid on-chain.
apps/web: Next.js app (frontend + API routes for demo fixtures/players/stats)contracts: Solidity + Hardhat contracts and testspackages/shared: shared TypeScript types and scoring constantssupabase: SQL schema for off-chain cache/index datadocs: architecture and implementation notes
pnpm install
pnpm dev/: Landing page/rooms: List rooms/rooms/create: Create room/rooms/[id]: Join room, submit lineup, view status/rooms/[id]/results: Final scores, receipt, payout status
MatchRoomFactory.solFantasyMatchRoom.solPlayerRegistry.sol
- This scaffold uses deterministic demo data via API routes so settlement is demo-safe.
- Replace demo stats endpoint with a live football API later without changing the on-chain room lifecycle.
- Local Anvil end-to-end flow:
docs/e2e-local-demo-runbook.md