# 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