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):
- Verify as Human - Use World ID to prove you're a unique, real person
- 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
- Fund on Blockchain - Your bounty is secured on World Chain
- Watch It Spread - Bounty hunters promote your message across social media
For Bounty Hunters (Participants):
- Verify as Human - World ID ensures only verified humans can participate
- Browse Active Bounties - Find campaigns that interest you
- Sign Up - Reserve your spot (limited participants per bounty)
- Complete the Task - Post on Twitter/X with required hashtags/mentions
- Submit Proof - Link your tweet to claim your reward
- 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 - 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
- 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.
- Direct Supabase Integration: The MiniApp connects directly to Supabase using RLS (Row Level Security) policies, eliminating unnecessary API middleware.
- 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.
- 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.