For the complete documentation index, see llms.txt. This page is also available as Markdown.

Utilization Metrics

How to work out where the vault's money is sitting at any given moment.

Everything here comes from vault.cached_nav_usdc and the position fields. There are no view helpers to call; just read the Vault account directly.


Buckets

Everything the vault holds falls into one of these:

Bucket
Source

Liquidity buffer

Vault USDC ATA balance — sized to liquidity_buffer_bps × cached_nav_usdc / 10_000 target

Reserve fund

reserve_fund_usdc (productively lent on Kamino)

Parked capital

Kamino USDC reserve via lend_idle_usdc

jitoSOL spot leg

jitoSOL held unlevered (normal basis) — spot holdings × oracle jitoSOL price

Perp-venue margin

USDC margin on Phoenix via Ember (normal basis)

Perp PnL

Settled funding + mark-vs-entry PnL on the open position


Derived ratios

const buffer        = vaultUsdcAtaBalance;          // off-chain query
const target        = vault.cachedNavUsdc.muln(vault.liquidityBufferBps).divn(10_000);
const bufferUtilBps = Number(buffer.mul(10_000n).div(target.toBigInt()));  // 10_000 = exactly on target

const queuePendingRatioBps = vault.queuePendingUsdc * 10_000n / vault.cachedNavUsdc;
const navPerShare1e9       = vault.cachedNavUsdc * 1_000_000_000n / vault.totalShares;
Ratio
What it means

bufferUtilBps

Whether the buffer holds enough to cover instant withdrawals. 10,000 means exactly on target. Below 9,000 it's underfunded and the keeper should move more capital into it.

queuePendingRatioBps

How much USDC is owed to queued withdrawals, as a share of NAV. If this stays above 10%, the keeper needs to unwind position to free up cash.

navPerShare1e9

The live share price, scaled by 1e9. Drifts up with carry, and only ever starts at par on the very first deposit.


When to alert

Condition
Interpretation

bufferUtilBps < 5_000 for > 1h

The buffer is under half its target, so instant withdrawals may start failing

queuePendingRatioBps > 1_500 for > 6h

The queue is over 15% of NAV; the keeper should unwind position faster

Perp margin or jitoSOL value drifts > 5% from what the mode implies

Something is wrong with margin, the oracle, or settlement. Investigate.


Last updated