← Documentation home
Learn

Fees

How fees work across LayerCover's two fund types — Standard and Tranched.

Standard Vault fees

A Standard Fund is a vanilla Morpho V2 vault, which exposes two native fee slots — a management fee (annual rate on TVL) and a performance fee (rate on positive yield). LayerCover uses the management slot; the performance slot stays free for the curator.

When you deploy a Standard Fund through the LayerCover curator console, we program the vault with:

What the fee covers

The 0.25% pays for the platform LayerCover provides around the vault:

Opt-out

The curator owns the vault, so the management fee config isn't locked. Either field can be changed via the standard Morpho V2 timelocked setter path (setManagementFee / setManagementFeeRecipient).

The cost of changing it is loss of LayerCover tooling: a vault whose management fee config drifts from the LayerCover spec is filtered out of the marketplace listing and the curator console. The vault keeps working as a Morpho V2 vault, depositors and integrations that interact with it directly are unaffected.

Tranched Vault fees

Protocol fee

LayerCover takes a cut of positive yield at the tranche level. The default rate is 5% and the hard cap is 20% (MAX_PERFORMANCE_FEE_BPS). The fee is only charged on gains.

Both controls sit on the metavault and are gated by PROTOCOL_ROLE:

Withdrawal fee (keeper reward)

When someone other than the notice holder executes a matured withdrawal, they earn 5 bps of the withdrawn assets (KEEPER_FEE_BPS). The notice holder pays nothing if they execute themselves.

The fee comes out of the withdrawing LP's own redemption proceeds. Other LPs in the vault are unaffected: the keeper splits one underlying withdrawal into two payouts (the LP gets the bulk, the keeper gets the bps slice). NAV, share prices, and the leverage cap don't move on a keeper-cranked execution any more than they would on a self-execution.

The fee pays bots to push matured notices through promptly. Without that, an LP could file a notice in calm conditions, sit on it matured, and exit on demand the moment a future loss became visible. The keeper market plus 3-day auto-expiry (NOTICE_EXECUTION_WINDOW) close that window. If keeperRestricted is on, only PROTOCOL_ROLE holders can crank on behalf of someone else. The fee flows to them, the guarantee is unchanged.

Quick reference

FeeDefaultCapPaid byPaid toConfigured at
Protocol fee5% of gains20% of gainsThe tranche pool (mint dilution to junior fee recipient)LayerCover (or whoever PROTOCOL_ROLE points at)setPerformanceFeeRate / setFeeRecipient
Curator feecurator's choicecurator's choiceLayerCover's underlying-vault share priceThe curatorMorpho Curator UI
Withdrawal fee5 bps (0 on self-exec)5 bpsThe withdrawing LPThe keeper (msg.sender)Hard-coded constant