A Farcaster Mini App for daily fantasy sports with crypto integration. Draft memecoins, traders, and athletes for crypto events and real sports. Compete in daily fantasy leagues with USDC entry fees, big prize pools, and live leaderboards.
Crypto Fantasy League is a web-based mini application built for the Farcaster ecosystem. It runs seamlessly within Farcaster clients (such as Warpcast) on both mobile and desktop platforms, providing users with an engaging fantasy sports experience that combines traditional sports with cryptocurrency markets.
- 🎮 Daily Fantasy Leagues - Compete in daily fantasy competitions
- 💰 Crypto Integration - USDC entry fees and prize pools
- 📊 Live Leaderboards - Real-time competition tracking
- 🎯 Multi-Asset Drafting - Draft memecoins, traders, and athletes
- 📱 Cross-Platform - Works on iOS, Android, and Web via Farcaster clients
- 🎨 Modern UI - Built with shadcn/ui and Tailwind CSS
- Framework: Next.js 15.5.4
- React: 19.2.0
- TypeScript: 5.x
- Styling: Tailwind CSS 4.x
- UI Components: shadcn/ui (Radix UI primitives)
- Form Handling: React Hook Form + Zod validation
- Farcaster SDK:
@farcaster/miniapp-sdkv0.1.10 - Deployment: Xnode (OpenxAI infrastructure)
- Build System: Nix Flakes
- Node.js 18+ (or Bun)
- npm, yarn, or pnpm
- Git
- Nix (for Nix-based builds, optional)
-
Clone the repository
git clone <repository-url> cd daily-fantasy-sports
-
Install dependencies
cd mini-app npm install -
Set up environment variables Create a
.env.localfile in themini-appdirectory:NEXT_PUBLIC_URL=https://your-domain.com ACCOUNT_ASSOCIATION={"header":"","payload":"","signature":""} BASE_BUILDER={"allowedAddresses":[]}
From the root directory (Nix build):
nix runFrom the mini-app directory:
# Start development server
npm run dev
# Build for production
npm run build
# Start production server
npm run start
# Run linter
npm run lintThe development server will start at http://localhost:3000.
daily-fantasy-sports/
├── mini-app/ # Next.js application
│ ├── app/ # Next.js app directory
│ │ ├── layout.tsx # Root layout
│ │ ├── page.tsx # Home page
│ │ └── .well-known/ # Farcaster manifest routes
│ ├── components/ # React components
│ │ ├── ui/ # shadcn/ui components
│ │ └── context/ # React context providers
│ ├── lib/ # Utility functions and configs
│ └── public/ # Static assets
├── documentation/ # Project documentation
├── nix/ # Nix package definitions
└── flake.nix # Nix flake configuration
This app is configured as a Farcaster Mini App, which means:
- It can be discovered and launched within Farcaster clients
- Users can authenticate using their Farcaster identity
- The app can send notifications to users
- Pages can be shared as rich cards in Farcaster feeds
The Farcaster manifest is served at /.well-known/farcaster.json and includes app metadata, icons, and configuration.
This project is configured for deployment on Xnode (OpenxAI's infrastructure). The Nix-based build system ensures reproducible builds across different environments.
# Using Nix
nix build
# Using npm
cd mini-app
npm run build- All component files should start with
"use client";directive - Use existing shadcn/ui components when possible
- Follow TypeScript best practices with explicit type annotations
- Maintain the Farcaster metadata export on the home page
- Use Tailwind CSS for styling (configured in
globals.css)
Contributions are welcome! Please ensure that:
- Code follows the existing style and conventions
- All components include proper TypeScript types
- The Farcaster manifest remains properly configured
- UI components maintain consistency with the design system
For questions, suggestions, or collaboration opportunities:
- Telegram: @tomharvey1128
- X (Twitter): @tomharvey1128
See LICENSE file for details.
- Built using the OpenxAI Mini App Factory template
- UI components from shadcn/ui
- Powered by Farcaster and Xnode
For more information about Farcaster Mini Apps, see the documentation.