# Avalanche Economic Model Specification
## Overview
The Avalanche network is a complex economic system with multiple interacting subsystems: Staking Dynamics, Token Supply, Fee Dynamics, L1 Ecosystem, and Governance. This specification defines the mathematical framework for modeling these interactions using a differential specification approach.
## State
| Name | Symbol | Definition | Initial Value |
| -------- | -------- | -------- | -- |
| Total Supply | $S$ | Total AVAX tokens in existence | 457,300,000 |
| Circulating Supply | $S_c$ | $S - S_s - S_l$ | 218,100,000 |
| Staked Supply | $S_s$ | $S_v + S_d$ | 239,200,000 |
| Validator Stake | $S_v$ | Total stake by validators | 202,800,000 |
| Delegator Stake | $S_d$ | Total stake by delegators | 36,300,000 |
| Locked Supply | $S_l$ | Tokens locked in vesting | 36,669,600 |
| Cumulative Burned | $B$ | Total fees burned | 2,730,000 |
| Active Validators | $V$ | Number of active validators | 1,956 |
| Primary Validators | $V_p$ | Validators on Primary Network | 1,491 |
| L1 Validators | $V_{l1}$ | Validators on L1s | 465 |
| Active L1s | $L$ | Number of active L1s | 66 |
| Modern L1s | $L_m$ | L1s using ACP-77 | 27 |
| Legacy L1s | $L_l$ | L1s using old model | 39 |
| Gas Price | $P_g$ | Current gas price (nAVAX) | 25 |
| Excess Gas | $X_g$ | Excess gas consumption | 0 |
| Daily Issuance | $I_d$ | Daily token issuance | 25,885 |
| Daily Burning | $B_d$ | Daily token burning | 750 |
| Staking APR | $r_s$ | Average staking return | 0.0613 |
| Avg Stake Duration | $D_s$ | Average staking period (days) | 180 |
| Delegation Utilization | $U_d$ | Delegation capacity used | 0.356 |
| L1 Continuous Fees | $F_{l1}$ | Daily L1 fees (AVAX) | 20.57 |
## Parameters
| Name | Symbol | Definition | Initial Value |
| -------- | -------- | -------- | -- |
| Max Supply Cap | $S_{max}$ | Maximum AVAX supply | 720,000,000 |
| Min Validator Stake | $s_{v,min}$ | Minimum validator stake | 2,000 |
| Max Validator Stake | $s_{v,max}$ | Maximum validator stake | 3,000,000 |
| Min Delegator Stake | $s_{d,min}$ | Minimum delegator stake | 25 |
| Min Stake Duration | $D_{min}$ | Minimum staking period | 14 days |
| Max Stake Duration | $D_{max}$ | Maximum staking period | 365 days |
| Max Delegation Weight | $w_{max}$ | Max delegation per validator | 5× |
| Min Consumption Rate | $c_{min}$ | Minimum reward rate | 0.10 |
| Max Consumption Rate | $c_{max}$ | Maximum reward rate | 0.12 |
| Minting Period | $T_m$ | Annual minting period | 365 days |
| Block Time | $\tau$ | Time between blocks | 2 seconds |
| Min Gas Price | $P_{g,min}$ | Minimum gas price | 1 nAVAX |
| Gas Update Constant | $K_g$ | Gas price update constant | 97,000 |
| Target Gas/Second | $G_{target}$ | Target gas consumption | 15,000,000 |
| L1 Base Fee Rate | $F_{base}$ | Base L1 fee rate | 512 nAVAX/s |
| L1 Target Capacity | $C_{l1}$ | Target L1 validators | 10,000 |
| L1 Max Capacity | $C_{l1,max}$ | Maximum L1 validators | 20,000 |
| Validator Restaking Rate | $\rho_v$ | Validator reward restaking | 0.70 |
| Delegator Restaking Rate | $\rho_d$ | Delegator reward restaking | 0.50 |
| Uptime Requirement | $u_{min}$ | Minimum validator uptime | 0.80 |
| Delegation Fee | $f_d$ | Average delegation fee | 0.071 |
## Mechanisms
### Staking Subsystem
#### Stake
A token holder $i$ can stake tokens by locking $s_i \geq s_{min}$ for duration $D_i \in [D_{min}, D_{max}]$:
For validators:
$$S_v^+ = S_v + s_i \text{ where } s_i \geq s_{v,min}$$
$$V^+ = V + 1$$
For delegators choosing validator $j$:
$$S_d^+ = S_d + s_i \text{ where } s_i \geq s_{d,min}$$
$$\text{subject to: } \sum_{k \in \mathcal{D}_j} s_k \leq w_{max} \cdot s_j$$
where $\mathcal{D}_j$ is the set of delegators to validator $j$.
The circulating supply decreases:
$$S_c^+ = S_c - s_i$$
#### Claim Rewards
At the end of staking period, staker $i$ receives rewards:
$$r_i = \frac{(S_{max} - S) \cdot s_i}{S} \cdot \frac{D_i}{T_m} \cdot ECR(D_i)$$
where the Effective Consumption Rate is:
$$ECR(D_i) = c_{min} + (c_{max} - c_{min}) \cdot \frac{D_i}{D_{max}}$$
For delegators, the net reward after commission:
$$r_{d,i} = r_i \cdot (1 - f_{d,j})$$
where $f_{d,j}$ is the commission rate of validator $j$.
#### Unstake
When stake period ends, tokens return to circulation:
$$S_s^+ = S_s - s_i$$
$$S_c^+ = S_c + s_i + r_i$$
If restaking:
$$S_s^+ = S_s - s_i + \rho \cdot r_i$$
$$S_c^+ = S_c + s_i + (1-\rho) \cdot r_i$$
where $\rho \in \{\rho_v, \rho_d\}$ depending on staker type.
### Token Supply Subsystem
#### Issuance (Synthetic State Change)
Per epoch (day), new tokens are minted according to staking participation:
$$I_d = \frac{(S_{max} - S) \cdot S_s}{S} \cdot \frac{1}{T_m} \cdot \overline{ECR}$$
where $\overline{ECR}$ is the stake-weighted average ECR:
$$\overline{ECR} = \frac{\sum_{i \in \mathcal{S}} s_i \cdot ECR(D_i)}{\sum_{i \in \mathcal{S}} s_i}$$
The total supply increases:
$$S^+ = S + I_d$$
This is allocated proportionally to all stakers but not realized until claim.
#### Burning
All transaction fees are burned permanently:
$$B^+ = B + B_d$$
$$S^+ = S - B_d$$
$$S_c^+ = S_c - B_d$$
where daily burning is:
$$B_d = \sum_{t \in \mathcal{T}} fee(t)$$
### Fee Dynamics Subsystem
#### Gas Price Update
The gas price adjusts based on network congestion:
$$P_g^+ = P_{g,min} \cdot e^{X_g / K_g}$$
where excess gas consumption evolves as:
$$X_g^+ = \max(0, X_g + G_{actual} - G_{target})$$
#### Transaction Fee
For a transaction $t$ consuming resources:
$$fee(t) = P_g \cdot (b_t + 1000 \cdot r_t + 1000 \cdot w_t + 4 \cdot c_t)$$
where:
- $b_t$: bandwidth (bytes)
- $r_t$: read operations
- $w_t$: write operations
- $c_t$: compute (microseconds)
### L1 Ecosystem Subsystem
#### Create L1
An operator can create a new L1 by recruiting validators:
$$L^+ = L + 1$$
$$V_{l1}^+ = V_{l1} + n_{l1}$$
where $n_{l1}$ is the number of validators for the new L1.
#### L1 Continuous Fees
Each L1 validator pays continuous fees:
$$F_{l1,i} = F_{base} \cdot e^{(V_{l1} - C_{l1}) / K_{l1}}$$
Total daily L1 fees burned:
$$F_{l1} = \sum_{i \in \mathcal{L}} n_i \cdot F_{l1,i} \cdot 86400$$
where $n_i$ is the validator count for L1 $i$.
#### Abandon L1
If an L1 cannot pay fees:
$$L^+ = L - 1$$
$$V_{l1}^+ = V_{l1} - n_{l1}$$
Validators return to available pool or leave system.
### Governance Subsystem
#### Parameter Update
Governance can update parameters within bounds:
For parameter $\theta$ with proposed change $\Delta\theta$:
If time since last change $t_{last} > t_{min}$:
$$\theta^+ = \theta + \min(\Delta\theta, h(\theta) \cdot \theta)$$
where $h(\theta)$ is the hysteresis function limiting change magnitude:
$$h(\theta) = \begin{cases}
0.20 & \text{if } t_{last} > 180 \text{ days} \\
0.10 & \text{if } t_{last} > 90 \text{ days} \\
0.05 & \text{if } t_{last} > 30 \text{ days} \\
0 & \text{otherwise}
\end{cases}$$
### System Dynamics
The continuous-time evolution of the system follows:
#### Supply Dynamics
$$\frac{dS}{dt} = \Psi_i(S_s, S, D_s) - \Psi_b(F)$$
where:
- $\Psi_i$: Issuance rate function
- $\Psi_b$: Burning rate function
#### Staking Dynamics
$$\frac{dS_s}{dt} = \phi_s(S_c, r_s) - \psi_u(S_s, D_s) + \eta_r(I_d, \rho)$$
where:
- $\phi_s$: Staking inflow rate
- $\psi_u$: Unstaking outflow rate
- $\eta_r$: Restaking rate
#### Fee Market Dynamics
$$\frac{dP_g}{dt} = \mu \cdot P_g \cdot \left[\exp\left(\frac{X_g}{K_g}\right) - 1\right]$$
$$\frac{dX_g}{dt} = G(t) - \delta \cdot X_g$$
where:
- $G(t)$: Gas consumption rate
- $\delta$: Decay parameter
- $\mu$: Adjustment speed
#### L1 Ecosystem Dynamics
$$\frac{dL}{dt} = \lambda_{create}(P_g, F_{l1}) - \lambda_{abandon}(L, F_{l1})$$
$$\frac{dV_{l1}}{dt} = n_{avg} \cdot \frac{dL}{dt} + \theta_{convert}(V_p, V_{l1})$$
where:
- $\lambda_{create}$: L1 creation rate
- $\lambda_{abandon}$: L1 abandonment rate
- $\theta_{convert}$: Validator conversion rate
## Equilibrium Analysis
The system reaches equilibrium when all derivatives equal zero:
### Staking Equilibrium
At equilibrium, staking inflows equal outflows plus restaking:
$$\phi_s(S_c^*, r_s^*) = \psi_u(S_s^*, D_s^*) - \eta_r(I_d^*, \rho)$$
Empirically observed: $S_s^* / S^* \approx 0.523$
### Supply Equilibrium
Issuance equals burning at equilibrium:
$$\Psi_i(S_s^*, S^*, D_s^*) = \Psi_b(F^*)$$
### Fee Market Equilibrium
Gas price stabilizes when:
$$X_g^* = K_g \cdot \ln\left(\frac{P_g^*}{P_{g,min}}\right)$$
## Stability Conditions
The system is locally stable if the Jacobian eigenvalues have negative real parts:
$$J = \begin{bmatrix}
\frac{\partial \dot{S}}{\partial S} & \frac{\partial \dot{S}}{\partial S_s} & \cdots \\
\frac{\partial \dot{S_s}}{\partial S} & \frac{\partial \dot{S_s}}{\partial S_s} & \cdots \\
\vdots & \vdots & \ddots
\end{bmatrix}$$
Key stability requirements:
1. $\frac{\partial \Psi_i}{\partial S} < 0$ (issuance decreases with supply)
2. $\frac{\partial \phi_s}{\partial r_s} > 0$ (staking increases with APR)
3. $\frac{\partial \Psi_b}{\partial P_g} > 0$ (burning increases with gas price)
## Implementation Notes
1. **Time Steps**: Use daily epochs for staking calculations, block-level for fees
2. **Numerical Method**: 4th-order Runge-Kutta for differential equations
3. **Conservation**: Ensure $S = S_c + S_s + S_l$ at all times
4. **Bounds**: Enforce all parameter constraints and non-negativity
## References
- Avalanche Consensus Whitepaper
- Avalanche Platform Specification
- ACP-77: Reinventing Subnets
- ACP-103: Dynamic Fees
- cadCAD Documentation