Staking

Stake RLM to secure the network and earn rewards

Overview

Staking RLM secures the Realm network and earns you a share of trading fees. You can stake directly or delegate to a validator.

Staking Requirements

  • Minimum stake: 100 RLM
  • Unbonding period: 7 days
  • Reward distribution: Every epoch (~1 hour)

How to Stake

stake.tstypescript
import { RealmClient } from '@realm/sdk';
const client = new RealmClient();
await client.connect(wallet);
// Stake 1000 RLM
await client.stake({
amount: 1000,
validator: '0x...', // Optional: delegate to validator
});
// Check staking info
const info = await client.getStakingInfo();
console.log('Staked:', info.staked);
console.log('Pending rewards:', info.pendingRewards);

Claiming Rewards

claim.tstypescript
// Claim accumulated rewards
await client.claimRewards();

Unstaking

Unbonding Period

Unstaking takes 7 days. Your tokens will not earn rewards during unbonding.
unstake.tstypescript
// Unstake 500 RLM
await client.unstake({
amount: 500,
});
// Tokens available after 7 days

Reward Calculation

Staking rewards come from trading fees. Your share is proportional to your stake relative to total staked:

rewardstext
Your Reward = Total Fees × (Your Stake / Total Staked)
Example:
- Total fees this epoch: 10,000 USDC
- Total staked: 10,000,000 RLM
- Your stake: 10,000 RLM
- Your reward: 10,000 × (10,000 / 10,000,000) = 10 USDC