Skip to content

Repository files navigation

Gossipp

Anonymous confessions powered by x402 micropayments on Base.

Gossipp is a Farcaster Mini App where users can anonymously "spill the tea" and unlock others' secrets through USDC micropayments.

Built on Base and x402


Features

Anonymous Identity

  • Ghost ID (Ghost-A7B2) - A unique, hash-based anonymous identity
  • Changes daily to prevent tracking
  • Derived from your wallet address or Farcaster FID

x402 Protocol Micropayments

  • First confession is FREE
  • $0.01 USDC per additional confession unlock
  • Payments powered by USDC on Base network
  • HTTP 402 Payment Required headers for native web monetization

Viral Ranking System

  • Confessions ranked by unlock count
  • Rank badges: VIRAL, HOT, NEW, STAR
  • Most popular confessions rise to the top

Shareable Stats Card

  • Generate beautiful brag cards with your unlock stats
  • Share directly to Farcaster or X
  • Dynamic ranks (Tea Intern -> Gossip Queen)

Farcaster Mini App

  • Native Frame SDK integration
  • One-tap wallet connection via OnchainKit

Persistent Data

  • "My Secrets" tab to track your own posts
  • Auto-refresh for real-time updates

How It Works

Gossipp Workflow

  1. Connect Wallet - Get your anonymous Ghost ID
  2. Post Secret - Submit your confession anonymously
  3. Browse Feed - View ranked viral confessions
  4. Unlock Content - Pay $0.01 USDC to view locked secrets
  5. Share Card - Show off your Gossip Rank

Quick Start

Prerequisites

  • Node.js 18+
  • A Supabase project
  • A Base wallet

Installation

# Clone the repository
git clone https://github.com/theteatoast/gossipp.git
cd gossipp

# Install dependencies
npm install

Environment Variables

Create a .env.local file:

NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
NEXT_PUBLIC_RECEIVER_ADDRESS=0xYourWalletAddress
NEXT_PUBLIC_ONCHAINKIT_API_KEY=your_onchainkit_key  
NEXT_PUBLIC_APP_URL=https://your-ngrok-url.ngrok.io

Supabase Table Schema

CREATE TABLE confessions (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  ghost_id TEXT NOT NULL,
  content TEXT NOT NULL,
  created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
  unlock_count INTEGER DEFAULT 0
);

Run Locally

# Start dev server
npm run dev

# Expose via ngrok for Farcaster testing
npx ngrok http 3000

Tech Stack

  • Framework: Next.js 14
  • Wallet: OnchainKit + wagmi + viem
  • Payments: x402 Protocol (USDC on Base)
  • Database: Supabase
  • Mini App: Farcaster Frame SDK

License

MIT License


Credits

About

Farcaster Mini App for anonymous confessions with x402 micropayments on Base

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages