maxNetExposure ceiling the protocol uses to gate position opens, hedged longs and shorts in the same (pair, maturity) bucket offset each other — a perfectly hedged book reads near-zero utilization regardless of how large the gross open interest is.
Utilization Formula
Utilization itself is Computed — derived at query time by
PoolVault.riskCapacityUtilization().
If
maxNetExposure returns 0 (e.g. empty vault) and sumAbsBucketExposure is non-zero, utilization returns type(uint256).max so the withdrawal gate trips. When both are zero, utilization is 0.Maximum Utilization Cap
The protocol enforces a configurable cap on utilization:
When an LP attempts to withdraw, the vault checks whether the resulting utilization would exceed
maxRiskCapacityBps. If it would, the withdrawal is blocked.
Maximum Withdrawable Amount
The vault computes the maximum USDC that can be withdrawn without breaching the cap. Inverting the utilization formula and solving for the minimum retained assets gives:maxWithdrawable returns 0.
Worked Examples
One-sided book — 95k long, no hedge, 120k pool
One-sided book — 95k long, no hedge, 120k pool
Well under the cap — withdrawals are unrestricted.
Hedged book — 50k long + 45k short same bucket, 120k pool
Hedged book — 50k long + 45k short same bucket, 120k pool
Gross open interest is identical to the one-sided case, but the bucket netting credits the
hedge — utilization reads orders of magnitude lower.
Why Cap Utilization?
The cap serves four purposes:1
Prevent bank-run dynamics
Without a cap, LPs could race to withdraw during adverse conditions, leaving the pool unable to
honor its obligations. The cap ensures an orderly withdrawal process.
2
Ensure settlement liquidity
Matured positions must be settled with USDC payouts to profitable traders. The reserve ensures funds
are always available.
3
Absorb potential bad debt
If a position’s losses exceed its locked margin, the pool absorbs the shortfall. A minimum reserve
provides a buffer for these events.
4
Bound risk capacity
The bucket-aggregated net exposure is also what gates new position opens via the RiskManager.
Using the same denominator for the withdrawal cap means LP withdrawals can never push the pool
past the protocol’s risk-capacity ceiling.
Dynamic Utilization Changes
Utilization changes with every position operation:Disabling the Utilization Cap
SettingmaxRiskCapacityBps to 0 disables the restriction entirely.
Querying Utilization Onchain
Related Pages
ERC-4626 Vault
How the vault operates and tracks exposure.
Deposit & Withdraw
Step-by-step guide for LP operations.
Pool Exposure Caps
How the risk manager limits pool-level exposure.