Campaign Contract
The FoomD2E smart contract is the on-chain backbone of OnlyDancers. It handles the full lifecycle of a dance contest campaign: creation, tier setup, winner payout, and fund withdrawal.
How It Works
Tier Rewards Are Immutable
Reward tiers are defined at campaign creation and cannot be changed. The contract stores:
Explicit tier amounts for top positions (1st Place: $5,000, 2nd Place: $3,000, etc.)
Fixed winner counts for each tier (1st Place: 1 winner, 4th-10th: 7 winners, etc.)
A calculated equal share for remaining positions based on pool size
This immutability ensures dancers know exactly what they're competing for when they enter.
Commission Structure
OnlyDancers takes no on-chain commission. The full prize pool goes to winners. Platform revenue comes from creator deposits and entry fees collected off-chain via Stripe.
Every USDC token deposited by creators and earned from dancer entry fees flows directly into the prize pool. The smart contract does not deduct any fees or percentages—100% of funds are available for payouts.
Security
The FoomD2E contract implements multiple security measures:
UUPS Upgradeable Admin can upgrade the contract logic without losing state, enabling bug fixes and feature additions.
Role-Based Access Control
Admin: Deploys campaigns, approves relayers, withdraws unclaimed funds
Relayer: Posts winner lists after judging, triggers payouts
Token Whitelisting Only approved tokens (USDC on Ethereum mainnet) can be used for campaigns. This prevents accidental use of incorrect token contracts.
Always verify the contract address and token address before sending USDC. Scammers may create fake contracts—only use official links from onlydancers.fun.
Contract Deployment
Network: Ethereum Mainnet
Token: USDC (0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48)
Pattern: UUPS Proxy for upgradeable logic
