SPP-3: Allowing staking rewards to be immediately re-staked

Author: Sean
Created: 2025-04-01
Status: Draft

Motivation/Purpose

Credit goes to mister_freeman for the original idea of being able to delegate any rewards obtained in the previous era to the start of the new era in order for a whole week not to be lost.

This means that instead of only being able to sell the tokens, in the current market conditions, Node Operators and Delegators can delegate their rewards instead with immediate effect.

Also this change of staking behaviour only applies to rewards. The normal staking process has not changed, therefore, there is no negative impact to our tokenomic model.

Description

This proposal extends the original concept.

  • This work for both Node Operator and Delegator
    • both Node Operator and Delegator and immediately restake their rewards at any point in time.
  • The new stake is effective immediately
    • This is different from the normal staking process which requires 1 full era to pass before it comes into effect.
  • The staking rewards are allowed to go over the Node Operator’s delegation limit.
    • Currently, when a Node Operator has reached their max delegation quota, no more tokens can be staked. However, in this case, it can be exceeded. In places where we use totalStake, we have already been using the effective total stake which is their capped totalStake
  • The Entrance function is stakingManager.delegateReward(). There will be UI change to allow users to choose the way they want to claim the rewards.

Implementation

For a detailed description, please see the open source code from the following Github link:

2 Likes

@Ian, Hi!
For some reason, I didn’t think of it right away. If we can now delegate rewards at any time and have them count within the current era, then why not allow the delegation globally at any time to take into account in current era?
We need flexibility, why this unnecessary restriction? Just need to write the algorithm in the code correctly.