Search projects, hackathons, sponsors and tech

    ← All projects

    Bounty Hunters

    Bounty Hunters uses verified humans to help brands amplify their message!

    Demo

    About

    Bounty Hunters - Social-Fi on World Chain The best social-fi app on the World App MiniApp store! What is Bounty Hunters? Bounty Hunters is a social finance platform that connects brands with verified humans to amplify their message on social media - all powered by World ID and World Chain. How It Works For Brands (Bounty Creators): 1. Verify as Human - Use World ID to prove you're a unique, real person 2. Create a Bounty - Set up a social media campaign: - Choose your budget (in WLD or USDC) - Set number of participants (1-5 bounty hunters) - Define requirements (hashtags, mentions, duration) - Upload a cover image 3. Fund on Blockchain - Your bounty is secured on World Chain 4. Watch It Spread - Bounty hunters promote your message across social media For Bounty Hunters (Participants): 1. Verify as Human - World ID ensures only verified humans can participate 2. Browse Active Bounties - Find campaigns that interest you 3. Sign Up - Reserve your spot (limited participants per bounty) 4. Complete the Task - Post on Twitter/X with required hashtags/mentions 5. Submit Proof - Link your tweet to claim your reward 6. Get Paid - Receive WLD or USDC directly to your wallet Key Features 🌐 Built on World Chain - All bounties are smart contracts on World Chain - Transparent, verifiable, and trustless - Instant crypto payouts ✅ World ID Verification - Only verified humans can create or participate - No bots, no fake accounts - Fair distribution of rewards 💰 Crypto Rewards - Earn WLD or USDC for social engagement - Rewards based on total budget / number of participants - Higher follower counts = potential multipliers 📊 Real-Time Tracking - Dashboard shows your earnings from blockchain events - Track pending and completed bounties - View submission history 🎯 Simple & Effective - Create bounties in minutes - 2-5 participants per bounty for focused campaigns - 24h to 1 week duration options Why Bounty Hunters? For Brands: - Authentic social proof from verified humans - Cost-effective compared to traditional ads - Blockchain-verified engagement For Users: - Earn crypto by sharing content you believe in - Fair compensation (no bot competition) - Build your social presence while earning Technology Stack - World ID - Human verification - World Chain - Blockchain infrastructure - Smart Contracts - Secure bounty management - MiniApp - Native World App integration - Supabase - Real-time data storage --- Bounty Hunters turns social engagement into verifiable value, powered by World ID and World Chain.

    How it's made

    How It's Made - Bounty Hunters Technical Architecture & Implementation Bounty Hunters is a full-stack social-fi application built on World Chain, leveraging cutting-edge Web3 technologies and innovative approaches to gasless token transfers. World Coin MiniKit SDK Integration We deeply integrated the World Coin MiniKit SDK to create a seamless native experience within the World App. Key implementations include: - WalletAuth: Automatic wallet authentication on app launch, eliminating manual connection steps - World ID Verification: Implemented MiniAppVerifyActionPayload with verification levels to gate bounty creation, ensuring only verified humans can create campaigns - In-App Transaction Signing: Used MiniKit.commandsAsync.sendTransaction() for native transaction flows without external wallet popups - Real-time Balance Fetching: Integrated wallet balance hooks that query World Chain directly through MiniKit's RPC provider The MiniKit SDK was crucial for creating a mobile-first experience where users never leave the World App ecosystem. Smart Contract Architecture with Permit2 Our bounty contract implementation uses Permit2's SignatureTransfer mode - a particularly hacky and innovative approach that solves a critical UX problem: The Problem: World App blocks approve() calls for security, making traditional ERC20 token flows impossible. Our Solution: We implemented Permit2's signature-based transfer system: function _collectERC20Funds( PaymentType paymentType, uint256 totalNeeded, uint256 fee, uint256 permitDeadline, bytes calldata permitData, uint256 permitNonce ) internal This allows gasless, approval-free token transfers. The World App backend automatically generates and injects Permit2 signatures using the PERMIT2_SIGNATURE_PLACEHOLDER_0 pattern. Users can create bounties with WLD or USDC without any prior token approvals - the signature handles everything in a single transaction. Notable Hack: We separated the Permit2 signature deadline (max 1 hour due to World App limits) from the bounty deadline (up to 7 days), allowing long-duration bounties while maintaining security. Hardhat Development & Testing We used Hardhat for our entire smart contract development lifecycle: - Solidity 0.8.20 with OpenZeppelin and Solmate libraries - Comprehensive test suite (BountyModulePermit2.t.sol) testing all edge cases: - Permit2 signature validation - Multi-token support (ETH, USDC, WLD) - Payout fee calculations - Reentrancy protection - Deployment scripts for World Chain mainnet - ABI generation automatically exported to frontend (BountyModule.json) The contract uses ReentrancyGuard from Solmate and SafeTransferLib for gas-optimized, secure token transfers. Twitter Scraper Backend (Python/FastAPI) Built a FastAPI backend (bounties_api.py) that serves as the off-chain coordination layer: - Tweet validation: Scrapes and validates submission tweets against bounty requirements (hashtags, mentions) - Supabase integration: Real-time database for bounty submissions, participant tracking, and metadata - Image upload: Handles bounty cover images via Supabase Storage - Reward multiplier calculation: Dynamically adjusts payouts based on Twitter follower counts (1x to 3x multipliers) - Two-phase submission flow: a. User signs up (reserves spot) b. User submits tweet URL (validated and approved) Blockchain Event Listener We built a custom event listener service that monitors World Chain for BountyPayout events: const logs = await client.getLogs({ address: CONTRACT_ADDRESS, event: parseAbiItem('event BountyPayout(...)'), args: { recipient: walletAddress }, fromBlock: 'earliest' }) This provides source-of-truth earnings data directly from the blockchain, displayed in the Rewards dashboard. We use viem for efficient event querying and decode wei amounts to human-readable token values. Notable Technical Decisions 1. UUID to Bytes32 Encoding: Bounties are identified by UUIDs in Supabase but stored as bytes32 on-chain. We wrote custom encoding functions to bridge these systems. 2. Direct Supabase Integration: The MiniApp connects directly to Supabase using RLS (Row Level Security) policies, eliminating unnecessary API middleware. 3. Dual Deadline System: Bounties can last 7 days, but Permit2 signatures expire in 1 hour. This creative split maintains UX while respecting World App's security constraints. 4. Zero-Approval Token Transfers: By leveraging Permit2's SignatureTransfer mode, we achieved the holy grail of Web3 UX - one-click token transactions without approvals. Tech Stack Summary - Frontend: React + TypeScript + Vite - Blockchain: Solidity, Hardhat, Permit2, World Chain - Backend: Python FastAPI, Supabase (PostgreSQL) - Web3 Libraries: viem, @worldcoin/minikit-js - Smart Contract Libraries: OpenZeppelin, Solmate Total Development: 3000+ lines of TypeScript, 500+ lines of Solidity, 400+ lines of Python, all orchestrated to create a seamless social-fi experience on World Chain.