# Voting Threshold

## Voting Threshold

For `tallyVotes()` to “pass” and adjust `desiredEGL`, enough EGLs must participate to meet the `votingThreshold`, which is defined as a % of `eglsInCirculation`.

`eglsInCirculation` is calculated as the sum of EGLs at the time `tallyVotes()` is called that were:

1. Swept by pools
2. Distributed and claimed (i.e. used to vote at least once) by Core Devs
3. Distributed and claimed (i.e. used to vote at least once) by Genesis participants
4. Deployed to Balancer as part of the Genesis (i.e. 750M tokens)
5. Calculated as Voter Rewards (i.e. when `withdraw()` is called)
6. Unlocked and sent to EGL Creators
7. Distributed by the EGL DAO

See [Token Distribution](https://docs.egl.vote/protocol-overview/token-distribution) for details.

The `votingThreshold` is initialized at 10% of the `eglsIncirculation`for the first 7 epochs, after which it jumps to 30% for the remaining 45 epochs (totaling 52 epochs) after the EGL launch, and then gradually increases every epoch at a rate of 10% / year to a maximum of 50%:

$$threshold\_i =10%$$ , if i <= 7&#x20;

$$threshold\_i =30%$$ , if 7 < i < 52&#x20;

$$threshold\_i = min(50%, (((i+1)/52)-1) \* 10% + 30%)$$, if i ≥ 52

{% hint style="info" %}
i = 0 for the first epoch
{% endhint %}

## Unfavorable Default Vote Behavior

If the `votingThreshold` is not met, the tally does NOT leave the `desiredEGL` unchanged.

Instead, in order to incentivize voter participation, the default behavior is to gradually undo the change since EGL launch, which is very likely a negative outcome for EGL voters. Specifically, the default behavior sets the `desiredEGL` to 95% of the `tallyVotesGasLimit` (the gas limit of the block that the successful `tallyvote()` was called in).

For example, assume:

1. EGL the `tallyVotesGasLimit` is 15M gas.
2. The voted on `desiredEGL` is 16M.
3. At some point in the future the `votingThreshold` is not met.

&#x20;After the vote, the new `desiredEGL` would be 14.25M (15M \* 95%) since the threshold wasn't met.&#x20;

## Grace Period

The aforementioned default behavior does not take place for a grace period of 7 epochs (weeks) from smart contract launch. Thus, in the first 7 weeks, if a vote does not meet the threshold, `desiredEGL` stays the same (e.g. what it was in the prior week).&#x20;
