Staking Your NFTs
Staking allows you to lock your FarFISH NFTs for a fixed period and earn FRH token rewards. The longer you stake and the rarer your NFT, the higher your rewards.
How Staking Works
FarFISH uses a time-locked staking system:
- Choose an NFT - Select which token ID to stake
- Select Lock Duration - Pick 30, 90, 180, or 360 days
- Lock NFT - Your NFT transfers to the staking contract
- Wait - Let the lock period complete
- Claim Rewards - Withdraw your FRH tokens
- Unstake - Optionally withdraw your NFT back to your wallet
Key Characteristics
- Fixed Lock Periods - Cannot withdraw early
- Fixed Rewards - Known reward amount when you stake
- Single Stake Per NFT - One NFT = one stake at a time
- Claim Anytime After Unlock - Rewards don't expire
- Keep NFT Staked - Can claim rewards without unstaking
Staking Contract: See Contract Addresses for details.
Rewards Calculation
Rewards are determined by two factors:
NFT Rarity
Staking rewards are determined by NFT rarity. For complete rarity tier details and token IDs, see NFT Rarity Tiers.
Lock Duration
Longer lock periods earn exponentially higher rewards:
- 30 days - Base duration
- 90 days - 2x base rewards
- 180 days - 4x base rewards
- 360 days - 8x base rewards
Complete Rewards Table
Rewards are calculated as: Base (120 FRH) × Rarity Multiplier × Duration Multiplier
For the complete rewards table showing all combinations, see NFT Staking Rewards or use the calculator on the Staking page.
Step-by-Step: Staking Your NFT
Prerequisites
Before staking, ensure you:
- ✅ Have at least one FarFISH NFT in your wallet
- ✅ Have your wallet connected to Base network (network details)
- ✅ Have enough ETH for gas fees (~$0.10-$0.50)
Staking Process
-
Navigate to Stake Page
- Go to
/stakein any FarFISH app - Click the "Stake NFT" button
- Go to
-
Select Your NFT
- A modal appears showing your available NFTs
- Choose which token ID to stake
- You'll see the rarity tier displayed
-
Choose Lock Duration
- Select 30, 90, 180, or 360 days
- Preview shows your expected reward
- Review the unlock date carefully
-
Approve NFT Transfer (first time only)
- Your wallet prompts for approval
- This allows the staking contract to receive your NFT
- Approve the transaction
-
Confirm Stake Transaction
- After approval, a second transaction appears
- This actually stakes your NFT
- Confirm in your wallet
-
Wait for Confirmation
- Transaction processes on Base blockchain (~2 seconds)
- Success message appears
- Your stake is now active!
What Happens When You Stake
On-Chain:
- Your NFT transfers from your wallet to staking contract
- A stake record is created with:
- Token ID
- Lock duration
- Start timestamp
- Unlock timestamp
- Reward amount
In FarFISH:
- Your active stake appears in the stake table
- Unlock date shows time remaining
- Silver Chest remains available (NFT still counts as "held" while staked)
- Leaderboard status updated
In Your Wallet:
- NFT disappears from available balance
- Cannot transfer or sell while staked
- Can still view stake info in FarFISH apps
Step-by-Step: Unstaking Your NFT
When Can You Unstake?
You can unstake only after the lock period completes:
- Before unlock: Unstake button disabled ("Locked")
- After unlock: Unstake button enabled
- Anytime after unlock: No expiration-unstake whenever ready
Unstaking Process
-
Navigate to Stake Page
- Go to
/stakein any FarFISH app - View your active stakes table
- Go to
-
Check Unlock Status
- Find your stake in the list
- Ensure unlock date has passed
- Status shows "Unlocked" or time remaining
-
Claim Rewards (Optional)
- If you haven't claimed yet, claim your FRH first
- See "Claiming Staking Rewards" section below
- Or unstake directly-rewards won't be lost
-
Click "Unstake NFT" button
-
Select Stake to Unstake
- Modal shows your unlocked stakes
- Choose which stake to unstake
- Confirm your selection
-
Approve Transaction
- Your wallet prompts for confirmation
- Approve the unstake transaction
- Wait for blockchain confirmation
-
NFT Returns to Wallet
- Your NFT is transferred back to your wallet
- Stake is marked as "unstaked" in records
- You can now transfer, sell, or stake again
Early Unstaking
Important: There is no early unstaking in FarFISH.
If you stake for 360 days, you must wait the full 360 days. This is enforced by the smart contract and cannot be bypassed.
Plan accordingly:
- Choose lock durations you're comfortable with
- Longer locks = higher rewards but less flexibility
- You can stake multiple NFTs with different durations for flexibility
Step-by-Step: Claiming Staking Rewards
When Can You Claim?
You can claim rewards after the lock period completes:
- Before unlock: Claim button disabled
- After unlock: Claim button enabled immediately
- After unstaking: Cannot claim (must claim before unstaking or during unlock period)
Claiming Process
-
Navigate to Stake Page
- Go to
/stakein any FarFISH app - View your active stakes table
- Go to
-
Check Claim Eligibility
- Find your stake in the list
- Ensure:
- ✅ Unlock timestamp has passed
- ✅ "Claimed" status is false
- ✅ "Unstaked" status is false
-
Click "Claim Rewards" button
- Button appears next to eligible stakes
- Shows reward amount (e.g., "Claim 960 FRH")
-
Approve Transaction
- Your wallet prompts for confirmation
- FRH tokens will be sent to your wallet
- Approve the transaction
-
Receive FRH Tokens
- Transaction confirms on Base blockchain
- FRH tokens transfer to your wallet
- Stake is marked as "claimed"
After Claiming
You can:
- ✅ Unstake your NFT
- ✅ Leave NFT staked indefinitely
- ✅ View your FRH balance in your wallet
You cannot:
- ❌ Claim rewards twice from the same stake
- ❌ Claim rewards before unlock period ends
Checking Your FRH Balance
In Your Wallet:
- Add FRH token to wallet (see FRH Token Contract)
- View balance in token list
In FarFISH:
- Check Chest page - Shows total FRH holdings
- Check Profile page - Displays wallet stats including FRH balance
Managing Multiple Stakes
You can have multiple active stakes simultaneously:
Staking Multiple NFTs
If you own multiple NFTs:
- Stake each NFT separately
- Choose different lock periods for each
- Manage each stake independently
Example Strategy:
- Stake Bluefin #1 for 30 days (short-term rewards)
- Stake GoldRay #2 for 180 days (medium-term)
- Stake ShadowGill #3 for 360 days (maximum rewards)
This creates a staking ladder with rewards unlocking at different times.
Viewing All Stakes
The Stake page shows all your active stakes:
Table Columns:
- Token ID - Which NFT is staked
- Lock Duration - 30, 90, 180, or 360 days
- Unlock Date - When you can claim/unstake
- Reward Amount - FRH tokens you'll earn
- Status - Locked / Unlocked / Claimed / Unstaked
Filtering:
- Active stakes (not unstaked)
- Claimable stakes (unlocked, not claimed)
- Historical stakes (unstaked or claimed)
Frequently Asked Questions
Can I unstake early?
No, staking has a fixed lock period enforced by the smart contract. Choose your duration carefully.
What happens if I lose access to my wallet?
Your stake remains on-chain, but you need your wallet's private keys to claim rewards or unstake. Always backup your wallet securely.
Can I stake the same NFT multiple times?
Not simultaneously. You can stake an NFT, wait for unlock, unstake, then stake again with a new duration.
Do rewards compound?
No, staking rewards are fixed when you stake. There's no auto-compounding.
Can I add more time to an existing stake?
No, each stake is independent. To stake longer, you must unstake and create a new stake.
What if I claim but don't unstake?
Your NFT remains staked indefinitely. It won't earn additional rewards, but counts as "held" for Silver Chest access.
Do I need to unstake before claiming?
No, you can claim rewards while keeping your NFT staked. Unstaking is optional after claiming.
Can I stake an NFT that's listed for sale?
If an NFT is actively listed on a marketplace, you cannot stake it (it's locked in the marketplace contract). Cancel the listing first.
Does staking count for leaderboard?
Yes, having active stakes contributes to your reputation and "Premium" tier status, which affects leaderboard visibility.
Advanced Tips
Maximizing Rewards
- Stake Legendary NFTs Long-Term
- ShadowGill + 360 days = 7,680 FRH
- Highest possible rewards per stake
- Create a Staking Ladder
- Stake multiple NFTs with different durations
- Regular reward unlocks for cash flow
- Flexibility without sacrificing long-term gains
- Claim Promptly
- Rewards don't expire, but claim when unlocked
- Reduces risk of forgetting
- Frees up contract slot
- Keep One NFT Unstaked
- Ensures you always have an NFT for flexibility
- Can stake later when ready
- Maintains Silver Chest access even if stakes expire
Gas Optimization
Batch Operations:
- Approve multiple stakes in one session
- Claim multiple stakes together
- Reduce overall gas costs
Low-Traffic Times:
- Stake during off-peak hours (late night UTC)
- Monitor Base network gas prices
- Wait for low-traffic periods if not urgent
Need Help?
For more information:
- See NFT System to understand rarity and minting
- Check Daily Rewards for chest claiming
- Visit Troubleshooting for transaction errors