hackquest logo

InverseArena

The RWA Powered multiplayer blockchain elimination game where minority wins. Built on Mantle network

ビデオ

テックスタック

Next
Node
Ethers
Solidity
React
mantle
Web3

説明

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/

Pitch Deck: https://www.canva.com/design/DAG-ZjrkX2M/KDpjTgTLUYak71EzxhxM6w/edit?utm_content=DAG-ZjrkX2M&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton

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

  1. 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

  2. Joining: Players join by paying the entry fee set by the Pool/Game creatore

  3. Activation: Pool starts when minimum players join or creator activates

  4. Rounds: Players make choices, minorities advance, majorities eliminated

  5. 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

  1. On-chain games are either slow or lack rich historical data and discovery.

  2. Creators have weak monetization and poor incentives to bootstrap activity.

  3. 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.

ハッカソンの進行状況

Our journey during the Mantle Global Hackathon began with a deep dive into the architecture of capital efficient gaming. In the first phase, we focused on building a modular foundation that could bridge the gap between DeFi yield and competitive PvP mechanics. We successfully architected a protocol where player stakes are never idle; instead, they are routed through our custom YieldVault into Mantle-native RWA protocols. This required setting up a robust development environment using Foundry and Hardhat, allowing us to support multiple assets including $USDTO$ and $mETH$ from day one.As we moved into smart contract development, we implemented the GameManager contract to handle the entire lifecycle of an elimination game, from pool creation to the final payout. We prioritized security and transparency, building a creator staking mechanism that requires a minimum deposit of 30 $USDTO$ to ensure skin in the game. To validate our logic, we ran over 100 test cases covering every possible edge case in the elimination rounds. This backend was then integrated with a responsive Next.js frontend, where we focused on real-time state synchronization so players can see round transitions and yield accumulation as they happen on the Mantle Sepolia testnet. Overcoming Technical Hurdles One of the most significant challenges we faced was the discovery that Chainlink VRF is not currently available on the Mantle Network. For a game built on binary choices and eliminations, provably fair randomness is not just a feature it is a requirement for trust. Rather than slowing down, we used this as an opportunity to innovate. We engineered a hybrid entropy engine that generates randomness on-chain by combining block-hash data, player addresses, and unique game-state timestamps. By hashing these multiple sources of entropy together, we created a system where no single player or miner can predict or manipulate the outcome, ensuring the "Minority Wins" logic remains bulletproof.
チームリーダー
JJames Victor
プロジェクトリンク
業界
NFTGamingDeFi