Skip to content

Vault parameters ​

Parameters specific to the Vault contract (VaultSupervised). The Vault is intentionally minimal: three governable parameters live here, the rest live on the Pool or the Position.

Defaults ​

IDParameterRangeNotes
0x1FEE_ENTRY0 – 50%Fraction skimmed on depositAssets. v10c default: 0.1%.
0x2FEE_EXIT0 – 50%Fraction skimmed on redeemAssets. v10c default: 0.1%.
0x4POL_FETCHABLE_SHARE0 – 100%Max share of the accumulated POL surplus that may be fetched. Default 0 (nothing extractable until governance raises it).

The fee recipients are configured separately in the constructor: the entry fee can flow to a treasury address; an exit-fee recipient of the zero address is mapped to the vault itself, so the fee is retained in the vault (increasing the pool's per-share value) rather than transferred out. POL_FETCHABLE_SHARE is also seeded at construction from the VaultFee struct and defaults to 0 — the vault is born "locked".

Reading from the contract ​

solidity
IVault vault = IVault(vaultAddress);
(uint256 entryFee,)   = vault.getTarget(vault.FEE_ENTRY_ID());
(uint256 exitFee,)    = vault.getTarget(vault.FEE_EXIT_ID());
(uint256 fetchShare,) = vault.getTarget(vault.POL_FETCHABLE_SHARE_ID());

Vault interface ​

The Vault implements ERC4626 (depositAssets / mintShares / redeemAssets / burnShares) plus the POL read/write surface (pol / polFetchable / polFetched / fetchPol). For tooling that doesn't speak ERC-4626, prefer the Pool's higher-level supply / redeem / borrow / settle, which compose vault operations with the protocol's health checks.

Direct vault interaction bypasses the Pool's health checks. Use the Pool, not the Vault, for normal user operations.

Where to go next ​