My App

Delegators

Complete guide to staking as a delegator on Living Mission

Delegators

Delegators stake their LGM tokens with validators to earn rewards without running infrastructure. Living Mission supports unlimited delegators per validator.

Overview

Delegators earn rewards proportional to their stake, minus validator commission and proximity distribution.

Key Parameters

ParameterValueDescription
Min Stake1,000 LGMMinimum delegation amount
Lock Period25,000 blocks~7 hours unstake lock
Proximity Levels8Reward distribution levels
Proximity Total87%Total distributed to uplines
Delegator Keeps13%Base reward after proximity

Delegator Lifecycle

┌───────────┐    stake      ┌───────────┐    unstake    ┌───────────┐
│ NOT_EXIST │ ────────────► │  ACTIVE   │ ────────────► │ UNSTAKING │
└───────────┘               └───────────┘               └─────┬─────┘
      ▲                                                       │
      │                    after lock period                  │
      └───────────────────────────────────────────────────────┘

Status Definitions

StatusDescription
NOT_EXISTNever staked to this validator
ACTIVECurrently staking and earning rewards
UNSTAKINGInitiated unstake, in lock period

Getting Started

Get Whitelisted

Before staking, you must be whitelisted by the validator. Two options:

Option A: Use Referral Key

// Get referral key from validator
const referralKey = "0x..."; // Provided by validator

// Use the key to get whitelisted
await nftPassport.useReferralKey(referralKey);

Option B: Direct Invite Ask the validator to directly invite your address.

Stake to Validator

Once whitelisted, stake your LGM:

function stakeToValidator(address vaAddr) external payable returns (bool);
const validatorAddress = "0xValidatorAddress";

const tx = await resonanceSystem.stakeToValidator(validatorAddress, {
    value: ethers.parseEther("1000")  // 1,000 LGM minimum
});
await tx.wait();

Earn Rewards

Rewards accumulate automatically every epoch (200 blocks). Your position in the proximity chain affects your rewards.

Proximity Reward System

Living Mission uses a unique Proximity-Based Reward Distribution system. When you claim rewards, 87% is distributed to the 8 delegators who staked before you.

How It Works

Delegator Chain (by stake order):
┌────┐   ┌────┐   ┌────┐   ┌────┐   ┌────┐   ┌────┐
│ D1 │ → │ D2 │ → │ D3 │ → │ D4 │ → │ D5 │ → │ D6 │ (claims)
└────┘   └────┘   └────┘   └────┘   └────┘   └────┘
  ▲        ▲        ▲        ▲        ▲
  │        │        │        │        │
 17%      15%      13%      12%      10%    ← Receives from D6's claim
(Lvl 5)  (Lvl 4)  (Lvl 3)  (Lvl 2)  (Lvl 1)

Proximity Distribution Table

LevelDistanceReward %Min Stake Required
11 position back5%1,000 LGM
22 positions back7%3,000 LGM
33 positions back8%5,000 LGM
44 positions back10%7,000 LGM
55 positions back12%9,000 LGM
66 positions back13%11,000 LGM
77 positions back15%13,000 LGM
88 positions back17%15,000 LGM
Total87%

Eligibility Requirements

To receive proximity rewards, uplines must:

  • Have minimum stake for their level
  • Have staked for at least 100 blocks (stake age)
  • Not be in unstaking status

If an upline is ineligible, their share goes to the validator instead.

Example Calculation

Your Pending Reward: 100 LGM

Proximity Distribution (87%):
- Level 1 (5%):  5 LGM → Delegator at position -1
- Level 2 (7%):  7 LGM → Delegator at position -2
- Level 3 (8%):  8 LGM → Delegator at position -3
- Level 4 (10%): 10 LGM → Delegator at position -4
- Level 5 (12%): 12 LGM → Delegator at position -5
- Level 6 (13%): 13 LGM → Delegator at position -6
- Level 7 (15%): 15 LGM → Delegator at position -7
- Level 8 (17%): 17 LGM → Delegator at position -8

Your Net (13%): 13 LGM
After Tax (10%): ~11.7 LGM

Delegator Operations

Add More Stake

Top up your existing delegation:

function addDelegatorStake(address vaAddr) external payable returns (bool);
await resonanceSystem.addDelegatorStake(validatorAddress, {
    value: ethers.parseEther("500")  // Add 500 LGM
});

Adding stake does NOT change your position in the proximity chain.

Claim Rewards

Claim your accumulated rewards:

function claimDelegatorReward(address vaAddr) external returns (bool);
const tx = await resonanceSystem.claimDelegatorReward(validatorAddress);
const receipt = await tx.wait();

// Parse the event
const event = receipt.logs.find(
    log => log.topics[0] === resonanceSystem.interface.getEventTopic('DelegatorRewardClaimed')
);
console.log("Gross:", event.args.gross);
console.log("Net:", event.args.net);
console.log("Tax:", event.args.tax);

Unstake

Initiate the unstaking process:

function unstakeDelegator(address vaAddr) external returns (bool);
await resonanceSystem.unstakeDelegator(validatorAddress);

Important: Unstaking removes you from the proximity chain. You will lose your position and any pending proximity rewards from downstream delegators.

Withdraw Stake

After the 25,000 block lock period:

function withdrawDelegatorStake(address vaAddr) external returns (bool);
await resonanceSystem.withdrawDelegatorStake(validatorAddress);

Exit from Validator

Remove yourself from the validator's whitelist:

// On NFTPassport contract
function exitFromValidator(address validator) external;

View Functions

Get Delegator Info

function getDelegatorInfo(address dcAddr, address vaAddr) external view returns (
    DCStatus status,
    uint256 stakeAmount,
    uint256 pendingRewards,
    uint256 joinedAt,
    uint256 stakerIndex      // Your position in proximity chain
);

Get Estimated Rewards

function getEstimatedDelegatorReward(address dcAddr, address vaAddr) external view returns (
    uint256 pending,         // Gross pending rewards
    uint256 afterProximity,  // After 87% proximity deduction (13%)
    uint256 afterTax         // Final amount after tax
);

Check Whitelist Status

// On NFTPassport contract
function isWhitelisted(address delegator, address validator) external view returns (bool);

Reward Flow

┌─────────────────────────────────────────────────────────────────┐
│                    Epoch Reward Distribution                     │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  Validator Share (based on total stake)                         │
│         │                                                        │
│         ▼                                                        │
│  ┌──────────────┐                                               │
│  │  Commission  │ ──────────────────────► Validator             │
│  │    (5-10%)   │                                               │
│  └──────────────┘                                               │
│         │                                                        │
│         ▼                                                        │
│  ┌──────────────┐                                               │
│  │  Delegator   │                                               │
│  │    Pool      │                                               │
│  └──────┬───────┘                                               │
│         │                                                        │
│    ┌────┴────┐                                                  │
│    ▼         ▼                                                  │
│ ┌──────┐ ┌──────────┐                                          │
│ │ VA   │ │Delegators│                                          │
│ │Self  │ │(by stake)│                                          │
│ │Stake │ │          │                                          │
│ └──────┘ └────┬─────┘                                          │
│               │                                                  │
│          On Claim                                               │
│               │                                                  │
│    ┌──────────┴──────────┐                                     │
│    ▼                     ▼                                      │
│ ┌──────────┐      ┌──────────┐                                 │
│ │Proximity │      │ Claimer  │                                 │
│ │  (87%)   │      │  (13%)   │                                 │
│ └──────────┘      └────┬─────┘                                 │
│                        │                                        │
│                   ┌────┴────┐                                  │
│                   ▼         ▼                                   │
│              ┌──────┐  ┌──────┐                                │
│              │ Tax  │  │ Net  │                                │
│              │(10%) │  │(90%) │                                │
│              └──────┘  └──────┘                                │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

Choosing a Validator

Consider these factors when selecting a validator:

Performance Metrics

  • Uptime: Higher uptime = more consistent rewards
  • Commission: Lower commission = higher delegator rewards
  • Total Stake: Larger stake = larger share of epoch rewards

Trust Factors

  • Reputation: Established validators with track record
  • Communication: Active community engagement
  • Transparency: Clear fee structure and policies

Proximity Position

  • Early Position: Stake early to receive proximity rewards from later delegators
  • Stake Amount: Higher stake qualifies for more proximity levels

Tax on Rewards

All reward claims are subject to tax via the TaxManager:

ComponentRateRecipient
Burn~9%Burn Address
Dev Fee~1%Dev Treasury
Net to User~90%Your Wallet

Best Practices

Maximizing Rewards

  1. Stake Early: Get a lower position in the proximity chain
  2. Stake More: Qualify for higher proximity levels
  3. Choose Wisely: Select validators with low commission and high uptime
  4. Compound: Regularly claim and re-stake rewards

Risk Management

  1. Diversify: Stake with multiple validators
  2. Monitor: Track validator performance
  3. Stay Informed: Follow network updates
  4. Plan Exits: Account for lock periods