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.