A Farcaster Mini App for fitness, productivity, and accountability challenges with on-chain NFT achievements.
POW is a decentralized challenge platform where users can create, join, and compete in daily challenges. Complete challenges, maintain streaks, and earn permanent on-chain achievements as Soulbound NFTs.
- π― Create Challenges - Start daily, weekly, or monthly challenges
- π₯ Streak Tracking - 18 streak milestones from 3 days to 365 days
- π On-Chain Achievements - 27 Soulbound NFT types across 4 chains
- π Leaderboards - Compete with friends and the community
- π± Farcaster Native - Built as a Farcaster Mini App
POWAchievementsV2 is deployed and verified on:
| Network | Address | Explorer |
|---|---|---|
| Celo | 0xaa8f5E784317a354C8Ec554Dca7720661b1A537B |
View |
| Base | 0x946AAC558cfF7EF0657afa35aC33CB4c54bF5590 |
View |
| Optimism | 0xaa8f5E784317a354C8Ec554Dca7720661b1A537B |
View |
| Arbitrum | 0xbb656f760AA5B5f2610614EAA394513D872cca9C |
View |
3 β 5 β 7 β 14 β 21 β 30 β 42 β 50 β 69 β 100 β 111 β 132 β 150 β 200 β 222 β 250 β 300 β 365
π₯ Bronze β π₯ Silver β π₯ Gold β π Platinum β π Diamond β π Legendary
- π― First Challenge
- π± Early Adopter
- 𦧠Degen (minted on all 4 chains)
- Frontend: Next.js 15, React, TypeScript, Tailwind CSS
- Blockchain: Solidity 0.8.20, Hardhat, OpenZeppelin
- Farcaster: @farcaster/miniapp-sdk, @neynar/react
- Wallet: wagmi, viem
- Node.js 18+
- npm or yarn
- Farcaster account (for testing)
# Clone the repository
git clone https://github.com/cryptoflops/POW.git
cd POW
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Edit .env.local with your values
# Run development server
npm run dev# Neynar API Key (get from neynar.com)
NEYNAR_API_KEY=your_neynar_api_key
# App URL (for production)
NEXT_PUBLIC_URL=https://your-domain.comnpm run devOpen http://localhost:3000 to view in browser.
- Install ngrok for tunneling
- Run
ngrok http 3000 - Go to Farcaster Mini App Preview
- Enter your ngrok URL
cd contracts
# Install dependencies
npm install
# Compile
npm run compile
# Deploy (set DEPLOYER_PRIVATE_KEY in .env)
npm run deploy:celo
npm run deploy:base
npm run deploy:optimism
npm run deploy:arbitrumPOW/
βββ src/
β βββ app/ # Next.js App Router pages
β βββ components/ # React components
β βββ hooks/ # Custom React hooks
β βββ lib/ # Utilities and configs
β βββ types/ # TypeScript types
βββ contracts/
β βββ src/ # Solidity contracts
β βββ deploy-v2.js # Deployment script
β βββ hardhat.config.ts
βββ public/ # Static assets
Achievement minting requires a small fee:
| Network | Fee |
|---|---|
| Celo | 1 CELO |
| Base | 0.0001 ETH |
| Optimism | 0.0001 ETH |
| Arbitrum | 0.0001 ETH |
Contributions are welcome! Please read our Contributing Guide for details.
This project is licensed under the MIT License - see the LICENSE file for details.