InverseArena
The RWA Powered multiplayer blockchain elimination game where minority wins. Built on Mantle network
視頻
技術堆疊
描述
INVERSE ARENA
The RWA-Powered multiplayer blockchain elimination game where minority wins. Built on Mantle network.
Live Link : https://inverse-arena-frontend-a9zu.vercel.app/
Description:
Inverse Arena is a blockchain elimination style prediction game where players compete in pools by making binary choices (Heads or Tails). The twist: players who choose the minority option advance to the next round, while the majority gets eliminated. The last player standing wins the entire prize pool. BOTH player stakes AND creator stakes generate REAL institutional yield from Mantle's RWA protocols (USDT0, mETH) during gameplay. Players STAKE entry fees that auto deposit into yield protocols (4-6% APY), while creators stake 30+ USDT0 to become game hosts (earning 5% APY on stake PLUS 10% fees from every successfully resolved game).
Game Mechanics
Core Gameplay
Binary Choices: Players choose between Heads or Tails each round
Minority Wins: Players who pick the less popular choice advance
Elimination: Majority players are eliminated each round
Winner Takes All: Last remaining player wins the entire prize pool
Pool Lifecycle
Creation: Verified creators stake USDT0 or mETH to create pools with entry fees and their stake are automaticaly put into Mantle's RWA protocols to generate REAL institutional yield
Joining: Players join by paying the entry fee set by the Pool/Game creatore
Activation: Pool starts when minimum players join or creator activates
Rounds: Players make choices, minorities advance, majorities eliminated
Completion: Game ends when one player remains or all choose the same option
THE INNOVATION:
Players compete in rounds of binary choices (Head/Tail) and the minority move to the next round while the majourtiy are eliminated this goes own till we have a winner, While player compete, their staked USDT0 automatically flows into Mantle's yield protocols, generating 4-6% APY. Winners don't just win the pool they win the pool PLUS accumulated real yield.
WHY THIS MATTERS:
This solves GameFi's fundamental sustainability problem. Instead of unsustainable token emissions, Inverse Arena uses real economic activity to generate returns, exactly what Mantle's RWA infrastructure was built for.
PROBLEM STATEMENT
THE GAMEFI SUSTAINABILITY CRISIS
Traditional GameFi projects face three critical failures:
1. IDLE CAPITAL PROBLEM: Player stakes sit dormant in smart contracts generating zero yield
On-chain games are either slow or lack rich historical data and discovery.
Creators have weak monetization and poor incentives to bootstrap activity.
Players need transparent, verifiable outcomes with responsive UX
5. INFLATIONARY DEATH SPIRAL: Projects rely on token emissions that eventually collapse
CURRENT MARKET REALITY:
• 90% of GameFi projects fail within 6 months due to unsustainable tokenomics
• $2B+ locked in GameFi protocols generating 0% yield
• Players lose faith when token prices inevitably crash
THE WAITING ROOM PROBLEM:
Existing elimination games suffer from poor user experience—games need 10 players but only 2 joined → players leave frustrated. No matchmaking system → abandoned lobbies. Long wait times kill user retention.
THE MANTLE OPPORTUNITY:
Mantle Network has built world-class RWA infrastructure (USDT0, mETH, Aave integration) but lacks compelling GameFi applications that leverage these assets. Inverse Arena bridges this gap.
OUR SOLUTION
CORE INNOVATION: CONTRARIAN GAMEPLAY + INSTITUTIONAL YIELD
RWA INTEGRATION:
• Player stakes automatically deposited to Mantle's yield protocols
• USDT0 → 5% APY (institutional stablecoin yield)
• mETH → 4% APY (Ethereum staking rewards)
• Aave → 6% APY (DeFi lending, coming soon)
• Yield accumulates in real-time during gameplay
REAL-WORLD EXAMPLE:
10 players stake 100 USDT0 each = 1,000 USDT0 pool
Game duration: 15 minutes
Yield generated: ~2.1 USDT0 (1,000 × 5% APY × 0.25 hours)
Winner receives:
• 950 USDT0 (principal after 5% platform fee)
• 2.1 USDT0 (real yield from RWA protocols)
• "Tournament Champion" NFT badge
Total: 952.1 USDT0 + NFT
THIS IS REAL YIELD FROM REAL ASSETS, NOT TOKEN INFLATION.
ARCHITECTURE
SMART CONTRACT STACK:
INVERSE ARENA PROTOCOL
│
┌────┼────┐
│
GameManager Matchmaking YieldVault
│
└────┼────┘
│
USDT0 Protocol mETH Protocol Aave V3
|
NFTAchievements
CORE CONTRACTS:
1. GAMEMANAGER.SOL (Main Game Logic)
- GameManager: 0x495989595bb1a6c3a6acd2b36a91a0739154fb6b
- Transaction: 0xcbaab661410e4939489f1c49c55b6d166ab86c3946b36fc30010862c616f06e6 - [Explorer](https://explorer.sepolia.mantle.xyz/address/0x495989595bb1a6c3a6acd2b36a91a0739154fb6b)
Key Features:
• Multi-currency support (USDT0, mETH, native MNT)
• Provably fair randomness via Chainlink VRF
• Real-time yield tracking
• Multiple game modes (QuickPlay, Scheduled, Private)
• Creator staking system (30 USDT0 minimum)
• Automatic round processing with 30-second timeouts
• Yield distribution on game completion
Key Functions:
- createQuickPlayGameUSDT0(uint256 entryFee, uint256 maxPlayers)
- createQuickPlayGameMETH(uint256 entryFee, uint256 maxPlayers)
- joinGame(uint256 gameId)
- makeChoice(uint256 gameId, Choice choice)
- stakeAsCreator(uint256 amount) // 5% APY on stake
- unstakeCreator()
- claimCreatorYield()
2. YIELDVAULT.SOL (RWA Yield Engine)
- YieldVault: 0xB47E02e88d10751Ca6FA79EbcD85fAd4a619a815
- Transaction: 0x90ba3f9385c3a11b7150a2fa02e66843cb14ff712f5c77263c777805bb143d7f - [Explorer](https://explorer.sepolia.mantle.xyz/address/0xB47E02e88d10751Ca6FA79EbcD85fAd4a619a815)
Purpose: Manages deposits to Mantle's RWA protocols and calculates yield
Supported Protocols:
• USDT0 Protocol (5% APY) - PRIMARY
• mETH Protocol (4% APY)
• Aave V3 (6% APY) - Ready for integration
• Ondo USDY (4.5% APY) - Optional
Key Functions:
- depositUSDT0(uint256 gameId, uint256 amount)
- depositMETH(uint256 gameId, uint256 amount)
- depositToAave(uint256 gameId, address asset, uint256 amount)
- getAccumulatedYield(uint256 gameId) returns (uint256)
- getYieldBreakdown(uint256 gameId) returns (principal, yield, APY, time, protocol)
- withdrawToContract(uint256 gameId) returns (principal, yield)
Yield Calculation Formula:
Yield = Principal × APY × (Time Elapsed / 1 Year)
Example: 1,000 USDT0 × 5% × (15 minutes / 525,600 minutes) = ~2.1 USDT0
3. MATCHMAKING.SOL
- Matchmaking: 0xea395fb4831028a3ad91a106281f5f8284cbabda - Transaction: 0x4ee69ffece8f97635ccbe6a006cc43eb2e040f30457d4f2fa61996719c2d2e5a - [Explorer](https://explorer.sepolia.mantle.xyz/address/0xea395fb4831028a3ad91a106281f5f8284cbabda)
Purpose: Solves the "waiting room problem"
Features:
• Smart queue system matching players by entry fee
• Automatic game creation when threshold reached
• Multiple queue buckets (low, medium, high stakes)
• <30 second average matchmaking time
4. NFTACHIEVEMENTS.SOL (User Retention & Gamification)
Purpose: Mint NFT badges for player milestones
- NFTAchievements: 0x3ff2eba8f98587a20a49805bfc2bf5d220a77611
- Transaction: 0x2dbbe7e38546d244fb0f2ab0c7da7b304875328ad51c2098121be87b0b9d9799 - [Explorer](https://explorer.sepolia.mantle.xyz/address/0x3ff2eba8f98587a20a49805bfc2bf5d220a77611)
Achievement Types:
• First Victory
• Winning Streak (3, 5, 10 games)
• Tournament Champion
• Loyalty Tiers (Bronze → Platinum)
• High Stakes Winner
• Yield Accumulator (earned X yield)
User Retention Impact:
• NFT badges create collectible value
• Leaderboards drive competition
• Achievement hunting increases session time
• Social sharing of rare NFTs
USER FLOW
COMPLETE GAME EXPERIENCE:
GAME CREATION FLOW:
1. Creator Requirements
• Minimum 30 USDT0 stake (earns 5% APY)
• One-time stake unlocks unlimited game creation
• Creator earns 10% fee from each game
2. Game Configuration
• Entry Fee: 1-100,000 USDT0 (configurable)
• Max Players: 4-20 players
• Currency: USDT0 (primary), mETH, or native MNT
• Game Mode: QuickPlay (instant) or Scheduled (future time)
3. Smart Contract Actions
• Transfer entry fee from creator to GameManager
• Auto-deposit to YieldVault (USDT0 protocol)
• Yield accumulation begins immediately
• Game status: WAITING (needs players)
PLAYER PARTICIPATION FLOW:
1. Discovery
• Browse active games on frontend
• Filter by entry fee, currency, status
• See real-time player count and yield accumulated
2. Join Game
• Click "Join Now" button
• Approve token spend (if ERC20) - one-time approval
• Transfer entry fee to GameManager
• Auto-deposit to YieldVault
• Player added to game.playerList[]
3. Game Start Trigger
• Minimum players reached (4 players)
• 1-minute countdown begins
• More players can join during countdown
• Game starts automatically when countdown expires OR max players reached
GAMEPLAY ROUND FLOW:
Round N:
1. Round Starts
• Status: IN_PROGRESS
• Round duration: 30 seconds
• Deadline: block.timestamp + 30 seconds
• All players choose HEAD or TAIL
2. Choice Submission
• Player calls: makeChoice(gameId, Choice.Head/Tail)
• Contract records choice in rounds[gameId][round].choices[player]
• Choice count updated: round.choiceCounts[choice]++
• Player marked: playerInfo[gameId][player].hasMadeChoice = true
3. Round Processing (Automatic or Manual)
Option A: All players chose (automatic)
• Check if all active players made choice
• Trigger _processRound() automatically
• Continue to outcome
Option B: Timeout (30 seconds)
• Anyone can call: processRoundTimeout(gameId)
• Auto-eliminate players who didn't choose
• Process remaining choices
• Continue to outcome
4. Outcome Determination
• Chainlink VRF request for random outcome (HEAD or TAIL)
• VRF callback updates: round.winningChoice
• Count players who chose winning choice → MINORITY
• Eliminate players who chose majority choice
• Update: playerInfo[eliminated].eliminated = true
5. Check Game Completion
• If remaining players == 1:
→ Declare winner → GAME_COMPLETED
• Else:
→ Increment round → Back to step 1
6. Winner Distribution
• Calculate total yield accumulated
• Distribute yield proportionally (100% to winner)
• Calculate fees: platform (5%), creator (10%)
• Transfer principal + yield to winner
• Mint "Tournament Champion" NFT
• Update leaderboards
REAL-TIME YIELD ACCUMULATION:
Throughout the entire game flow, the YieldVault continuously calculates yield:
Yield = Principal × APY × (block.timestamp - deposit.timestamp) / 1 Year
This yield is visible to players in real-time via frontend UI.