A complete NFT marketplace built for the Farcaster ecosystem with MiniKit integration and Base network optimization
๐ Live Demo โข ๐ Documentation โข ๐ฏ Features โข ๐ ๏ธ Setup
- Interactive Frames - Share NFTs directly in Farcaster feeds with purchase buttons
- MiniKit Integration - Seamless wallet connection and social authentication
- Frame Discovery - Browse and test all available NFT frames
- Viral Sharing - One-click sharing to Warpcast and Farcaster clients
- Dark Mode System - Complete light/dark theme with persistence
- Responsive Design - Perfect experience on mobile and desktop
- Smooth Animations - 60fps transitions with Framer Motion
- Real-time Updates - Live marketplace activity and user counters
- Gasless Transactions - FREE gas fees sponsored by Base Paymaster (NEW!)
- Smart Accounts - ERC-4337 Account Abstraction for seamless UX
- Low Fees - Leveraging Base L2 for affordable transactions
- Fast Confirmations - Quick NFT purchases and listings
- Wallet Integration - RainbowKit with Base network support
- Chain Validation - Automatic Base network detection and switching
- Social Proof - Live user counters and trending items
- Activity Feed - Real-time marketplace transactions and interactions
- XMTP Chat - Base App Quick Actions integration
- Progress Tracking - User engagement and achievement system
- Node.js 18+ and npm
- Git for version control
- A Farcaster account for testing frames
# Clone the repository
git clone https://github.com/YOUR_USERNAME/farcaster-nft-marketplace.git
cd farcaster-nft-marketplace
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Edit .env.local with your configuration
# Start development server
npm run devVisit http://localhost:3000 to see the marketplace in action!
Create a .env.local file with the following variables:
NEXT_PUBLIC_BASE_RPC_URL=https://mainnet.base.org
NEXT_PUBLIC_FARCASTER_HUB_URL=https://nemes.farcaster.xyz:2283
MINIKIT_APP_ID=your-minikit-app-id
NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID=your-project-id- Next.js 14 - React framework with App Router
- TypeScript - Type-safe development
- TailwindCSS - Utility-first styling
- Framer Motion - Smooth animations
- Wagmi v2 - React hooks for Ethereum
- RainbowKit - Wallet connection UI
- Viem - TypeScript Ethereum library
- Base Network - Ethereum L2 for low fees
- @farcaster/core - Core Farcaster SDK
- @farcaster/hub-nodejs - Hub integration
- Farcaster Frames - Interactive social content
- MiniKit SDK - Native app integration
src/
โโโ app/
โ โโโ page.tsx # Main application entry
โ โโโ marketplace.tsx # Core marketplace component
โ โโโ providers.tsx # Web3 and context providers
โ โโโ globals.css # Global styles + dark mode
โ โโโ api/
โ โโโ frames/ # Farcaster Frame endpoints
โ โโโ test-frame/ # Frame testing utilities
โโโ components/
โ โโโ Header.tsx # Navigation with dark mode
โ โโโ NFTCard.tsx # Enhanced NFT display cards
โ โโโ DarkModeToggle.tsx # Theme switching components
โ โโโ FrameShare.tsx # Frame sharing modal
โ โโโ SocialProof.tsx # Activity feed & social widgets
โ โโโ GaslessUI.tsx # Gasless transaction UI components
โ โโโ ... # Additional UI components
โโโ contexts/
โ โโโ ThemeContext.tsx # Dark mode state management
โโโ hooks/
โ โโโ useSmartAccount.ts # Smart Account & gasless transactions
โโโ lib/
โโโ wagmi.ts # Web3 configuration
โโโ paymaster.ts # Base Paymaster configuration
Zero gas fees for your users! All transaction costs are sponsored by Base Paymaster.
-
Get Paymaster RPC URL
- Visit Coinbase Developer Platform
- Go to Paymaster โ Configuration
- Copy your RPC URL
-
Add to Environment
# .env.local NEXT_PUBLIC_PAYMASTER_RPC_URL=https://api.developer.coinbase.com/rpc/v1/base/YOUR_KEY -
Configure Allowlist
- Add your NFT contract address in CDP
- Allowlist functions:
mintTo,buy,list
-
Set Spending Limits
- Per-user: $0.05/month, 1 operation
- Global: $15,000/month (or your budget)
-
Done! ๐ Users can now mint, buy, and list NFTs completely free.
๐ Full Guide: GASLESS_QUICKSTART.md
๐ Documentation: GASLESS_TRANSACTIONS.md
๐ Implementation: GASLESS_IMPLEMENTATION_SUMMARY.md
GET /api/frames- Frame discovery pageGET /api/frames/nft/[tokenId]- Interactive NFT frameGET /api/frames/nft/[tokenId]/image- Dynamic frame imageGET /api/test-frame- Frame testing endpoint
- Browse NFTs - Complete marketplace interface
- Dark Mode - Toggle in header (moon/sun icon)
- Frame Sharing - Click "Share Frame" on NFT cards
- Live Activity - Real-time marketplace updates
- Wallet Connect - RainbowKit integration
# Start the development server
npm run dev
# Test frame endpoints
curl http://localhost:3000/api/frames/nft/1
curl http://localhost:3000/api/frames/nft/1/image- Share frame URL in a Farcaster cast
- View in Warpcast or other Farcaster clients
- Test interactive buttons and purchasing flow
# Install Vercel CLI
npm i -g vercel
# Deploy
vercel
# Configure environment variables in Vercel dashboard
# Set up custom domain and SSL# Build for production
npm run build
# Start production server
npm startSee DEPLOYMENT_CHECKLIST.md for complete deployment guide.
- Implementation Summary - Complete feature overview
- Dark Mode Guide - Theme system documentation
- Activity Feed Guide - Real-time updates system
- Deployment Checklist - Production deployment
- Project Snapshot - Current status and features
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
- TypeScript for type safety
- ESLint + Prettier for code formatting
- Conventional commits for commit messages
- Component documentation with JSDoc
- Bug Reports: Create an issue
- Feature Requests: Request a feature
- Documentation: Check our docs folder
- Community: Join our Farcaster channel
- Complete marketplace interface with dark mode
- Farcaster Frame integration with sharing
- Real-time activity feed with emoji avatars
- Base network integration with wallet support
- XMTP chat and Base App Quick Actions
- NFT creation and minting flow
- Smart contract integration for real transactions
- User authentication with Farcaster profiles
- WebSocket real-time updates
- Multi-chain support (Ethereum, Polygon)
- Advanced filtering and search
- Auction and bidding system
- Creator royalties and revenue sharing
- Mobile app with MiniKit
This project is licensed under the MIT License - see the LICENSE file for details.
- Farcaster for the decentralized social protocol
- Base for the fast, low-cost L2 network
- Coinbase for MiniKit and developer tools
- Vercel for excellent Next.js hosting
- Community contributors and testers
Built with โค๏ธ for the Farcaster and Base ecosystem


