Shares Wrappers

Sometimes, fund participation (depositing, redeeming, and transferring shares) requires rules that are different from the core logic. In such a case, a contract can be deployed that wraps the shares token with the desired logic.

A shares wrapper:

  • is an ERC20 token

  • is associated with one vault

  • accepts end user requests to deposit and redeem to its associated vault (wrapper logic dictates whether these requests pass through atomically, or are queued for subsequent transactions)

  • holds all shares that are received through its deposits

  • issues wrapped shares to the end user 1:1 for the shares received from their deposits

  • implements any arbitrary additional logic


A shares wrapper that:

  • is compatible with Enzyme v4 and future versions

  • defines recurring windows for (user) requesting and (wrapper manager) executing redemptions

  • holds redemption requests and allows their execution within the redemption window, up to a specified, collective, per-window relative cap (e.g., 25% of wrapped shares supply)

  • optionally requires per-user pre-approvals for wrapped shares actions (deposit, redeem, transfer)

  • allows the wrapper manager to force redemptions, i.e., kick depositors from the fund

Last updated