dApps Staking v3 - proposal

I think we can use part of the 70M ASTR accumulated from the parachain slot to distribute a percentage to all tiers in dApp staking, also for UCG and campaign with incentives.

We can use milestones or metrics to analyze and distribute to the top 15-20 dApps that reach minimum metrics such as transactions, active wallets, or volume, depending on the category of the dApp.

I understand the concern about inflation and dilution that the core team is focusing on. However, we have already significantly reduced inflation and decreased the dApp staking reward. We need to understand that Astar is still in the growth and development phase and needs to attract more retail users and developers to improve metrics.

Even though the core team is focusing on major brands, most of them don’t want to build massive applications on Astar. Usually, it’s experimental dApps (like NFTs or testing in controlled environments). Therefore, the smaller and medium consumer dApps on Astar can generate most of the volume and transactions on the chain.

2 Likes

@defiguy @Mouthmouth68

Please stick to the dedicated burn topic to share these opinions:

We don’t need to start duplicating discussions between multiple topics and this one is about technical updates related to dApp Staking V3.

Thank you for your understanding.

3 Likes

hi hi captain.
will transfer it :slight_smile:

1 Like

Hello everyone,

We have an important update coming regarding dApp Staking and tier thresholds (probably in the next runtime upgrade). This new feature dynamically adjusts tier threshold based on total issuance percentages. Given the recent burn event, which reduced total issuance, this change is particularly relevant and timely.

Context - Recent Burn Event

Due to a recent burn event, the total issuance of our native token has decreased. Here is an example of the change introduced by this feature:
- Old T1 Threshold: Suppose the old harcaoded threshold for tier 1 was 300,000 ASTR tokens.
- Burn Event: The burn event has reduced the total issuance by 5%.
- New T1 Threshold: The new threshold for the same tier might adjust to 285,000 ASTR tokens, reflecting the reduced total supply.

Impact

This feature impacts dApp developers and projects by potentially altering their tier classifications based on the dynamic thresholds. This does not impact stakers directly.

Feature Explanation

Tier threshold parameters are now configured as percentages of the total issuance at the moment dApp Staking V3 launched. This means that as the total issuance of the $ASTR native token fluctuates, so do the threshold amounts for entering different tiers. The recalculation mechanism is still triggered at each new era; this is unchanged, as well as the number of slots adjustment. However, the formula no longer uses hardcoded tier thresholds, which provides a fairer and more adaptive staking environment.
The technical implementation is introduced in this pull request #1306.

Percentage parameters

Here are the percentages used for each network (Astar/Shiden) based on total issuance at the moment dApp Staking V3 launched:

And here are the expected new thresholds at the moment of writing (these may change slightly in the upcoming days due to market conditions):

Any questions are warmly welcomed. Our goal is to continually improve the staking experience for all builders and users on our platform.

Thank you,
Igor

6 Likes

Thank you for the update.

I have been checking the Tier thresholds based on the information from “Polkadot/Substrate Portal. Are there any changes to this output format due to the recent improvements? If there are changes, I would like to know what the new format will be.

Query: dAppStaking → dappStaking.tierConfig: PalletDappStakingV3TiersConfiguration

Example:

{
numberOfSlots: 118
slotsPerTier: [
6
24
35
53
]
rewardPortion: [
25.00%
47.00%
25.00%
3.00%
]
tierThresholds: [
{
DynamicTvlAmount: {
amount: 254,237,288,135,593,220,400,000,000
minimumAmount: 200,000,000,000,000,000,000,000,000
}
}
{
DynamicTvlAmount: {
amount: 63,559,322,033,898,305,100,000,000
minimumAmount: 50,000,000,000,000,000,000,000,000
}
}
{
DynamicTvlAmount: {
amount: 16,949,152,542,372,881,360,000,000
minimumAmount: 15,000,000,000,000,000,000,000,000
}
}
{
FixedTvlAmount: {
amount: 1,500,000,000,000,000,000,000,000
}
}
]
}

Alternatively, if there is an API or any other method that allows for easier verification of the Tier thresholds, I would appreciate it if you could inform me about it.

Thank you.
Indeed, it makes sense that the threshold range would fluctuate depending on the amount of ASTRs issued.
That’s good.

1 Like

Indeed, this feature introduces small breaking changes which are listed in this issue.

Basically, TiersConfiguration type is refactored:

  • numberOfSlots field is removed,
  • tierThresholds field type is refactored from a vector of TierThresholds to a vector of Balances (u128).

For the example you provide, the new format will be:

{
slotsPerTier: [
    6
    24
    35
    53
  ]
rewardPortion: [
    25.00%
    47.00%
    25.00%
    3.00%
  ]
tierThresholds: [
    254,237,288,135,593,220,400,000,000
    63,559,322,033,898,305,100,000,000
    16,949,152,542,372,881,360,000,000
    1,500,000,000,000,000,000,000,000
  ]
}

It means that 254M is the threshold assigned for tier 1 dApps, 63M for tier 2 dApps, and so on.

Otherwise the formula and calculation mechanism are unchanged, there is no new API or other method for tier thresholds, it’s still the same endpoint: dappStaking.tierConfig; just a small refactoring of the data type.

PS: Btw, I forgot to introduce myself, I am Igor and I recently joined Astar L1 team :raising_hand_man:

2 Likes

Hi @Igor,
Thank you for your additional information.

I am grateful that it has a very parse-friendly structure.
Thank you for providing the sample.
I am providing a data display site like the one below for stakers and dApps projects.
https://agent.sun-t-sarah.work/

I will prepare a script for parsing in advance.

Also, thank you for the self-introduction. I look forward to working with you in the future.

3 Likes

Hi Igor,

Welcome to the Astar eco! Thanks for the clear update on the TiersConfiguration changes. The new format looks great, and your example made it easy to understand. Looking forward to your contributions!

2 Likes

Thx for the explanation and nice to meet You :handshake: :grin:

1 Like

Hi Igor,
welcome to Astar.
question for you.
I’m not at all in programation and thus have really big difficulty to picture the impact of such update. could you run and explain graphically some scenarios to illustrate the impact of this update plz?

1 Like

hi @Mouthmouth68,

As I mentioned in another post reply, I’ve created this spreadsheet to anticipate the changes introduced by this feature on tier threshold amounts. I’m using recent total issuance and average price values. Feel free to duplicate the table and adjust the values once the release date is shared to anticipate the upcoming amounts.

3 Likes

That’s an interesting idea. May I ask a few additional questions?

  1. I’m not very knowledgeable about technical matters, so I’d like to ask for some information. From a developer’s perspective, what are the impacts of this?

  2. I’m not sure if I understand correctly, but this change is likely to affect rewards in one way or another. What plans does the team have for communicating about this?

Hi @BoomBLB,

In answer to your questions:
No changes will be made to the logic of rewards or how they are calculated. From a developer’s perspective, the only noticeable difference will be a slight variation in the threshold amounts required to enter a tier (approximately +/- 2.5% now, depending on the tier). This means that a dApp might be promoted or downgraded to a higher or lower tier at the moment of the runtime upgrade. However, based on the data we have at the time of writing, it doesn’t appear that any dApps will be significantly affected.

To clarify further, this minor adjustment is primarily about fine-tuning the system to maintain balance and fairness in the staking environment.

Thank you for the information. I’ve learned a lot more. I’d like to ask a few more questions:

  1. What criteria do we have for making such adjustments?

  2. Regarding the frequency of adjustments, do we have a cycle for doing this? How often should it be done - every few days, months, or are there any particular observations that should prompt us to start considering it?

Greetings and thanks.

I have a question for this file.

Will it be renewed every season? Can the reference amount be shown as tier?

As I mentioned earlier, the idea came after the last burn event, which reduced total issuance. The percentages values were calculated from the total issuance at the time of the dApp Staking V3 launch: 8.4B $ASTR and 84.3M $SDN.

No adjustments are planned at this time.

As this is not real-time data, you need to duplicate this spreadsheet and adjust the “Total Issuance” and the “Average USD Price” to anticipate tier threshold amounts.

1 Like

I may have missed some parts at the beginning. I apologize for that. The additional explanation you provided makes the picture much clearer. Anyway, thank you very much. =)

1 Like

Today, I noticed that the configuration of the child has been changed.
I have also updated the script to extract values in my system.

Thanks,

1 Like