# 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](/protocol-overview/token-distribution.md) 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;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.egl.vote/protocol-overview/voting/voting-threshold.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
