FISHEE Staking Mechanism
Overview
Players can stake caught fish to earn a share of the game's Reward Pool. Staking rewards come from platform revenue — not from token inflation. Rewards are variable and depend on the pool balance and total stakers.
Disclaimer: Staking rewards are game rewards funded by platform activity. They are NOT investment yields, interest, dividends, or guaranteed returns. See Rewards Disclaimer for full details.
Revenue Split
All SOL revenue from chest, rod, and bait purchases is split:
| Allocation | Share | Wallet | Purpose |
|---|---|---|---|
| Staking Reward Pool | 50% | reward_wallet | Funds fish staking emissions |
| Liability Reserve | 30% | liability_wallet | Buffer for outstanding reward obligations |
| $FISHEE Buyback | 10% | buyback_wallet | Buy and burn $FISHEE from DEX |
| Treasury / Ops | 10% | reserve_wallet | Team ops, infrastructure, development |
How Staking Works
Step 1: Catch a Fish
Fish are caught by casting with rods and bait. Each fish belongs to a category (Small, Medium, Large, Legendary) with a specific staking duration and reward weight.
Step 2: Claim as NFT
After catching a fish, claim it as an on-chain NFT. The NFT includes metadata:
- Fish name and category
- Staking duration
- Reward weight
staked_until: empty (not yet staked)exhausted: false
Step 3: Stake the Fish
Stake your fish NFT to begin earning rewards. Once staked:
- The fish cannot be unstaked early — you must wait for the full staking duration
- The fish cannot be traded or transferred while staked (token account is frozen)
- After the staking duration ends, the fish must be manually unstaked by the player
Step 4: Unstake and Collect Rewards
After the staking duration ends:
- Click "Unstake" to collect your accumulated rewards
- The fish NFT is marked as
exhausted = true - Exhausted fish cannot be re-staked — they become collectible-only
- Rewards (SOL) are transferred from the reward pool to your wallet
Fish Tier Table
Small Fish (24h – 48h stake)
| Fish | Stake Duration | Weight |
|---|---|---|
| Sardine | 24h | 1x |
| Anchovy | 24h | 1x |
| Mackerel Scad | 30h | 1.5x |
| Clownfish | 36h | 2x |
| Flying Fish | 48h | 3x |
Medium Fish (3d – 5d stake)
| Fish | Stake Duration | Weight |
|---|---|---|
| Red Snapper | 3d | 5x |
| Sea Bass | 3d | 5x |
| Mahi Mahi | 4d | 7x |
| Bonito | 4d | 7x |
| Barracuda | 5d | 10x |
Large Fish (6d – 7d stake)
| Fish | Stake Duration | Weight |
|---|---|---|
| Giant Trevally | 6d | 15x |
| Yellowfin Tuna | 6d | 15x |
| Grouper | 7d | 20x |
| Wahoo | 7d | 20x |
| Sailfish | 7d | 25x |
Legendary Fish (10d – 30d stake)
| Fish | Stake Duration | Weight |
|---|---|---|
| Bluefin Tuna | 10d | 40x |
| Black Marlin | 14d | 55x |
| Swordfish | 21d | 75x |
| Goliath Grouper | 25d | 100x |
| Dogtooth Tuna | 30d | 150x |
Reward Calculation
Daily Pool Emission
Each day at 00:00 UTC, 5% of the current reward pool balance is distributed to all active stakers.
daily_emission = reward_pool_balance × 0.05
Per-Player Reward
your_daily_reward = (your_total_weight / global_total_weight) × daily_emission
Where:
your_total_weight= sum of weights of all your staked fishglobal_total_weight= sum of weights of ALL staked fish across ALL players
Total Reward
total_reward = your_daily_reward × stake_duration_days
Note: Daily rewards may vary day-to-day as the pool balance and total stakers change. The formula recalculates each epoch.
Example
- Reward pool: 100 SOL
- Daily emission: 5 SOL
- You stake: 1 Swordfish (75x weight)
- Global total weight: 2,000
- Your daily reward:
(75 / 2000) × 5 = 0.1875 SOL/day - Over 21-day stake:
0.1875 × 21 ≈ 3.94 SOL
As more players stake or the pool shrinks, individual shares decrease — this is the self-balancing mechanism that makes the system sustainable.
Whale Protection
| Rule | Limit |
|---|---|
| Max staked fish per wallet | 20 fish |
| Max weight per wallet | 500 weight points |
| Max % of daily emission per wallet | 10% cap |
If a whale's calculated share exceeds 10% of the daily emission, their excess is redistributed to other stakers proportionally.
Pool Exhaustion Handling
The 5% daily emission model mathematically prevents total depletion (asymptotic). However:
| Pool Balance | Action |
|---|---|
| > 10 SOL | Normal 5% daily emission |
| 1–10 SOL | Reduced 2% daily emission |
| < 1 SOL | Emissions paused, "Reward pool refilling" displayed |
| Refilled above 5 SOL | Resume normal emissions |
Pool Refill Sources
- New chest, rod, and bait purchases (primary — 50% of revenue)
- Fish marketplace trading fees (future)
- Manual treasury injection (emergency)
NFT Lifecycle
Catch Fish → Claim NFT → Stake → Wait Duration → Unstake → Collect Reward
↓
Fish is EXHAUSTED
(collectible only, no restake)
Why Fish Expire After Staking
Each fish NFT has a one-time staking lifecycle. After unstaking:
- The NFT metadata field
exhaustedis set totrue - The staking program rejects any restake attempts for exhausted fish
- Even if the NFT is sold or transferred, the new owner cannot restake it
- This is enforced on-chain via the NFT's PDA (Program Derived Address) which tracks staking history permanently
Can Exhausted Fish Be Traded?
Yes. Exhausted fish NFTs become collectible items — they can be traded on NFT marketplaces. Their value comes from collection completion, rarity, and future game utility (cosmetics, leaderboard display, etc.), not from staking rewards.
Implementation Phases
Phase 0 (Current — Devnet)
- Staking UI shows estimated rewards (preview only)
- No real SOL distribution
- Backend-managed staking state
- Fish are not yet NFTs (pending catch records)
Phase 1 (Mainnet MVP)
- Backend-managed staking with real SOL payouts from reward wallet
- Fish claimed as compressed NFTs
- Manual unstake + reward claim
- Whale protection caps enforced server-side
Phase 2 (Mainnet v2)
- On-chain staking program (Solana)
- Fish NFTs held in escrow PDA during staking
- Trustless claim instruction
- Epoch calculation via Solana timestamps
- On-chain weight registry
Rewards Disclaimer
FISHEE staking rewards are game rewards funded by platform activity revenue. They are NOT:
- Investment yields or interest
- Dividends or profit sharing
- Guaranteed returns of any kind
- Passive income
Reward amounts depend on:
- Current reward pool balance
- Total number of stakers and their fish weights
- Platform revenue and activity levels
The reward pool may be depleted, paused, or adjusted at any time. Past rewards do not guarantee future rewards. FISHEE is a game, not a financial product. Playing FISHEE or holding $FISHEE does not constitute an investment.
You may lose some or all value. Consult your own financial and legal advisors.