Monsuta Core
Modular on-chain infrastructure for competitive games — trustless prize pools, cross-chain bridging, NFT crafting, achievement attestations, and non-custodial staking. Built on Avalanche C-Chain.
The Problem
Blockchain gaming has been attempted two ways. Neither works for competitive multiplayer.
Fully on-chain games make every player action a transaction. The result: wallet popups before every move, gas costs per action, multi-second confirmation windows mid-match. No competitive game has scaled with this model.
Custodial prize platforms use a developer-controlled wallet to hold tournament funds. Players trust the operator not to disappear with the pot. This defeats the entire point of using a blockchain.
The third option — the one nobody ships — is to use the blockchain only for what it's good at: economic settlement. Keep gameplay fast and off-chain. Use smart contracts exclusively for moments that require trustlessness: prize payouts, token movements, asset ownership records.
That's what Monsuta Core does.
What Monsuta Core Provides
Monsuta Core is the on-chain economic layer for competitive games. A set of independently deployable smart contracts and off-chain workers that handle the financial and ownership layer — so the game server doesn't have to hold player funds directly.
| Module | What It Does | Details |
|---|---|---|
| Token Bridge | Bidirectional token movement between WAX and Avalanche | → |
| NFT Bridge | 100k+ NFT migration with vault-based locking — never burns | → |
| Prize Pools | Tournament escrow — no admin withdrawal, winners claim directly | → |
| NFT Staking | Non-custodial staking with Merkle epoch rewards — NFTs stay in wallets | → |
| Crafting | Recipe-based item creation — trustless and server-gated modes | → |
| Achievements | On-chain attestations with EIP-712 signature issuance and revocation | → |
| Competition | Seasons, leagues, ELO ranking, leaderboards (pure JavaScript) | → |
| Treasury | Automated revenue routing across prize pools, staking, and operations | → |
What Stays on Your Game Server
| Layer | Examples |
|---|---|
| Gameplay | Combat, matchmaking, move resolution, AI, rendering |
| State | Per-match state, inventory, deck tracking, sessions |
| Authentication | Standard login — no wallet required just to play |
The rule: if an action doesn't transfer value or create a permanent on-chain record, it doesn't touch a blockchain.
How It Works in Practice
Match ends
→ game server records result internally (standard multiplayer flow)
→ if match was a prize pool match:
→ server calls PrizePool.submitResults(winners, amounts)
→ each winner calls claim() from their own wallet
→ server never touches the funds
→ if items were crafted during the match:
→ player calls CraftingRecipes.craft(recipeId, inputTokenIds, ...)
→ input NFTs burned, output NFT minted on-chain
→ if it was a ranked season match:
→ server updates ELO and leaderboard internally
→ at season end: server submits final standings to prize pool
→ if player earned an achievement:
→ server signs EIP-712 payload
→ player (or relayer) submits to AchievementsRegistry
Every on-chain action either moves real assets between parties or records a result that must be independently verifiable. Nothing else goes on-chain.
The First Game: Faded Monsuta
Every module was built to solve a real problem in Faded Monsuta — a competitive card game with over four years of operations, 2,000+ NFT holders, and 100,000+ NFTs on WAX, now migrating to Avalanche.
| Problem | Solution |
|---|---|
| 100k+ NFTs exist on WAX — players need them on Avalanche | NFT Bridge with vault-based locking |
| THC token originated on WAX — players need it on both chains | Bidirectional Token Bridge |
| Tournament prize funds shouldn't be held by the developer | Prize Pool contracts with no admin withdrawal |
| Players craft materials into permanent items | On-chain Crafting with trustless and server-gated modes |
| Players earn verifiable proof of milestones | Achievement Registry with EIP-712 signatures |
| NFT holders earn staking rewards without asset custody | Merkle epoch staking — NFTs never leave wallets |
The documentation uses Faded Monsuta as the concrete example. The infrastructure is game-agnostic — any server-authoritative multiplayer game can deploy these contracts independently.
Where to Start
| If you want to... | Start here |
|---|---|
| Understand the design principles | Design Philosophy → |
| See how all the pieces connect | Architecture → |
| Understand the token economics | Economic Model → |
| Review security guarantees | Security Model → |
| Work with the cross-chain bridges | Bridge Module → |
| Deploy trustless prize pools | Prize Pools → |
| Set up NFT staking | Staking → |
| Issue on-chain achievements | Achievements → |
| See the full contract reference | Contract Reference → |
| See the roadmap | Roadmap → |
| Have a specific question | FAQ → |