Overview
Require players to hold MON or a specific ERC-20 token to enter certain arenas. This enables premium arenas, community-exclusive games, and token utility.
Scope
- Arena configuration: optional `tokenGate` field (contract address, minimum balance)
- Server-side: verify token balance on arena join (RPC call to Monad)
- Client-side: show lock icon on gated arenas, prompt to connect wallet
- Support both native MON and ERC-20 tokens
- Graceful fallback: if RPC is unavailable, allow entry (don't block gameplay)
Notes
EVM-compatible — the token gating logic works with any ERC-20 on any EVM chain.
Arena management is in `src/server/ArenaManager.js` and `src/server/ArenaInstance.js`. The arena lobby UI is in `src/client/ui/ArenaLobby.js`.
Overview
Require players to hold MON or a specific ERC-20 token to enter certain arenas. This enables premium arenas, community-exclusive games, and token utility.
Scope
Notes
EVM-compatible — the token gating logic works with any ERC-20 on any EVM chain.
Arena management is in `src/server/ArenaManager.js` and `src/server/ArenaInstance.js`. The arena lobby UI is in `src/client/ui/ArenaLobby.js`.