Skip to content

Pool & LP

The Pool is the protocol's central liquidity vault and acts as the dealer: the counterparty to every trade across all markets. Liquidity Providers (LPs) deposit quote tokens (e.g., USDC) into the pool and receive LP shares representing their proportional claim on pool equity. When a trader opens a position, the pool automatically takes the opposite side.

How LP Capital Works

Deposits and Shares

When an LP deposits tokens, shares are minted proportional to their deposit relative to total pool equity. The first depositor receives a fixed amount of shares (bootstrapping), and subsequent deposits use the current NAV-per-share to determine minting.

LP Equity (NAV)

LP equity represents the real value backing all outstanding LP shares:

LP Equity=Vault BalanceProtocol FeesTrader CollateralBad Debt+Σ(Realized PnL+Unrealized MTM+Pending Funding+LP Fees)

The sum runs across all active markets in the pool. Every component that affects the vault's real value is accounted for, including unrealized mark-to-market on open positions and any pending funding settlements. If LP equity goes negative, the pool is insolvent and deposits/withdrawals are blocked.

Bad debt arises when a position closes with losses exceeding its collateral. The pool's realized PnL includes the full counterparty gain, but only the available collateral is actually in the vault. The bad debt deduction corrects for this discrepancy so LP equity reflects real assets.

NAV Per Share=LP EquityTotal Shares

This determines the redemption value of each LP share. It rises as the pool earns fees and spread PnL, and falls if the pool takes losses on open positions.

Withdrawals and Reserves

DV01 Reserve

Not all LP equity is available for withdrawal. The protocol reserves a portion based on the pool's aggregate directional risk exposure, measured in DV01:

Reserve=Pool Aggregate DV01×Max Rate Move (bps)

The pool's aggregate DV01 is a hybrid measure: within each market, long and short positions offset directionally (net DV01), but across different markets, the per-market net DV01 values are summed as absolute values (gross). This conservative approach recognizes that rate moves in different markets are not guaranteed to offset each other. A SOL funding rate move and an ETH borrow rate move are essentially independent risks.

Withdrawable Equity

Withdrawable=max(LP EquityReserve,0)

If the reserve exceeds LP equity, all withdrawals are blocked. This ensures the pool always holds enough capital to cover its worst-case obligations.

Withdrawal Fees

Withdrawals are subject to a dynamic fee that increases with utilization. Below a kink threshold the fee is minimal. Above the kink, it ramps steeply toward the maximum, discouraging large withdrawals when the pool is heavily utilized and protecting remaining LPs.

Market Depth Allocation

Each market in the pool is assigned a liquidity weight that determines its share of total LP capital:

Market Depth=Market WeightTotal Weight×LP Equity

This allocation determines how much depth each market's curve engine can deploy across its tenor segments. Markets with higher weights receive more liquidity, enabling tighter pricing and larger trades. The weight distribution is a governance decision that controls where LP capital is deployed and how much risk each market can take on relative to the others.

Pool Configuration

The pool maintains a registry of up to 16 markets. Each market has its own curve engine state, fee parameters, and risk caps, but they all share the same underlying LP capital. At the pool level, several global constraints bound total risk: a max LP equity cap (AUM ceiling), pool-wide OI and DV01 caps (aggregate exposure limits weighted by each market's risk weight), and the max rate move parameter used for DV01 reserve calculation. These pool-level caps work alongside market-level caps to ensure the protocol's total risk exposure stays bounded relative to available capital.