
Cheese Chase
Whitepaper v1.0On-chain GameFi on Uniswap V4 · Ethereum · 2026
10,000
Total NFTs
$CHEESE
Game Token
≈3 days
Break-even
Overview
Cheese Chase is an on-chain GameFi game built on Ethereum Mainnet, themed around the classic cartoon IP "Ucat & UMouse." The game transforms the predator-prey dynamic into an on-chain economic game where players mint NFT characters, stake to earn $CHEESE tokens, and constantly weigh the tradeoff between "safe claim" and "risky gamble."
All core mechanics are executed by smart contracts. Randomness is guaranteed by Chainlink VRF v2.5, and price anchoring is maintained in real time by Chainlink Price Feed + Uniswap V4. All rules are hardcoded in the contracts — zero backdoors, no proxy upgrades.
10,000
Total NFTs
Ucat 1K · UMouse 9K
$CHEESE
Game Token
Max supply 1B
≈ 3 Days
Break-even
U-pegged dynamic
NFT Characters

Ucat — Predator
1,000 · 10%- ▸Share steal pool weighted by Alpha Score while staked
- ▸Every UMouse claim → fixed 25% into Ucat pool
- ▸UMouse stolen → 100% into Ucat pool

UMouse — Survivor
9,000 · 90%- ▸U-pegged dynamic $CHEESE yield while staked
- ▸3 days staked ≈ 1 NFT cost (≈ $20)
- ▸No threshold — claim anytime
Two-Phase Minting
| Phase | Range | Price | Currency | Special |
|---|---|---|---|---|
| Genesis Phase | #1 ~ #2,000 | 0.01 ETH / each (≈ $20) | ETH | Genesis NFT · Permanent perks |
| Regular Phase | #2,001 ~ #10,000 | ≈ $20 USD in $CHEESE (dynamic) | $CHEESE (burned) | Regular NFT |
Genesis NFT Perks

Genesis Ucat Perks
- ✓While staked: global Ucat tax rises 25% → 30%
- ✓Bonus revenue distributed among all staked Ucats by Alpha Score weight

Genesis UMouse Perks
- ✓Fully immune to Ucat's 50% steal random event
- ✓Only pays fixed Ucat tax — rest is 100% safe to claim
Alpha Score Weights
| Alpha Score | Multiplier | Rarity |
|---|---|---|
| 1 | 1× | Common |
| 2 ~ 4 | 2× ~ 4× | Rare |
| 5 ~ 7 | 5× ~ 7× | Epic |
| 8 | 8× | Legendary |
$CHEESE Tokenomics
100M
Initial Supply
1B
Max Supply Cap
Burned
Regular Mint
Minted
UMouse Yield
Supply Sources & Sinks
| Direction | Event | Amount |
|---|---|---|
| Mint + | UMouse staking yield | Dynamic U-pegged calculation |
| Mint + | Initial liquidity minting | 100,000,000 (one-time at deploy) |
| Burn - | Regular NFT mint | ≈ $20 USD equivalent / NFT |
| Upgrade Burn - | NFT upgrade system | Burn lower-tier NFT to upgrade (launching soon) |
Dynamic Mint Price Formula (Phase 2)
mintPrice ($CHEESE) = TARGET_USD ÷ (ETH_USD × CHEESE_per_ETH)
ETH_USD ← Chainlink ETH/USD Price Feed
CHEESE_per_ETH ← Uniswap V4 CHEESE/ETH pool spot price
Falls back to protection price automatically in extreme market conditions
$CHEESE Distribution Flow
| Scenario | Condition | UMouse Receives | Ucat Pool Receives |
|---|---|---|---|
| Regular UMouse stolen | 50% chance | 0% | 100% |
| Regular UMouse success | 50% chance | 75% | 25% |
| Genesis UMouse (no Genesis Ucat staked) | Always | 75% | 25% |
| Genesis UMouse (Genesis Ucat staked) | Always | 70% | 30% |
Game Mechanics
Minting
During Regular Phase minting, there is a 10% chance of being "stolen": the $CHEESE spent on minting is not burned but transferred into the reward pool of a randomly selected staked Ucat (weighted by Alpha Score). Genesis Phase uses ETH — no steal risk.
Staking
| Action | UMouse | Ucat |
|---|---|---|
| Stake | NFT transferred to contract, yield timer starts | NFT transferred, starts sharing Alpha Score–weighted reward pool |
| Unstake | Yield stops; accumulated rewards remain claimable | Exits reward distribution; accumulated balance remains claimable |
| Source | Own continuous yield (U-pegged) | UMouse claim tax + stolen amounts |
UMouse Yield Formula (U-pegged)
pending = elapsed_seconds × mintPrice ÷ CLAIM_DURATION
CLAIM_DURATION = 3 × 86,400 = 259,200 seconds
Staking 3 days → yield exactly equals current NFT mint cost (≈ $20)
$CHEESE price rises → fewer $CHEESE minted daily; falls → more minted
UMouse Claim Flow (2-step + Chainlink VRF)
Step 1 · Submit Request
Player calls requestClaim(tokenId). Pending reward is locked, timer resets, a VRF randomness request is sent to Chainlink.
Step 2 · On-chain Callback (~1-2 min)
VRF calls back fulfillRandomWords. The true random result determines: 50% stolen / 50% paid out. Result is unpredictable and non-replayable.
The two-step design prevents users from simulating the outcome before submitting. Chainlink VRF provides cryptographic fairness guarantees.
Ucat Claim
The Ucat reward pool can be claimed anytime in a single transaction, distributed proportionally by each Ucat's Alpha Score as a share of the total staked Ucat weight. No randomness risk — stable, predictable income.
Tech Architecture
| Contract | File | Responsibility |
|---|---|---|
| CheeseToken | src/CheeseToken.sol | ERC20 + ERC20Burnable; MINTER_ROLE granted to Hook |
| TomAndJerryNFT | src/TomAndJerryNFT.sol | ERC721Enumerable + ERC2981; Genesis Mint, dynamic pricing, OpenSea support |
| CheeseChaseHook | src/CheeseChaseHook.sol | Uniswap V4 Hook; stake/unstake/claim; VRF integration; Genesis privilege logic |
External Dependencies
| Dependency | Purpose |
|---|---|
| Uniswap V4 Core | Hook integration — IPoolManager, StateLibrary, PoolKey, etc. |
| OpenZeppelin 5.x | ERC20, ERC721Enumerable, ERC2981, AccessControl, ReentrancyGuard |
| Chainlink VRF v2.5 | True randomness — two-step async request/callback flow |
| Chainlink Price Feed | ETH/USD live price — used for dynamic mint pricing |
Security Design
Randomness Anti-manipulation
Chainlink VRF: request and result are in separate blocks — unpredictable and non-replayable
Oracle Price Guard
Price deviation protection + data staleness detection + fallback price in extreme conditions
Reentrancy Protection
OpenZeppelin ReentrancyGuard applied to all state-modifying functions
Integer Overflow Safety
Solidity 0.8.26 built-in overflow checks — no manual SafeMath required
Tiered Access Control
AccessControl MINTER_ROLE + onlyOwner dual-layer permission isolation
Genesis Privilege Immutability
isGenesis is written by the contract at mint time — externally immutable
Economic Analysis
Player Strategy Matrix
| Role | Risk | Expected Return | Optimal Strategy |
|---|---|---|---|
| Regular UMouse | Medium (50% steal) | 37.5% net EV | Frequent small claims vs. accumulate — depends on risk appetite |
| Genesis UMouse | Low (no steal) | 75% deterministic yield | Claim as needed, stable compounding |
| Ucat (high α) | None | Proportional to staked UMouse count | Long-term stake, wait for large steal events |
| Genesis Ucat | None | +5% global tax bonus | Prioritize staking to activate global income boost |
U-Pegged Deflationary Balance Mechanism
Dual-sided auto-adjustment: As $CHEESE price rises, both the Mint consumption per NFT (in $CHEESE) and UMouse's daily yield shrink proportionally — both sides contract in sync, creating an endogenous stability mechanism.
Sustained burn demand: New players must continuously buy and burn $CHEESE (regular Mint) to participate. Additionally, the upcoming NFT upgrade system will introduce a second burn vector — holders can burn lower-tier NFTs to forge higher-rarity ones, creating ongoing demand as the ecosystem scales. This is the core demand pillar for $CHEESE — not dependent on new inflationary incentives.
50% steal redistribution: Stolen $CHEESE is not new inflation — it is redistributed from UMouse's earned rewards to Ucat stakers. Total inflation does not change due to steal events; only the distribution path changes.
Key Parameters
| Parameter | Value | Mutable |
|---|---|---|
| Genesis NFT supply | 2,000 | Immutable |
| Genesis ETH price | 0.01 ETH (≈ $20) | Immutable |
| Target mint price | ≈ $20 USD equivalent | Immutable |
| Target break-even | 3 days | Immutable |
| Ucat base tax rate | 25% | Immutable |
| Genesis Ucat bonus tax | +5% (total 30%) | Immutable |
| UMouse steal probability | 50% | Immutable |
| Mint steal probability | 10% | Immutable |
| Price refresh frequency | Auto-synced hourly on-chain | Auto on-chain |
| Mint price fallback | Auto-switches to protection price in extreme markets | Auto on-chain |
Roadmap
Phase 0 · Development
Completed- ▸Smart contract development + full test suite (50+ test cases)
- ▸Chainlink VRF + Price Feed integration
- ▸Frontend DApp (Next.js + Wagmi + RainbowKit)
Phase 1 · Genesis
- ▸OpenSea Genesis Mint opens (2,000 NFTs)
- ▸ETH proceeds seed CHEESE/ETH liquidity pool
Phase 2 · Public
- ▸Regular Mint opens
- ▸$CHEESE in live circulation, full game active
Phase 3 · Expansion
- ▸Tournament mode, global leaderboard
- ▸Cross-chain support, new character skins
Open source · On-chain randomness · Zero backdoors · No proxy upgrades
Back to Home →