Certain baskets have withdrawals that are grouped into withdrawal windows, which are periods of up to a certain length (such as every 48 hours). By grouping withdrawals into windows, the protocol ensures that users get a prorated distribution of their deposits after a strategy has run properly.
Withdrawal windows exist for a few reasons. First, some of the underlying strategies that can be executed on the protocol require fixed durations of time to run properly. If, for instance, these strategies were made for instant liquidity (eg. withdrawal at any time), the protocol would necessarily need to liquidate many user funds and thereby impair the performance of users who remain in the pool.
By capturing these requests during a withdrawal window, the protocol can ensure that users who chose to remain in the strategy are not negatively impacted (eg. closing some positions prematurely can result in a loss) while ensuring a user who does wish to exit the position can do so in a predictable manner.
Timing: The design of the withdrawal windows means that user funds are inaccessible until, at most, the duration of the window has run out. Based on broader strategy designs, there are numerous safety conditions (eg. high volatility) that may close a position sooner meaning that user funds will be returned faster than the window.
Buying Baskets with Withdrawal Windows
Baskets with withdrawal windows can be purchased just like normal. You will simply notice a lock icon on the buy page and a notice which will be your indication that this is a different type of basket.
Executing a Withdrawal
Withdrawals occur in 3 key steps.
Initiate a Withdrawal: A user can initiate a withdrawal for a basket that contains a withdrawal window like they would sell any other basket. At the time of a sale in the dApp -- users are notified prior to buying of this behavior as well -- the user will be shown the details of the current withdrawal window. Upon initiating the request, the user is issued an NFT that provides a claim to their underlying assets.
Window: Users must wait at most the length of the withdrawal window for their request to be processed. This may happen faster based on various factors but never longer. Once the window closes, the user's request will settle at the latest market price.
Claim Assets: User claims their assets, essentially exchanging their NFT for the value of the underlying assets. Users will see a notification on the top of the given basket page that they will need to interact with, and ultimately approve. Once the window has closed, a user will click claim and be able to