About Apex Predators
AI-powered animal fighters compete in MMA-style tournaments on Monad. Bet on fights, watch real-time simulations, claim your winnings.
How It Works
Connect Wallet
Use MetaMask or any Monad-compatible wallet on testnet.
Pick a Fight
Browse upcoming matchups in the Arena and check fighter stats.
Place Your Bet
Bet MON on your chosen fighter before the betting window closes.
Watch & Win
Watch the fight play out in real-time. Collect winnings if your fighter dominates.
The Agent
Autonomous Arena Manager
Moltiverse — Agent TrackApex Predators is powered by an autonomous agent that orchestrates the entire fight lifecycle on Monad — no human intervention required once deployed. The agent manages matchmaking, on-chain transactions, fight simulation, real-time streaming, and result resolution in a continuous loop.
Built for the Moltiverse Hackathon — Gaming Arena Agents bounty. The agent demonstrates meaningful on-chain autonomy: it creates betting pools, executes commit-reveal schemes for fair randomness, simulates deterministic fights from seeds, streams turn-by-turn results to spectators via SSE, and resolves outcomes on-chain — all without manual triggers.
10-Step Fight Flow
Why It's an Agent
- Autonomous execution — runs the full fight lifecycle in a loop without human triggers
- On-chain state management — reads pool/fight state, makes transaction decisions based on current conditions
- Multi-contract orchestration — coordinates BettingPool, FightResolver, and FighterRegistry contracts
- Real-time streaming — pushes live fight events to spectators via SSE as the simulation runs
- Error recovery — handles reverts, retries failed transactions, manages gas and nonce
Tech Stack
- Runtime: Node.js / Express server (TypeScript)
- Chain: Monad Testnet (EVM, Chain ID 10143)
- On-chain: viem for contract reads/writes, wallet client for signing
- Streaming: Server-Sent Events (SSE) for real-time fight data
- Simulation: Deterministic fight engine — seed → identical output, verifiable by anyone
- Frontend: Next.js 14 + wagmi/viem for on-chain reads
Fight Mechanics
Combat System
- HP: All fighters start at 100 HP
- Turns: Max 14 turns per fight
- Moves: Each fighter has 4-5 unique moves with damage ranges
- Crits: 10% base crit chance, deals 2x damage
- KO: Fighter hits 0 HP before max turns
- Decision: If max turns reached, higher HP wins
Fairness
- Fights are deterministic — same seed always produces the same fight
- Testnet uses commit-reveal scheme (seed committed before fight, revealed after)
- Mainnet will use VRF (Verifiable Random Function) for provably fair randomness
- Turn logs stored on-chain — anyone can verify by replaying the simulation
- All fighters have equal expected damage per turn (balanced)
The Fighters
| Name | Animal | Fighting Style | Special Trait Coming Soon |
|---|---|---|---|
| Kodiak | Bear | Heavy hitter, high damage | Heavy Hands — +10% damage on final blow |
| Fang | Wolf | Balanced, consistent damage | Pack Instinct — +5% damage when HP > 50% |
| Talon | Eagle | Fast strikes, more hits | Aerial Dodge — 5% base dodge chance |
| Jaws | Crocodile | Defensive, counter-attacks | Death Roll — crit stuns opponent 1 turn |
| Mane | Lion | Aggressive, all-out offense | King's Roar — first attack +15% damage |
| Venom | Snake | Poison DOT, sneaky | Poison — 2 HP/turn for 2 turns per hit |
| Kong | Gorilla | Raw power, devastating crits | Berserker — +10% damage when HP < 30% |
| Razor | Shark | Frenzy, scales with damage | Blood Frenzy — +3% per 10% opponent HP lost |
Special traits are defined but not yet active in the MVP. They will be enabled in a future update.
Betting Rules
Pool Mechanics
- A betting pool opens when a matchup is announced
- Bet MON (testnet native token) on either fighter
- Pool closes at a set time — no more bets after close
- Fight is simulated and resolved on-chain
- 1-hour dispute period after resolution before claims unlock
Payouts
- Platform takes a 5-10% fee from the total pool
- Remaining pot goes to the winning side
- Your share = your bet / total winning-side bets
- Example: You bet 10 MON on Fighter A. Total winning bets = 100 MON. Losing pool = 200 MON. Your payout = 10 + (10/100 * 200 * 0.9) = 28 MON
- If pool is cancelled or draw, full refund available
Tokenomics
$APEX — Platform Token
FutureCurrently, all betting uses MON (Monad testnet native token). Mainnet will introduce $APEX as the platform token.
- Required to place bets on fights
- Staking $APEX = share of platform revenue (betting fees)
- Governance: vote on new fighters, arenas, upgrades
- Airdropped to season champion's backers
Fighter Tokens ($BEAR, $WOLF, etc.)
FutureEach fighter will have its own token on nad.fun's bonding curve.
- Hold fighter tokens to earn a share of winnings when that fighter wins
- Burn tokens to buy gear (deflationary, post-launch)
- Vote on new gear items for your fighter
Revenue Model
5-10% platform fee on every betting pool, split as:
- 40% — $APEX stakers (revenue distribution)
- 30% — Winning fighter's prize pool
- 20% — Platform treasury (ops, dev)
- 10% — Fighter creator / admin
Roadmap
MVP (Current)
- -8 fighters with stats & moves
- -Betting pools with MON
- -Real-time fight streaming via SSE
- -On-chain fight resolution & turn logs
- -Commit-reveal randomness
- -Tournament brackets
Phase 2
- -VRF integration (provably fair randomness)
- -$APEX token launch
- -Fighter tokens on nad.fun
- -Special traits activation
- -Challenge matches
Phase 3
- -Gear system (3 slots, rarity tiers, durability)
- -Arena environments with effects
- -King of the Hill mode
- -Royal Rumble events
- -Governance via $APEX
Phase 4
- -Decentralized keeper network
- -Community-proposed fighters
- -Auto-generated highlight GIFs
- -Prediction streak leaderboard
- -Mobile app
Smart Contracts
Deployed on Monad Testnet (Chain ID 10143)
FAQ
What token do I bet with?
Currently MON (Monad testnet native token). Mainnet will use $APEX, the platform token.
Are fights fair?
Yes. Fights use a commit-reveal scheme with a deterministic simulation. Anyone can verify results by replaying the seed. Mainnet will upgrade to VRF for provably fair randomness.
How are payouts calculated?
Winners split the losing side's pool proportional to their bet size, minus a small platform fee (5-10%).
What's the dispute period?
After a fight resolves, there's a 1-hour window before winnings can be claimed. This allows time to verify the result.
Can fighters die?
No. Fighters are knocked out (0 HP) but always return for the next fight. All 8 fighters are permanently in the roster.
Are special traits active?
Special traits are defined for each fighter but are not yet active in the MVP. They'll be enabled in a future update.
When is mainnet?
After VRF integration and security audits. Currently testnet only — all bets use testnet MON with no real value.