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..."})

Last updated