Skip to main content

Introduction

Delegation allows you to earn staking rewards without running a validator or technical infrastructure. By delegating your FEN tokens to a validator, you participate in network security and earn a share of rewards.
Quick Facts:
  • Minimum Delegation: 1,000 FEN
  • No Maximum: Delegate any amount
  • Earn Rewards: ~8-13% APY (after commission)
  • Unbonding Period: 21 days to withdraw
  • Risk: Validator slashing doesn’t affect your stake

How Delegation Works

Process:
  1. Choose a validator (based on commission, uptime, reputation)
  2. Delegate your FEN tokens via smart contract
  3. Validator uses combined stake to validate blocks
  4. Earn proportional share of validator’s rewards
  5. Claim rewards anytime (10% tax applies)
  6. Undelegate anytime (21-day unbonding period)

Prerequisites

Get FEN

Minimum: 1,000 FEN (no maximum)Where to Buy:
  1. Centralized Exchanges:
    • Check CoinMarketCap for listings
    • Withdraw to your personal wallet
  2. Decentralized Exchanges:
    • FenineSwap (native DEX)
    • Uniswap (if bridged to Ethereum)
    • PancakeSwap (if bridged to BSC)
  3. Bridge from Other Chains:
Always withdraw to your own wallet, not exchange wallet. Staking requires full control of your tokens.

Delegation Process

1

Connect Wallet

Visit stake.fene.app
  1. Click “Connect Wallet”
  2. Choose your wallet (MetaMask, WalletConnect, etc.)
  3. Approve connection
  4. Ensure you’re on Fenine Network (Chain ID: 5881)
If wrong network:
  • MetaMask will prompt to switch
  • Or manually select Fenine from network dropdown
2

Browse Validators

Navigate to “Validators” tabSort by:
  • Commission (lowest first)
  • Total stake (diversify from largest)
  • APY (estimated returns)
  • Your preference
Validator Card Shows:
  • Name/description
  • Commission rate (e.g., 5%)
  • Total stake
  • Number of delegators
  • Uptime %
  • Estimated APY
Click validator to see detailed stats.
3

Delegate Tokens

On validator detail page:
  1. Click “Delegate” button
  2. Enter amount (minimum 1,000 FEN)
  3. Optional: Enter referral code for proximity rewards
  4. Review transaction details:
    • Amount: 1,000 FEN
    • Gas fee: ~0.01 FEN
    • Validator: ValidatorName
    • Commission: 5%
  5. Click “Confirm Delegation”
  6. Approve in wallet (gas: ~100,000)
  7. Wait for confirmation (~3 seconds)
Success! Your delegation is active immediately and starts earning next epoch (~10 minutes).
4

Verify Delegation

Check your delegation:On Dashboard:
  • Go to “My Delegations” tab
  • See all your delegations
  • View pending rewards
Via Block Explorer:Via RPC:
curl -X POST https://rpc.fene.app \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "eth_getDelegatorInfo",
    "params": ["0xYourAddress"],
    "id": 1
  }'
5

Monitor Rewards

Track your earnings:Dashboard Metrics:
  • Total delegated: 1,000 FEN
  • Validator: ValidatorName
  • Pending rewards: 2.5 FEN
  • Estimated daily: 0.3 FEN
  • APY: 11%
Rewards Update: Every epoch (~10 minutes)Set up notifications for:
  • Reward milestones
  • Validator jailing
  • Commission changes

Managing Your Delegation

View Delegation Status

// Using ethers.js
const fenineSystem = new ethers.Contract(
  "0x0000000000000000000000000000000000001000",
  FENINE_SYSTEM_ABI,
  provider
);

// Get your delegation amount
const amount = await fenineSystem.getDelegation(
  yourAddress,
  validatorAddress
);

console.log("Delegated:", ethers.formatEther(amount), "FEN");

// Get pending rewards
const rewards = await fenineSystem.getDelegatorRewards(yourAddress);
console.log("Pending:", ethers.formatEther(rewards), "FEN");

Increase Delegation

Add more tokens to existing delegation: Via Interface:
  1. Go to “My Delegations”
  2. Find validator
  3. Click “Add More”
  4. Enter additional amount
  5. Confirm transaction
Via Contract:
const amount = ethers.parseEther("500");  // Add 500 FEN

const tx = await fenineSystem.delegate(
  validatorAddress,
  amount
);

await tx.wait();
console.log("Added 500 FEN to delegation");
No need to approve again if you already delegated to this validator before.

Claim Rewards

Withdraw accumulated rewards: Via Interface:
  1. Go to “My Delegations”
  2. Click “Claim Rewards”
  3. Review:
    • Claimable: 10 FEN
    • Tax (10%): -1 FEN
    • You receive: 9 FEN
  4. Confirm transaction (gas: ~80,000)
Via Contract:
const tx = await fenineSystem.claimDelegatorRewards();
await tx.wait();

console.log("Rewards claimed!");
Tax Information:
  • 10% tax on claimed rewards
  • Tax goes to treasury for ecosystem development
Compound Strategy: Claim weekly and redelegate for higher APY.

Redelegate to Another Validator

Switch validator without unbonding: Via Interface:
  1. Go to “My Delegations”
  2. Find current delegation
  3. Click “Redelegate”
  4. Choose new validator
  5. Confirm (instant, no unbonding)
Via Contract:
const tx = await fenineSystem.redelegate(
  oldValidatorAddress,
  newValidatorAddress,
  amount  // or full amount
);

await tx.wait();
console.log("Redelegated to new validator");
Redelegation is instant and has no unbonding period. Use it to switch validators quickly.

Undelegate (Withdraw)

Remove tokens from delegation: Via Interface:
  1. Go to “My Delegations”
  2. Click “Undelegate”
  3. Enter amount (or click “Max”)
  4. Confirm transaction
  5. Wait 21 days
  6. Return to “My Delegations”
  7. Click “Withdraw”
Via Contract:
// Step 1: Start unbonding
const amount = ethers.parseEther("1000");

const tx = await fenineSystem.undelegate(validatorAddress, amount);
await tx.wait();

console.log("Unbonding started. Wait 21 days...");

// Step 2: After 21 days, withdraw
const withdrawTx = await fenineSystem.withdrawUnbonded();
await withdrawTx.wait();

console.log("Tokens withdrawn to wallet!");
Unbonding Period: 21 daysDuring unbonding:
  • Stop earning rewards immediately
  • Cannot cancel unbonding
  • Tokens locked until period ends

Delegation Economics

Reward Calculation

Your rewards depend on: Rtextdelegator=RtextvalidatortimesfracStextyourStexttotaldelegatedtimes(1c)R_{\\text{delegator}} = R_{\\text{validator}} \\times \\frac{S_{\\text{your}}}{S_{\\text{total\\_delegated}}} \\times (1 - c) Where:
  • RtextvalidatorR_{\\text{validator}}: Validator’s total rewards
  • StextyourS_{\\text{your}}: Your delegation amount
  • StexttotaldelegatedS_{\\text{total\\_delegated}}: Total delegated to validator
  • cc: Validator commission rate

Example Scenarios

Setup:
  • Your delegation: 1,000 FEN
  • Validator commission: 5%
  • Validator total stake: 100,000 FEN
  • Network total stake: 10,000,000 FEN
  • Epoch emission: 700 FEN
Calculation:
Validator's rewards per epoch:
  (100,000 / 10,000,000) × 700 = 7 FEN

Your share (before commission):
  (1,000 / 100,000) × 7 = 0.07 FEN

After commission (5%):
  0.07 × 0.95 = 0.0665 FEN per epoch

Daily (144 epochs):
  0.0665 × 144 = 9.58 FEN/day

Monthly:
  9.58 × 30 = 287.4 FEN/month

Annual:
  287.4 × 12 = 3,448.8 FEN/year

APY: (3,448.8 / 1,000) × 100 = 344.88%
Early delegators earn extremely high APY as network is still small.

Comparing Validators

ValidatorCommissionUptimeTotal StakeYour ShareEst. APY
A5%99.8%100K FEN1%11.2%
B10%99.5%500K FEN0.2%10.5%
C3%98.0%50K FEN2%10.8% (risky)
D15%99.9%1M FEN0.1%9.8%
Best Choice: Validator A (low commission, high uptime, reasonable share)

Risk Management

Understanding Risks

Delegator Risks:
  1. No Slashing Risk: If validator is slashed, your stake is safe
  2. Opportunity Cost: 21-day unbonding locks your tokens
  3. Commission Changes: Validator can change commission
  4. Validator Jailing: Stops earning until unjailed
  5. Smart Contract Risk: Audited but not risk-free

Risk Mitigation Strategies

Split Your Stake:Instead of:
10,000 FEN → Validator A
Do:
3,000 FEN → Validator A (5% commission)
3,000 FEN → Validator B (7% commission)
2,000 FEN → Validator C (4% commission)
2,000 FEN → Validator D (6% commission)
Benefits:
  • Reduce single validator risk
  • Average out commission rates
  • Support decentralization
  • Test multiple validators

Advanced Topics

Batch Operations

Manage multiple delegations efficiently:
// Claim rewards from all validators at once
const tx = await fenineSystem.claimAllDelegatorRewards();
await tx.wait();

// Redelegate from multiple validators
const validators = [validatorA, validatorB, validatorC];
const amounts = [
  ethers.parseEther("1000"),
  ethers.parseEther("1500"),
  ethers.parseEther("2000")
];

for (let i = 0; i < validators.length; i++) {
  await fenineSystem.redelegate(
    validators[i],
    newValidator,
    amounts[i]
  );
}

Auto-Compounding

Set up automatic reward reinvestment:
// Pseudo-code for automation (requires keeper service)
setInterval(async () => {
  // Check if rewards > threshold
  const rewards = await fenineSystem.getDelegatorRewards(myAddress);
  
  if (rewards > threshold) {
    // Claim rewards
    await fenineSystem.claimDelegatorRewards();
    
    // Wait for transaction
    await delay(5000);
    
    // Redelegate (minus gas buffer)
    const newBalance = await fenToken.balanceOf(myAddress);
    await fenineSystem.delegate(validator, newBalance - gasBuffer);
  }
}, 86400000);  // Check daily
Coming soon: Built-in auto-compound feature in stake.fene.app

Tax-Efficient Claiming

Minimize tax impact: Strategy 1: Infrequent Claims
  • Claim once per month
  • Pay tax once (10% of total)
  • Lower gas costs
Strategy 2: Claim and Hold
  • Claim rewards to wallet
  • Hold for appreciation
  • Redelegate only profitable amounts
Strategy 3: Proximity Offset
  • Build large proximity network
  • Use proximity rewards to offset tax
  • Keep base rewards compounding

Troubleshooting

Common Issues:
  1. Insufficient FEN for gas
    • Need ~0.01 FEN for transaction
    • Get more from DEX or faucet
  2. Validator not accepting delegations
    • Check validator status (jailed?)
    • Try different validator
  3. Amount below minimum
    • Must be ≥1,000 FEN
    • Check token decimals (18)
  4. Wrong network
Check:
  1. Validator active?
    curl -X POST https://rpc.fene.app \
      -d '{"jsonrpc":"2.0","method":"eth_getValidatorInfo","params":["validatorAddress"],"id":1}'
    
    Status should be 1 (Active), not 0/2/3
  2. Waited for first epoch?
    • Rewards start next epoch (~10 min)
    • Check again after 15 minutes
  3. Delegation confirmed?
    • Check on explorer.fene.app
    • View transaction receipt
  4. Validator commission 100%?
    • Check validator page
    • If 100%, you get nothing (avoid!)
Possible Reasons:
  • Network stake increased (more competition)
  • Validator was jailed briefly
  • Commission rate changed
  • Epoch emissions decreased
  • Calculator used wrong parameters
Verify:
const rewards = await fenineSystem.getDelegatorRewards(yourAddress);
const totalStake = await fenineSystem.getTotalStake();
const validatorStake = await fenineSystem.getValidatorStake(validator);

console.log("Your rewards:", ethers.formatEther(rewards));
console.log("Network share:", (validatorStake / totalStake * 100).toFixed(4), "%");
Troubleshoot:
  1. Call withdrawUnbonded()
    • Unbonding doesn’t auto-withdraw
    • Must manually call withdraw function
  2. Check unbonding complete
    const unbonding = await fenineSystem.getUnbondingDelegation(yourAddress);
    console.log("Completion block:", unbonding.completionBlock);
    
    const currentBlock = await provider.getBlockNumber();
    console.log("Current block:", currentBlock);
    
    if (currentBlock >= unbonding.completionBlock) {
      await fenineSystem.withdrawUnbonded();
    }
    
  3. Multiple unbonding entries
    • Can only withdraw oldest first
    • Check all unbonding delegations

Next Steps

Stake Now

Start earning rewards

Proximity Rewards

Boost APY with referrals

Run a Validator

Become a validator instead

FenineSystem API

Technical contract reference
Delegator Support:Join our community of 10,000+ delegators!