# Technical Document

For geeks that care.

In V1, we have chosen Price and TVL as the demand metrics. The chosen target levels are $0.18, and soon 500M, for Price and TVL respectively. The TVL metric will only be added in Q4 after launching, due to oracle-feed requirements.

$DF = 0.75\ \cdot\ \frac{P}{P_{baseline}} + 0.25\ \cdot\ \frac{TVL}{TVL_{baseline}}$

And to make sure demand factor does not go out of control, we have introduced some limitations for demand factor.

$DF \geq 0.10,\ and\ DF \leq 1.00$

During the staking program duration

$P$

we can distribute total $A_{max}$

amount of DAFI. This means each second, the maximum amount of DAFI we can distribute is: $\frac{A_{max}}{P}$

However, we need to convert users' reward at the end using reward multiplication. This means at the most extreme case, reward will be multiplied by

$DF_{max}$

and divided by$DF_{min}$

. We call this action `Conversion Multiplier`

- $CM$

, and it has some characteristics:- $DF \in R,\ and\ 0.1 \leq DF \leq 1$
- $\Rightarrow CM\in R, and\ 0.01 \leq CM \leq10 \ \Rightarrow\ CM_{max} = 10$

To make sure the total distributed DAFI will never become greater than Max DAFI, the maximum distribution per second needs to acknowledge the multiplier.

$D_{max} = \frac{DF_{min}}{DF_{max}}\cdot\frac{A
_{max}}{P}$

Actual distribution is the maximum distribution multiplied by demand factor.

$D = D_{max} \cdot DF$

Every time users claim their rewards, 25% of their rewards will be deducted and distributed to other stakers.

$F_u = 25\% * R$

$F = \sum\limits_{i=0}^t F_i$

Users' rewards are the accumulated amounts of reward every time demand factor changes. The actual implementation is similar to other staking programs like Sushi's

`MasterChef`

.$R = \sum\limits_{i=0}^t R_i$

$R_{final} = R\ \cdot\ \frac{DF_{latest}}{DF_{staking}} + F$

Last modified 1yr ago