hackquest logo
  • Learn
  • Explore Course
  • Build
  • Explore Hackathon
  • Project Archive
  • Community
  • Forum
  • Global Event
  • My Community
  • Co-learning
  • Organization Hub
  • More
    • Glossary
    • Blog
    • Faucet
    • Job Station
    • Press Kit
    • Founder
hackquest logo

Cookieverse Farcaster

Generate AI fortunes, mint COOKIE NFTs, bridge multi-chain with LayerZero, track quests, and battle on leaderboards across X & Farcaster in a sleek Cookieverse app and mini-app.

Videos

Tech Stack

React
Web3
Ethers
Solidity
Next
Node

Description

๐Ÿงฉ Core Features

๐Ÿช 1. AI Fortune & COOKIE Minting

  • /api/fortune โ€“ calls OpenAI (Responses API) to generate a short fortune text

  • Main page (/) lets users:

    • Connect wallet (RainbowKit + Wagmi)

    • Generate fortune + image

    • Mint COOKIE NFTs via FortuneCookiesAI ABI (src/abi/FortuneCookiesAI.json)

  • Multi-chain aware:

    • Uses cookieAddressFor(chainId) to select correct COOKIE ERC-721 per chain

    • Supports Monad / Base / Mantle / Linea / Mitosis

๐ŸŒ‰ 2. ZK Bridge (LayerZero ONFT)

  • /bridge โ€“ ZK Bridge page implemented in src/app/bridge/page.tsx

  • Uses:

    • NEXT_PUBLIC_ADAPTER_* for ONFT Adapters per chain

    • NEXT_PUBLIC_ONFT_* / COOKIE canonical contracts

    • LayerZero v2 quoteSend + send on ONFT adapter ABI

  • UX:

    • Detects connected chain

    • Loads owned COOKIE token IDs (via /api/fc-token-ids)

    • Steps: Approve โ†’ Quote fee โ†’ Send (with flat fee params)

    • Updates MGID stats after successful bridge

๐Ÿงฎ 3. Leaderboard

  • snapshot stored in Vercel Blob: fortune-cookie/snapshot.json via src/server/mgidStore.ts

  • Per-player record includes:

    • X username, Farcaster username

    • EOAWallet / SAWallet

    • per-chain scores, transactions, images

    • per-chain boost flags (BaseBoost, MonadBoost, LineaBoost, MantleBoost, MitosisBoost)

  • API routes:

    • /api/mgid-get โ€“ load player row

    • /api/mgid-upsert โ€“ recompute + persist MGID after actions (mint/bridge)

    • /api/mgid-leaderboard โ€“ sorted list for dashboard/leaderboard

    • /api/mgid-boosts โ€“ reads booster NFT ownership

  • UI:

    • /leaderboard โ†’ LeaderboardClient

      • Shows top COOKIES minters (top-20), enriched with X / Farcaster from MGID

    • /dashboard โ†’ DashboardClient

      • Shows multi-chain holdings, bridge counts, quests and ranks

๐Ÿ“Š 4. Multi-chain COOKIE Dashboard & Quests

  • Holdings:

    • /api/holdings aggregates NFT holdings per chain

    • Uses BlockVision + RPC fallbacks, plus a local โ€œlast-goodโ€ JSON to survive API hiccups

  • Leaderboard (on-chain view):

    • /api/leaderboard calculates top-20 mints per chain

    • Uses FortuneCookiesAI ABI with getPublicClientByKey for multi-chain scans

  • Quests & ranks (DashboardClient):

    • Daily & weekly COOKIE mint quests

    • Rank system (Bronze / Silver / Gold / Emerald) with custom colors

    • Per-chain counters (mints, bridges, images) and boosts

๐Ÿ“ฑ 5. Farcaster Mini-App (Cookieverse)

  • Mini-app entrypoint at /mini

  • Compact navigation in src/components/mini/MiniNav.tsx

  • Mini routes:

    • /mini โ€“ main minting view

    • /mini/bridge โ€“ mini bridge

    • /mini/dashboard โ€“ mini dashboard

    • /mini/leaderboard โ€“ mini leaderboard

    • /mini/smartaccount โ€“ smart account tools

  • Metadata published via public/.well-known/farcaster.json:

    • Name: Cookieverse

    • Home URL, icons, splash, description, webhook URL, category

  • Uses @farcaster/miniapp-sdk for:

    • Wallet connection with injected provider

    • Reading FID/session details (for Farcaster username mapping)

๐Ÿ‘ค 6. Identity & Auth (X + Smart Accounts)

  • X / Twitter OAuth via NextAuth:

    • Config in src/lib/auth.ts

    • Provider: next-auth/providers/twitter (OAuth 2.0)

    • Session enriched with twitter_username & twitter_image

    • Used in MGID + UI (X avatar, username display)

  • Farcaster via Farcaster:

    • get username and wallet address

Progress During Hackathon

The app is built to be prod-ready: server-side APIs, on-chain scans, Etherscan v2 integration, Vercel Blob storage, OpenAI, Pinata, WalletConnect, LayerZero, Farcaster & more.
Team Leader
Hhealth_coach
Project Link
Sector
SocialFiAINFT