Proposal for Time-Based Average Stake Calculation in TEL Rewards Issuance

TANIP: Proposal for Time-Based Average Stake Calculation in TEL Rewards Issuance

Abstract

This proposal recommends changing the current method of calculating the cap on TEL rewards issuance from the lowest staked amount during a period to the time-based average staked amount. The goal is to reduce disincentives for both new and existing users caused by the lag between when new rewards are calculated and when they are distributed. By switching to an averaged stake model, the system will better reflect users’ actual participation throughout the entire period, promoting fairness and increasing platform adoption incentives.


Motivation

The current reward calculation mechanism, which uses the lowest staked amount during a period as the cap, disincentivizes users due to the timing misalignment between staking activities and reward distribution. Specifically:

  • New Users Are Penalized: When new users stake after the beginning of a period, their initial stake is lower or zero. Since the lowest stake during the period is used for reward caps, their effective rewards are significantly reduced despite their higher stake later in the period.
  • Existing Users Are Discouraged: Existing stakers who increase their stakes during a period also face a similar problem. Their cap is based on the earlier, lower stake, reducing their potential rewards and creating a disincentive to increase their stake mid-period.
  • Lag Between Reward Calculation and Distribution: The necessary delay for calculating and distributing rewards (approximately 48 hours) further exacerbates this issue, as users who increase their stake after having received rewards for the previous period will have their reward cap based on the earlier, lower stake.

By adopting a time-based average stake model, the platform will:

  • More accurately reflect users’ true participation throughout the period.
  • Incentivize new and existing users to increase their stake without being penalized by the lowest-stake rule.
  • Create a fairer and more consistent reward distribution mechanism.

Specification

Current System: Lowest Stake Cap

The current reward cap formula uses the lowest stake amount throughout the period:

rewardsCap=stakeAmtTrough−cumulativePrevReward\text{{rewardsCap}} = \text{{stakeAmtTrough}} - \text{{cumulativePrevReward}}

Where:

  • stakeAmtTrough: The lowest stake amount held by the user during the period.
  • cumulativePrevReward: The total rewards already earned by the user.
Proposed System: Time-Based Average Stake Cap

To create a fairer distribution, the new formula calculates the average staked amount over the entire period, weighted by time:

averageStake=∑(stake×timeHeld)totalPeriodTime\text{{averageStake}} = \frac{\sum (\text{{stake}} \times \text{{timeHeld}})}{\text{{totalPeriodTime}}}

Where:

  • stake: The amount of TEL staked during a given sub-period.
  • timeHeld: The duration for which the stake was maintained.
  • totalPeriodTime: The entire duration of the reward period.
Example Calculation

Imagine a staker, Alice, with the following activity during a weekly period:

  • Day 1–2: Stakes 50 TEL
  • Day 3–5: Increases stake to 100 TEL
  • Day 6–7: Raises stake to 150 TEL

Current System (Lowest Stake Cap):

  • Alice’s reward cap is based on the lowest stake during the period: 50 TEL.
  • Even though she held 100+ TEL for the majority of the week, her rewards are capped based on the lower amount.

Proposed System (Time-Based Average Stake):

  • Calculate the weighted average:

averageStake=(50×2)+(100×3)+(150×2)7\text{{averageStake}} = \frac{(50 \times 2) + (100 \times 3) + (150 \times 2)}{7} =100+300+3007=100TEL= \frac{100 + 300 + 300}{7} = 100 TEL

  • Alice’s reward cap is now based on the average stake of 100 TEL, which better reflects her actual participation throughout the period.

Technical Implementation

1. Reward Distribution

During reward calculation:

  • Identify eligible stakers and referrers.
  • Calculate their total fees and pro-rata share.
  • Apply the new averageStake cap instead of the lowest stake cap.
  • Distribute TEL rewards based on the capped pro-rata proportions.

Benefits of the Proposed Change

  1. Fairer Rewards: The time-based average stake calculation ensures that users are rewarded based on their actual commitment throughout the period, not just their minimum participation.
  2. Reduced Penalty for New Users: New users who stake mid-period will no longer be capped by their initial (often low) stake, encouraging them to join the platform without being penalized.
  3. Incentive for Increased Staking: Existing users who increase their stake mid-period will receive fairer rewards, motivating them to lock more TEL for longer durations.
  4. Alignment with Platform Growth: The proposed change fosters a more attractive staking environment, driving adoption and long-term commitment from users.

Conclusion

Switching to a time-based average stake calculation for TEL reward caps is a critical step toward making the reward distribution system fairer and more accurate. It encourages new user acquisition, promotes ongoing staking, and ultimately strengthens the Telcoin platform’s on-chain economy.

By implementing this change, TAN will create a more dynamic and equitable reward system, fostering long-term user participation and growth.

9 Likes

@ArieJones - is there any other instances you could foresee this is being an issue outside of the scenario of someone adding to their staked amounts within the same week (as you provided)?

On the other side of the coin, If some one staked:

150 on Day 1
Removed 50 on Day 3
Removed another 50 on Day 6

Would the average then be a net positive even though the user has less staked, therefore receiving additional benefit from the average, even though they’ve withdrawn?

You may address this in the formula, but want to make sure I understand. Thanks!

It would work in the same manner to determine the cap being a time weighted average of the amount you provided. Similar to what happens in the LPs.

So in this instance you would have

150 for 2 days
100 for 3 days
50 for 2 days

(150 + 150 + 100 + 100 + 100 + 50 + 50)/ 7 = 100

and that would be your cap limit.

It’s important to stress though that although this cap is higher than what would happen if you just took the lowest stake, that by taking lowest stake you are adversely affecting the postive side of what you are trying to accomplish.

I am looking at a database right now that shows me that 5,843 accounts have interacted with the staking contract.

Out of those 5,843 accounts how many do you think are STILL staking?

1,999 is what I have right now when I ran the stuff yesterday …

It clearly shows something has to be done to improve the staking experience and what people can get out of it.

4 Likes

@ArieJones - Would this require a change to the script(s) and/or contract(s)? i.e. would another audit be required?

1 Like

I deleted my comment, figured I’m probably not picking up exactly what you’re throwing down so we can chat later this week!

This would just require a change in the script that is run weekly for the calculations. That is where the cap is contained. The contract that is out there is merely a plugin to take in the Tel that is allocated so that it can be tracked and claimed.

Basically the staking contract is a shell with a bunch of plugins.. 6 I believe right now with this one.

1 Like