Utilization Formula
| Variable | Type | Description |
|---|---|---|
grossNotional | Onchain: stored in PoolVault | Sum of all open position notional values, regardless of direction (LONG or SHORT) |
BPS_DENOMINATOR | Constant | 10,000 (basis point scaling constant) |
totalAssets | Onchain: ERC-4626 vault balance | USDC balance held by the vault contract |
If
totalAssets is zero, utilization returns 0 to avoid division by zero. This edge case occurs only
when the vault is completely empty (no deposits and no open positions).Maximum Utilization Cap
The protocol enforces a configurable cap on utilization:| Parameter | Default | Description |
|---|---|---|
maxUtilizationBps | 8,000 (80%) | Maximum allowed utilization after any withdrawal |
maxUtilizationBps. If it would, the withdrawal is blocked.
Maximum Withdrawable Amount
The vault computes the maximum USDC that can be withdrawn without breaching the utilization cap:maxWithdrawable returns 0.
Worked Example
- Moderate Utilization (60%)
- High Utilization (80%)
- Low Utilization (20%)
| Metric | Value |
|---|---|
| Total Assets | 1,000,000 USDC |
| Gross Notional | 600,000 USDC |
| Current Utilization | 6,000 bps (60%) |
| Max Utilization Cap | 8,000 bps (80%) |
Why Cap Utilization?
The utilization cap serves four critical purposes: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.
Ensure settlement liquidity
Matured positions must be settled with USDC payouts to profitable traders. The reserve ensures funds
are always available.
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.
Dynamic Utilization Changes
Utilization is not static — it changes with every position operation:| Event | Effect on Utilization |
|---|---|
| Position opened | Gross notional increases, utilization rises |
| Position closed | Gross notional decreases, utilization falls |
| Position increased | Gross notional increases, utilization rises |
| Position reduced | Gross notional decreases, utilization falls |
| LP deposits USDC | Total assets increases, utilization falls |
| LP withdraws USDC | Total assets decreases, utilization rises |
How do new deposits affect withdrawability?
How do new deposits affect withdrawability?
When a new LP deposits,
totalAssets increases, which decreases utilization and increases
maxWithdrawable for all LPs. New deposits expand the pool’s capacity and make it easier for
existing LPs to withdraw.What happens when many positions mature simultaneously?
What happens when many positions mature simultaneously?
When positions mature and are settled,
grossNotional decreases. If traders were collectively
losing, totalAssets also increases (pool gains). Both effects reduce utilization, freeing up
more USDC for withdrawal.Can utilization exceed 80% without a withdrawal?
Can utilization exceed 80% without a withdrawal?
Yes. If the pool pays out large trader profits during settlement,
totalAssets decreases while
grossNotional stays the same (other positions are still open). This can push utilization above
the cap temporarily. In this state, no withdrawals are possible until utilization naturally
decreases as positions close.Disabling the Utilization Cap
SettingmaxUtilizationBps to 0 disables the restriction entirely, allowing unlimited withdrawals
regardless of open exposure.
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.