# Release Schedule

## Matching EGLs

The ETH and EGLs deployed to the Balancer ETH-EGL pool entitles Supporters to the received [*Balancer Pool Tokens*](https://balancer.gitbook.io/balancer/core-concepts/protocol/pool-lifecycle) (*BPTs)*. These tokens are released in a FIFO schedule, over a period ranging between 70 and 364 days after the voting contract launch.

The basic idea of the release is as follows: when *X%* of the lockup period passes, the first *X%* of the EGLs matched are released, and therefore the pool tokens which correlate to these EGLs are released.

As outlined in [Genesis Rewards](https://docs.egl.vote/protocol-overview/launch/untitled), the EGL smart contract tracks the amount of EGLs matched (`totalEglsMatched`). For each Supporter, `totalEglsMatched`is recorded both before and after, providing liquidity in a range format `(start,stop)` , as well as the `poolTokensDue`.

At any given time, the last EGL released is 0 if 10 weeks have not passed since the launch, and otherwise computed as follows:

* `lockupTimePassed= currentTime-launchTime- 10*7*24*60*60`
* `lockupPercentile= lockupTimePassed/(364-70)*24*60*60`
* `lastEglReleased = lockupPercentile^4 * 750,000,000`

Using `lastEglReleased`, the number of BPTs to be released for a specific Supporter is 0 if `lastEglReleased <= start`, and otherwise: `poolTokensDue * (lastEglReleased - start) / (stop-start)`

At any given time, a supporter may call `withdrawPoolTokens()` to withdraw all their released pool tokens.

To find when your individual BPT tokens will be released:

$$
\text{First BPT Release Date} =(\frac{\text{first\_serialized\_EGL}}{750,000,000})^{1/4}\* 294 + 70
$$

$$
\text{Last BPT Release Date} = (\frac{\text{last\_serialized\_EGL}}{750,000,000})^{1/4}\* 294 + 70
$$

where,&#x20;

$$
\text{ETH:EGL Genesis Ratio}: \frac{\text{Total ETH staked at Genesis}}{\text{750,000,000 EGLs}}
$$

$$
\text{last serialized EGL} = \text{ETH:EGL Genesis Ratio}  \* \text{cumulative ETH staked after you contribute}
$$

$$
\text{first serialized EGL} = \text{ETH:EGL Genesis Ratio}  \*  \text{cumulative ETH staked before you contributed}
$$

## Bonus Voting EGLs

Supporters are awarded additional EGLs (see [Launch Rewards](https://docs.egl.vote/protocol-overview/untitled#liquidity-voting)) based on their "place in line". These EGLs allow Supporters to participate in the gas limit vote, as well as earn [Voter Rewards](https://docs.egl.vote/protocol-overview/voting).

These Bonus EGLs may be withdrawn once all the Supporter's BPTs are released, as outlined above, unless the Supporter chooses to extend their lockup further using `reVote()` (see [Voting](https://docs.egl.vote/protocol-overview/voting)).&#x20;

Thus, for a given supporter, BPT tokens have a gradual release schedule, while Bonus Voting EGLs are released all at once with the last BPT token release.&#x20;

{% hint style="warning" %}
All the EGLs used to vote from a Genesis participant's wallet address - regardless of how they were acquired - will be locked for the entirety of the lockup.
{% endhint %}

{% hint style="info" %}
We've created a[ spreadsheet](https://docs.google.com/spreadsheets/d/1vdpZF6vDZkM1axpoc3cP1rAy2tD3J3VwOPe7coVELE4/edit#gid=0) to help with calculating their BPT Tokens, Bonus Voting Tokens, and release yourself. You can also use the spreadsheet to see how many EGLs you received. You can also go to [EGL.vote](http://www.egl.vote) or query the contract directly.
{% endhint %}

##
