Withdrawing Pool Tokens

Balancer Pool Tokens (BPT's) can be withdraw as they become available. Only those that are available can be withdrawn. The remaining balance stays in the contract until such time that they become available and can be withdrawn.
BPT's gradually start to unlock after 10 epochs with the last BPT being unlocked after 52 epochs
See the release schedule for a detailed breakdown of when the BPT's are released.

1. withdrawPoolTokens()

Function Signature

function withdrawPoolTokens() external whenNotPaused


Validation Rule
supporters[msg.sender].poolTokens > 0
Calling address must have available pool tokens to withdraw
block.timestamp.sub(firstEpochStartDate) > minLiquidityTokensLockup
Cannot withdraw pool token before the minimum lockup period has elapse
_supporter.firstEgl <= currentSerializedEgl
The current serialized EGL must be after the calling addresses first EGL - meaning the calling addresses BPT's have started to be released

Events Emitted

  • SerializedEglCalculated
  • PoolTokensWithdrawn
  • Transfer

Web3 Example

await eglVotingInstance.withdrawPoolTokens({ from: "0x2be650ba..."})