Skip to main content

LP-Book Pool

LPs deposit capital into a shared pool. Cardinal manages the pool by running the underlying borrow loop spread on Aave V3 on their behalf.

LPs are auto-opted-in to being the counterparty to The Carry Perp trades. LPs also back The Perpetual Negative Rate Hedge through the same pool and methods.

Capacity

LP capacity is measured in the notional size of user trades.

Example:

A user who deposits 1 ETH for a 1000x leveraged position takes up 1000 ETH of pool capacity until their position closes.

LP Methods

lpDeposit(amount) lpOnly

LP transfers tokens in and gets LP tokens minted at current NAV. NAV increases.

lpRequestWithdrawal(lpTokenAmount) lpOnly

Starts 7-day cooldown and queues the request.

lpWithdraw(requestId) lpOnly

After cooldown, redeems against free_NAV.

free_NAV is value not committed to open positions, The Perpetual Negative Rate Hedge rights, and pool safety gates.

updateLpList(address[]) adminOnly

Admin-only method for Cardinal to add & remove LPs.

deployToAave(amount) adminOnly

Contract uses LP capital to run the Aave V3 borrow loop, supplying collateral and executing the borrow, swap, and resupply path from its own balance.

deleverage(amount) adminOnly

Pulls back some of the Aave V3 borrow loop as position health dictates.

Withdrawals

LPs may withdraw the following amount of tokens at any time:

free_NAV = max(0, NAV - capacity_committed_NAV)

capacity_committed_NAV = max(
sum_policy_sizes,
7 * ((0.05 + max(0, current_carry)) * sum_cp_notional / 365.25)
)

sum_policy_sizes is the sum of entitlement_share(policy.L) * policy.notional across open Negative Rate Hedge positions.

NAV in this formula excludes claimable_tokens from The Perpetual Negative Rate Hedge settlements.

Pool Balance Sheet

The pool's withdrawable equity is its NAV net of the obligations reserved against it. The view below nets quantities the contract already tracks; it adds none.

SideItems
Pool assetsLoop collateral and borrow position deployed on Aave V3; idle (undeployed) NAV
Reserved against NAVcapacity_committed_NAV for open Carry Perp and Negative Rate Hedge entitlements; claimable_tokens owed from Negative Rate Hedge settlements; accrued policy buffers
Held, not yet pool capitalBuyer gas tanks (premiumBalance), credited to NAV only as premium is debited

free_NAV = max(0, NAV - capacity_committed_NAV) is the equity withdrawable after those reservations.

LP-Book Pool Health

If LP-Book Pool health degrades, Cardinal automatically deleverages the LP-managed borrow loop to reduce exposure.

Triggers:

  • Aave health factor falls below threshold
  • pool NAV drops more than 10% peak-to-trough

Redeployment starts only once the NAV drop climbs back up to 3% below peak.