Daily bid-for-quote NFT minting app with Farcaster integration. Users bid in USDC to feature their quote of the day, and the winning quote is minted as an NFT on Base chain.
- 🎨 Quote Submission: Submit inspirational quotes to compete for daily feature
- 💰 USDC Bidding: Place bids in USDC to feature your quote
- 🏆 Daily Winner Selection: Highest bid wins the daily feature
- 🖼️ NFT Minting: Winners can mint their quote as an ERC-721 NFT on Base
- 🌐 NFT Gallery: Browse all previously minted quote NFTs
- 🔗 Farcaster Integration: Social features powered by Farcaster
- ⛓️ Base Network: Built on Base for low fees and fast transactions
- Frontend: Next.js 15, React 19, TypeScript, TailwindCSS
- Web3: Wagmi, Viem, RainbowKit
- Blockchain: Base (Ethereum L2)
- Smart Contracts: Solidity, ERC-721
- Node.js 18+ and npm
- A Web3 wallet (MetaMask, Coinbase Wallet, etc.)
- WalletConnect Project ID (get from https://cloud.walletconnect.com)
- Clone the repository:
git clone https://github.com/JesterInvestor/quotecast.git
cd quotecast- Install dependencies:
npm install- Set up environment variables:
cp .env.example .envEdit .env and add your WalletConnect Project ID.
- Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
The QuoteNFT smart contract is located in src/contracts/QuoteNFT.sol. It includes:
- ERC-721 standard implementation
- Quote metadata storage (text, author, date, winning bid)
- Winner minting functionality
- Optional public minting for featured quotes
- Token URI generation for metadata
mintQuote(): Admin function to mint NFT for daily winnermintPublic(): Public minting for quotes with enabled public mintinggetQuoteMetadata(): Get stored metadata for a tokengetDailyWinner(): Get winner address for a specific date
- Connect Wallet: Click "Connect Wallet" to connect your Web3 wallet
- Submit Quote: Enter your name and quote text in the submission form
- Place Bid: Select a quote and enter your bid amount in USDC
- Win & Mint: If you win, click "Mint Your Quote NFT" to mint your NFT
- View Gallery: Browse all previously minted quote NFTs in the gallery
npm run buildnpm run lint- Install Hardhat or Foundry
- Deploy the QuoteNFT contract to Base or Base Sepolia
- Update
NEXT_PUBLIC_QUOTE_NFT_CONTRACT_ADDRESSin.env
Deploy to Vercel:
vercel deployOr build and deploy to any hosting service:
npm run build
npm start- Full Farcaster social integration
- USDC smart contract integration for automated bidding
- On-chain metadata storage (IPFS)
- Automated daily winner selection
- NFT marketplace integration
- Social sharing features
- Leaderboard and statistics
Contributions are welcome! Please feel free to submit a Pull Request.
ISC