Skip to main content

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:

AllocationShareWalletPurpose
Staking Reward Pool50%reward_walletFunds fish staking emissions
Liability Reserve30%liability_walletBuffer for outstanding reward obligations
$FISHEE Buyback10%buyback_walletBuy and burn $FISHEE from DEX
Treasury / Ops10%reserve_walletTeam 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:

  1. Click "Unstake" to collect your accumulated rewards
  2. The fish NFT is marked as exhausted = true
  3. Exhausted fish cannot be re-staked — they become collectible-only
  4. Rewards (SOL) are transferred from the reward pool to your wallet

Fish Tier Table

Small Fish (24h – 48h stake)

FishStake DurationWeight
Sardine24h1x
Anchovy24h1x
Mackerel Scad30h1.5x
Clownfish36h2x
Flying Fish48h3x

Medium Fish (3d – 5d stake)

FishStake DurationWeight
Red Snapper3d5x
Sea Bass3d5x
Mahi Mahi4d7x
Bonito4d7x
Barracuda5d10x

Large Fish (6d – 7d stake)

FishStake DurationWeight
Giant Trevally6d15x
Yellowfin Tuna6d15x
Grouper7d20x
Wahoo7d20x
Sailfish7d25x

Legendary Fish (10d – 30d stake)

FishStake DurationWeight
Bluefin Tuna10d40x
Black Marlin14d55x
Swordfish21d75x
Goliath Grouper25d100x
Dogtooth Tuna30d150x

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 fish
  • global_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

RuleLimit
Max staked fish per wallet20 fish
Max weight per wallet500 weight points
Max % of daily emission per wallet10% 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 BalanceAction
> 10 SOLNormal 5% daily emission
1–10 SOLReduced 2% daily emission
< 1 SOLEmissions paused, "Reward pool refilling" displayed
Refilled above 5 SOLResume normal emissions

Pool Refill Sources

  1. New chest, rod, and bait purchases (primary — 50% of revenue)
  2. Fish marketplace trading fees (future)
  3. 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 exhausted is set to true
  • 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.