Emission dynamics
YB emissions come from a reserve that decays exponentially. The GaugeController mints them with emit() on the YB token. The pace depends on staking in the gauges, the staking contracts of the markets. The staking ratio of a gauge is the share of the market's yb-LP supply that is staked in it. When less yb-LP is staked, the reserve releases YB more slowly.
How fast the reserve releases YB
The emission reserve held 300,000,000 YB at deploy. The other 700,000,000 YB of the 1,000,000,000 YB maximum supply was pre-allocated, as Tokenomics shows. Each period emits a fraction of what remains, so emissions have no cut-off date.
When every gauge is fully staked, the decay has a 4-year e-folding time. In each e-folding time, the remaining reserve shrinks by a factor of e. If every gauge stays fully staked, any 4-year window emits about 63% of the reserve at its start. From the start of emissions, that is about 189,600,000 YB.
In practice, staking ratios are below 100%, so the taper is slower. The rate factor measures this effect. It is a number from 0 to 1 that combines the staking ratios of all active gauges. Emission rate formula defines it. The effective e-folding time is .
If every gauge has a staking ratio of 25%, the rate factor is . The same decay then takes twice as long. The first 4 years emit about 39% of the reserve, or 118,000,000 YB. A rate factor of 0.25 (a staking ratio of about 6.25% in every gauge) makes the same decay take four times as long.
YB.max_mint_rate() does not change after deploy. It is about of the reserve per second, which gives the 4-year e-folding time. To check the supply, call YB.totalSupply().
Governance cannot change these parameters of the YB token contract. The reserve starts at a fixed value and decreases with each mint. Governance influences emissions only through gauge weights and staking (the rate factor).
The figure shows how much of the reserve remains over twenty years at rate factors of 1.0, 0.5, and 0.25:
Reserve remaining over time, with each curve at a constant rate factor. A lower staking ratio stretches the same decay. None of the curves ever reaches zero.
Emission rate formula
Over a time step , emit() mints a quantity proportional to the remaining reserve:
The rate factor combines the staking ratios of all active gauges:
For each gauge , the adjusted weight scales the raw governance weight by the square root of that gauge's staking ratio:
The table lists the inputs:
| Symbol | Getter or source | Value |
|---|---|---|
reserve | YB.reserve() | 300,000,000 YB at deploy |
max_mint_rate | YB.max_mint_rate() | About 7.93 × 10⁻⁹ per second |
rate_factor | The rate-factor formula | 0 to 1 |
raw_weight(g) | Gauge votes of veYB holders | — |
staked(g) / lt_total_supply(g) | Staking ratio: the staked share of the market's yb-LP | 0 to 1 |
When every gauge has the same staking ratio, the rate factor is the square root of that ratio. The following chart plots it:
The rate factor sets the emission rate as a share of the maximum at the current reserve. It rises fastest at low staking: a staking ratio of 6.25% already gives 0.25, and 25% gives 0.5. At 50%, the rate factor is about 0.71 (√0.5 ≈ 0.707).
Emissions at full and zero staking
When every gauge is fully staked, the rate factor approaches one. Emissions then run at the maximum decay rate, max_mint_rate. When the gauges have no stakers, the rate factor approaches zero. Emissions then decrease in proportion.
Supply cap and minters
emit() mints only from reserve, so each emission moves YB from reserve to totalSupply. If no other minter exists, reserve + totalSupply stays at the maximum supply of 1,000,000,000 YB. owner() on the token returns the zero address. Ownership is renounced, so no new minter can be granted. The GaugeController holds the minter role and mints only through emit(), which is bound by the reserve. Verify the full minter set from the token's RoleMinterChanged events.
For the full supply structure and the minter role, read Supply structure in YB token.
Contrast with CRV
The table compares the YB schedule with Curve's CRV schedule:
| CRV | YB | |
|---|---|---|
| Schedule | Piecewise: multiplied by each year | Continuous exponential decay |
| Adaptation | Static | Driven by gauge staking ratios |
| End state | Asymptotic total supply approximately 3.03 billion CRV | 1,000,000,000 YB maximum supply, and the emission reserve approaches zero |
Related
- Tokenomics: the allocation split and the token flow.
- YB token: the supply cap and who can mint YB.
- Gauges and emissions: how gauge votes weight emissions.
- Dev: YB token: mint mechanics and the minter role.
- Dev: GaugeController: gauge weight registry and voting.