Skip to main content

Economic Model

Dual-currency architecture, token flow mechanics, and the economics of competitive play.


Overview: Two-Currency Architecture

Monsuta Core uses a dual-currency model. This is not optional — it is a core design decision that prevents the inflation loop that kills most blockchain games.

CurrencyRoleToken (Faded Monsuta)
Gameplay currencyInternal resource. Earned through play, spent on game features.THC (ERC-20 on Avalanche)
Settlement currencyExternal value layer. Funds prizes, entry fees, sponsorships.AVAX (native) or any ERC-20

Why Not One Currency?

A single-token model creates a toxic loop:

  • Players earn the same token they use to enter competitions
  • Supply grows with every match played
  • Demand stays flat
  • Token price falls → prizes are worth less → players quit → token falls further

Separating the currencies isolates speculation from gameplay mechanics.


THC — The Gameplay Currency

FadedMonsutaTHC is an ERC-20 deployed on Avalanche C-Chain. It is the first implementation of Monsuta Core's gameplay currency pattern.

Key Properties

  • decimals = 4 (matching WAX precision)
  • totalSupply starts at zero and is minted/burned by the bridge
  • No admin minting: tokens only created via bridge claim() with valid oracle signatures
  • Bidirectional: WAX ↔ Avalanche via the teleport bridge

How THC Enters Circulation

SourceMechanism
WAX → AVAX bridgePlayer bridges existing WAX THC into Avalanche
Match rewardsGame server awards THC after match (off-chain ledger → claim)
Season milestonesAwarded at season end based on rank
Achievement completionOne-time drops for specific accomplishments

How THC Exits Circulation

SinkMechanism
Crafting costsConsumed when crafting items or blending
Upgrade feesSpent to enhance existing NFTs
Entry ticketsSpent to enter specific game modes
AVAX → WAX bridgeBurns on Avalanche, releases on WAX

Design rule: THC is a resource, not a yield product. Every source of new THC must correspond to a game mechanic that consumes it.


AVAX — The Settlement Currency

AVAX is used for competitive prize custody and sponsorship. It does not enter gameplay mechanics.

Who Provides AVAX

ActorHow
PlayersEntry fees deposited when registering for funded tournaments
Sponsors / guildsDirect fund() call to the Prize Pool contract
Game operatorInitial pool seeding for launch tournaments

Where AVAX Goes

DestinationMechanism
Winnersclaim() call by winner address, directly from smart contract
TreasuryConfigurable fee % sent at submitResults() time
Unclaimed sweepAfter 30-day deadline, remaining balance swept to treasury or owner

Token Flow Diagram

  WAX (legacy)                    Avalanche C-Chain
────────────── ──────────────────────────────────────

WAX THC balance AVAX (settlement currency)
│ │
│ bridge WAX→AVAX │ sponsors + entry fees
▼ ▼
AVAX THC balance PrizePool Contract
(FadedMonsutaTHC) │
│ submit results
│ gameplay activity │
▼ ▼
Earn THC via Winners call claim()
match rewards │
│ ▼
▼ Player AVAX balance
Spend THC on
crafting / upgrades


THC exits circulation
(burned by game mechanics)

Prize Pool Economics

Each PrizePool instance is an isolated contract. The financial model per pool:

totalFunded = Σ(entry fees) + Σ(sponsor deposits)

treasuryFee = totalFunded × treasuryFeePercent / 100
availablePrizes = totalFunded - treasuryFee

assert: Σ(winner amounts submitted) ≤ availablePrizes

The server calculates exact payout amounts off-chain based on prizeSplit[] and then submits them. The contract only verifies the math holds.

Example (64-player tournament, 0.1 AVAX entry, 5% treasury fee, [50/30/20] split):

totalFunded    = 64 × 0.1 = 6.4 AVAX
treasuryFee = 6.4 × 0.05 = 0.32 AVAX
availablePrizes = 6.08 AVAX

1st place: 6.08 × 0.50 = 3.04 AVAX
2nd place: 6.08 × 0.30 = 1.824 AVAX
3rd place: 6.08 × 0.20 = 1.216 AVAX

Staking Economics

NFTStaking.sol supports three reward models:

ModelHow Rewards Are Calculated
FixedEmissionsrewardPerEpoch tokens distributed per epoch, regardless of pool size
PooledrewardPool × pooledDistributionBps / 10000 distributed per epoch
HybridFixed emissions first, then pooled percentage on the remainder

NFT weight determines share of each epoch's distribution:

userShare = userWeight / totalWeight

epochReward = computeDistributable()

userEpochEarning = epochReward × userShare

Weight mode is either Flat (all NFTs = weight of 1) or Manual (owner assigns per-token weights — useful for rarity tiers).


Economic Health Indicators

A healthy economy shows:

IndicatorHealthy SignWarning Sign
THC supply growthGrows proportional to new players bridging inGrows faster than active crafting consumption
Tournament participationConsistent AVAX deposits from players and sponsorsAll pools seeded by game operator only
Crafting activityHigh % of earned THC being spentTHC accumulating in wallets with no spending
Staking distributionBroad distribution across many wallets1-2 wallets holding most staking weight

Configurable Parameters Per Game

Any game using Monsuta Core defines its own economic config:

ParameterDescription
settlementTokenWhat players pay prizes with (AVAX = address(0), or any ERC-20)
entryFeeCost to enter a pool per player
treasuryFeePercent% of pool routed to treasury (0–100)
prizeSplit[]Payout distribution e.g. [50, 30, 20]
maxParticipantsHard cap per pool (0 = unlimited)
rewardModelFixed, Pooled, or Hybrid staking
epochDurationHow often staking rewards distribute
lockDurationHow long staked NFTs are locked
rewardPerEpochFixed emissions amount per epoch
pooledDistributionBpsPooled % in basis points (e.g. 1000 = 10%)

These are set at contract initialization. No code changes needed to tune the economics for a different game.