Skip to content

Commit e8de65b

Browse files
authored
feat: dAppStaking max thresholds (#742)
* Update protocol-parameters.md * Update dapp-staking-protocol.md
1 parent de34bae commit e8de65b

File tree

2 files changed

+32
-25
lines changed

2 files changed

+32
-25
lines changed

docs/learn/dapp-staking/dapp-staking-protocol.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -310,17 +310,24 @@ The comparison is always done between the _baseline_ number of slots (determined
310310

311311
$new\_threshold = base\_threshold * (1 + \Delta\%_{threshold})$
312312

313-
There are now two types of tier entry thresholds:
313+
There are two types of tier entry thresholds:
314+
315+
* `Dynamic` - A percentage of the total issuance as staked funds that can change between periods. It includes:
316+
- A **minimum** percentage that the threshold cannot fall below
317+
- A **maximum** percentage cap that limits how high the threshold can grow
318+
319+
This type is used for _higher_ tiers.
314320

315-
* `Dynamic` - A percentage of the total issuance as staked funds that can change between periods. It includes a minimum percentage that the threshold cannot fall below. This type is used for _higher_ tiers.
316321
* `Fixed` - A constant percentage of the total issuance as staked funds, which does not change between periods. Used for the _lowest_ tier, and defines a static value.
317322

318323
These percentages are calculated based on a total issuance of **8.4 billion ASTR** tokens when dApp Staking V3 was launched. As the total issuance changes (e.g. burn events), the dynamic thresholds will adjust accordingly, ensuring a fair and adaptive staking environment.
319324

320-
For example, suppose the total issuance is **8.4 billion** ASTR tokens. For **Tier 1**, the dynamic threshold percentage is set at **3.57%** (*approximately 299,880,000 ASTR*), with a minimum required percentage of **2.38%** (*approximately 199,920,000 ASTR*). If the total issuance decreases due to a burn event, the threshold adjusts accordingly. For example, if the total issuance drops to **8.0 billion** ASTR, the **Tier 1** threshold adjusts to:
325+
For example, suppose the total issuance is **8.4 billion** ASTR tokens. For **Tier 1**, the dynamic threshold percentage is set at **3.57%** (*approximately 299,880,000 ASTR*), with a minimum required percentage of **2.38%** (*approximately 199,920,000 ASTR*) and a maximum possible percentage set according to network parameters. If the total issuance decreases due to a burn event, the threshold adjusts accordingly. For example, if the total issuance drops to **8.0 billion** ASTR, the **Tier 1** threshold adjusts to:
321326

322327
$new\_threshold = 3.57\% * 8.0 billion = 285,600,000\ ASTR$
323328

329+
The maximum cap ensures that during periods of high competition or changing token price conditions, tier thresholds don't grow beyond reasonable limits, maintaining accessibility for dApps.
330+
324331
If the number of slots changes, the threshold is further adjusted based on the delta percentage formula.
325332

326333
*Refer to the [dApp staking parameters](/docs/learn/dapp-staking/protocol-parameters#network-values) page to find out more about the percentage values for each network.*

docs/learn/dapp-staking/protocol-parameters.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ The threshold a dApp must meet, based on a percentage of the total issuance stak
7777
There are two types of threshold percentages:
7878

7979
* `Fixed` - A percentage of the total issuance as staked funds.
80-
* `Dynamic` - A percentage of the total issuance as staked funds. This variant includes an additional adjustment in later calculations with a delta based on changes in the number of slots for each era. The threshold amount derived cannot drop below a defined minimum percentage, *minimum_required_percentage*.
80+
* `Dynamic` - A percentage of the total issuance as staked funds. This variant includes an additional adjustment in later calculations with a delta based on changes in the number of slots for each era. The threshold amount derived cannot drop below a defined minimum percentage, *minimum_required_percentage*. Similarly, the derived threshold amount cannot exceed a defined maximum percentage, *maximum_possible_percentage*.
8181

8282
### Price Aggregation Duration
8383

@@ -89,24 +89,24 @@ Length of the circular buffer used to implement the _moving-average_ solution.
8989

9090
## Network Values
9191

92-
| Parameter name | Astar | Shiden | Shibuya |
93-
| ----------------------------------- | ---------------------- | ---------------------- | -------------------------- |
94-
| Era Reward Span Length | 16 | 16 | 16 |
95-
| Reward Retention In Periods | 4 | 3 | 2 |
96-
| Max Number Of Contracts | 500 | 500 | 500 |
97-
| Max Unlocking Chunks | 8 | 8 | 8 |
98-
| Minimum Locked Amount | 500 ASTR | 50 SDN | 5 SBY |
99-
| Unlocking Period | 9 | 4 | 4 |
100-
| Max Number Of Staked Contracts | 16 | 16 | 8 |
101-
| Minimum Stake Amount | 500 ASTR | 50 SDN | 5 SBY |
102-
| Max Bonus Safe Moves Per Period | 2 | 2 | 2 |
103-
| Baseline Native Currency Price | 0.05 USD | 0.05 USD | 0.05 USD (mock) |
104-
| Number Of Tiers | 4 | 4 | 4 |
105-
| Reward Distribution | [25%, 47%, 25%, 3%] | [25%, 47%, 25%, 3%] | [40%, 30%, 20%, 10%] |
106-
| Slot Portions | [5%, 20%, 30%, 45%] | [5%, 20%, 30%, 45%] | [10%, 20%, 30%, 40%] |
107-
| Tier 1 Threshold (total issuance %) | Dynamic(3.57%/2.38%) | Dynamic(3.57%/2.38%) | Dynamic(0.0020%/0.0017%) |
108-
| Tier 2 Threshold (total issuance %) | Dynamic(0.89%/0.6%) | Dynamic(0.89%/0.6%) | Dynamic(0.0013%/0.0010%) |
109-
| Tier 3 Threshold (total issuance %) | Dynamic(0.238%/0.179%) | Dynamic(0.238%/0.179%) | Dynamic(0.00054%/0.00034%) |
110-
| Tier 4 Threshold (total issuance %) | Fixed(0.02%) | Fixed(0.06%) | Fixed(0.00014%) |
111-
| Price Aggregation Duration | 7200 blocks | 7200 blocks | 7200 blocks |
112-
| Circular Buffer Length | 7 | 7 | 7 |
92+
| Parameter name | Astar | Shiden | Shibuya |
93+
| -------------------------------------------------- | ----------------------------- | --------------------------- | ---------------------------------- |
94+
| Era Reward Span Length | 16 | 16 | 16 |
95+
| Reward Retention In Periods | 4 | 3 | 2 |
96+
| Max Number Of Contracts | 500 | 500 | 500 |
97+
| Max Unlocking Chunks | 8 | 8 | 8 |
98+
| Minimum Locked Amount | 500 ASTR | 50 SDN | 5 SBY |
99+
| Unlocking Period | 9 | 4 | 4 |
100+
| Max Number Of Staked Contracts | 16 | 16 | 8 |
101+
| Minimum Stake Amount | 500 ASTR | 50 SDN | 5 SBY |
102+
| Max Bonus Safe Moves Per Period | 2 | 2 | 2 |
103+
| Baseline Native Currency Price | 0.05 USD | 0.05 USD | 0.05 USD (mock) |
104+
| Number Of Tiers | 4 | 4 | 4 |
105+
| Reward Distribution | [25%, 47%, 25%, 3%] | [25%, 47%, 25%, 3%] | [40%, 30%, 20%, 10%] |
106+
| Slot Portions | [5%, 20%, 30%, 45%] | [5%, 20%, 30%, 45%] | [10%, 20%, 30%, 40%] |
107+
| Tier 1 Threshold (total issuance % - base/min/max) | Dynamic(3.57%/2.38%/3.57%) | Dynamic(3.57%/2.38%/100%) | Dynamic(0.0020%/0.0017%/0.0030%) |
108+
| Tier 2 Threshold (total issuance % - base/min/max) | Dynamic(0.89%/0.6%/0.89%) | Dynamic(0.89%/0.6%/100%) | Dynamic(0.0013%/0.0010%/0.0020%) |
109+
| Tier 3 Threshold (total issuance % - base/min/max) | Dynamic(0.238%/0.179%/0.238%) | Dynamic(0.238%/0.179%/100%) | Dynamic(0.00054%/0.00034%/0.0010%) |
110+
| Tier 4 Threshold (total issuance % - base/min/max) | Fixed(0.02%) | Fixed(0.06%) | Fixed(0.00014%) |
111+
| Price Aggregation Duration | 7200 blocks | 7200 blocks | 7200 blocks |
112+
| Circular Buffer Length | 7 | 7 | 7 |

0 commit comments

Comments
 (0)