Bounty Hunters

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

Bounty Hunters

Created At

ETHGlobal Buenos Aires

Winner of

World

World - World Pool Prize

Prize Pool

Project Description

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.

background image mobile

Join the mailing list

Get the latest news and updates

Bounty Hunters | ETHGlobal