Deploy your vault
Lagoon allows curators to deploy and manage vaults permissionlessly. Vaults can be created directly through the Lagoon interface.
Before you deploy
Before deploying a vault, make sure you have defined:
the chain where the vault will be deployed. You can fin the list here.
the vault admin, curator, valuation provider, and other required roles
the valuation method and settlement frequence
the access model, including whether whitelisting is required
the custody and execution setup that will manage the strategy
Deployment options
Vault parameters
These are the parameters the vault takes at initialization, as of v0.6.0. The interface asks for them at deployment.
Underlying and shares
underlying (address) – The ERC-20 users deposit, and the unit of account of every valuation. Immutable.
This token can not be a rebasing token such as stETH or an Aave debt token. In the case of stETH you would use its non-rebasing equivalent, wstETH.
name (string) – Name of the ERC-20 shares. Updatable by the Vault Admin.
symbol (string) – Symbol of the ERC-20 shares. Updatable by the Vault Admin.
Roles and governance
safe (address) – Curator address holding the vault assets. Any custody solution works: Safe multisig, MPC wallet or EOA. Updatable by the Vault Admin.
admin (address) – Vault Admin, owner of the vault and of the governance structure.
valuationManager (address) – Valuation Provider pushing the total assets of the vault. Can be a multisig or a contract.
whitelistManager (address) – Access Manager, manages the whitelist or the blacklist and the sanctions list.
securityCouncil (address) – Security Council, manages the price per share guardrails.
superOperator (address) – Super Operator, acts on behalf of users and bypasses the access checks. Put the zero address to disable it.
Access control
accessMode (enum) – 0 for whitelist mode, 1 for blacklist mode. The two modes are mutually exclusive, see the Access Manager page. The Vault Admin can switch mode later.
externalSanctionsList (address) – Optional on-chain sanctions list (Chainalysis-compatible) queried on every access check. Put the zero address to disable it.
Fees
feeReceiver (address) – Address receiving the fee shares at each settlement.
managementRate (uint16) – Management fee, in bps per year. Capped at 1000 (10%).
performanceRate (uint16) – Performance fee on gains above the high water mark, in bps. Capped at 5000 (50%).
entryRate (uint16) – Fee on deposits, in bps. Capped at 200 (2%) and can only be decreased afterwards.
exitRate (uint16) – Fee on redemptions, in bps. Capped at 200 (2%) and can only be decreased afterwards.
haircutRate (uint16) – Fee on synchronous redemptions, in bps. Capped at 2000 (20%).
allowHighWaterMarkReset (bool) – Whether the curator address can reset the performance fee baseline down to the current price per share. Set once at deployment, it can never be enabled later.
Migration
initialTotalAssets (uint256) – Starting total assets of the vault, named Initial NAV in the interface. The interface takes the amount in the underlying, the parameter itself takes the raw amount with the decimals of the underlying. Put 0 for a normal vault. A non-zero value pre-mints the matching shares to the curator address without transferring any asset, see Migrate an existing vault. Set once at deployment.
Upgradability
initialOwner (address) – Owner of the ProxyAdmin, the address able to upgrade the vault logic. Renouncing this ownership makes the vault immutable, which is irreversible.
initialDelay (uint256) – Delay to wait before an upgrade takes effect, in seconds. Between 86400 (24 hours) and 2592000 (1 month). Editable, after waiting the delay itself.
See Upgradability and opt-in proxy for the upgrade mechanism.
Coming from a pre-v0.6.0 deployment integration: enableWhitelist is replaced by accessMode and rateUpdateCooldown is gone, rate updates now apply immediately. The full list is in the version history.
You must complete the post-deployment operations to finalize your vault setup.
Recommended reading
Last updated
