# Withdrawing EGLs

Once the release date for a vote has been reached, or the lockup period for Genesis supporters and signal / seeder account has expired, the EGLs can be withdrawn from the contract to the voting wallet address. The amount received will be the original voting amount plus any rewards earned from participating in votes&#x20;

### 1. `withdraw()`&#x20;

#### Function Signature

```javascript
function withdraw() external whenNotPaused 
```

#### Validations

| Validation **Rule**                                | Description                                                                     |
| -------------------------------------------------- | ------------------------------------------------------------------------------- |
| `voters[msg.sender].tokensLocked > 0`              | Voting address must already have a vote locked to use `withdraw()`              |
| `block.timestamp > voters[msg.sender].releaseDate` | EGL's must be available for withdrawal, i.e. the release date must have elapsed |

#### Events Emitted

* `Withdraw`
* `Transfer`

#### Web3 Example

```javascript
await eglVotingInstance.withdraw({ from: "0x2be650ba..."})
```


---

# 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/documentation/withdrawing-egls.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.
