> For the complete documentation index, see [llms.txt](https://docs.keystonefi.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.keystonefi.xyz/reference/glossary.md).

# Glossary

Quick definitions for terms used across the ksUSD docs.

A few come up everywhere, so they're defined once here:

* **Carry** — income you collect for holding a position, rather than for correctly guessing a price move.
* **Funding** — a payment perp traders make to each other every few hours to keep the perp price near spot. When more traders are long than short, longs pay shorts, so a short position gets paid to sit there. It is the price of leverage on *that venue*, so a young book with few directional traders pays near zero regardless of what the asset does elsewhere.
* **NAV** — net asset value, the total dollar value of everything the vault holds.
* **Delta-hedged** — holding an asset and shorting the same amount of it, so its price largely stops affecting your return. Traders call the trade delta-neutral; the offset here is close but not exact, so this book says hedged.

***

## Product

* **ksUSD** — Solana staking yield, hedged. A vault share, not a pegged dollar: a share is worth whatever the vault's assets are worth, drifts up as yield accrues, and can fall. What the vault does to earn it is the [Introduction](/readme.md).
* **Vault** — the single Anchor program and its account, which holds the assets, mints ksUSD, and runs the strategy.
* **Coordinates carry** — ksUSD gathers jitoSOL staking, Phoenix funding, and lending carry into one token, run by one vault.
* **Gross effective NAV** — `cached_nav_usdc − queue_pending_usdc`. What the high-water mark is measured against.
* **Effective NAV** — `gross_effective_nav_usdc − pending_perf_fees_usdc`. What holders actually own, and what deposits and withdrawals price against.
* **Share price** — what 1 ksUSD is worth in USDC: the dollars the vault holds for shareholders, divided by the ksUSD outstanding. On-chain that is `effective_nav_usdc × 1e9 / total_shares`, stored as dollars × 1e9, so `1_030_000_000` reads as $1.03. Deposits mint at it, redemptions burn at it.
* **HWM** — high-water mark: the highest *gross* share price the vault has ever reached. Performance fees accrue only above it, and it never moves down.
* **Accrued perf fees** — `pending_perf_fees_usdc`. Performance fees already earned but not yet paid out. Set aside as they're earned, so the share price is always net of them.

## Modes (`PositionMode`)

* **Parked** — no perp position. Everything sits in USDC, lent on Kamino via `lend_idle_usdc`. This is where the vault goes when funding falls below the break-even threshold — deeply negative, not merely thin. (The enum variant is named `Idle`.)
* **Normal basis** — hold jitoSOL outright for staking yield, and short an equal amount of SOL-PERP on Phoenix (1× notional) with USDC as margin. Runs when funding clears the threshold by the ±3% band. The threshold is the basis-vs-parked break-even, −0.78% at the current staking and lending rates — staking still out-earns lending, so the short can cost a little and still leave the vault ahead, but the headroom is thin. It moves with both rates. The on-chain floor ships at −78.
* **WindDown** — the shutdown mode, set by `init_wind_down`. No new deposits or positions; everyone redeems their share via `claim_wind_down`.
* **Dwell** — the minimum time the vault must stay in one mode before it can switch again. Default 12 hours.
* **Funding EMA** — a running average of the funding rate that weights recent readings more heavily (`funding_apr_smoothed_bps`). Updated on every `settle` and compared against `funding_threshold_*_bps` to pick the mode.

## Withdrawal

* **Liquidity buffer** — idle USDC the vault keeps on hand so withdrawals can pay out instantly. Default 10% of NAV.
* **Instant withdrawal** — `withdraw_instant`. One transaction, paid straight out of the buffer.
* **Queued withdrawal** — `request_withdrawal` burns your shares and locks the amount you're owed. Later, `process_withdrawal` pays it out and closes the request. Anyone can trigger that second step.
* **Queue cursor** — `queue_next_id` and `queue_processed_through` on the vault. Together they track which requests are still outstanding.

## On-chain accounts

A **PDA** is an account the program controls directly, with no private key behind it. An **ATA** is the standard account a wallet holds a particular token in.

* **Vault PDA** — seeds `[b"vault"]`. Signs every token operation, and is the authority over the ksUSD mint and all vault-owned token accounts.
* **WithdrawalRequest** — one account per queued request, at `[b"withdrawal_request", vault, request_id]`. Closed by `process_withdrawal`. Processed strictly in order via `queue_processed_through`.
* **Phoenix trader account** — the Phoenix Perps trader and subaccount PDAs the vault owns, set up through the Rise SDK builder path. Created by `enable_phoenix`.
* **Kamino lending cTokens** — the receipts for USDC lent on Kamino: `vault_lend_collateral_ata`.

## External protocols

"CPI" below means one Solana program calling another within a transaction, which is how the vault operates on these venues.

* **Phoenix Perps** — the on-chain perp exchange from Ellipsis Labs, with real two-sided funding. It's the v1 hedge venue. USDC margin goes in through **Ember**, and the vault calls it directly on-chain using the Rise SDK. Program `EtrnLzgbS7nMMy5fbD42kXiUzGg8XQzJ972Xtk1cjWih`.
* **Ember** — the program that turns USDC into Phoenix perp margin. Program `EMBERpYNE6ehWmXymZZS2skiFmCa9V5dp14e1iduM5qy`.
* **Kamino KLend** — the lending protocol the vault uses for USDC (`lend_idle_usdc`).
* **Jupiter V6** — a swap aggregator. Every USDC ↔ jitoSOL swap routes through it.
* **Pyth (pull oracles)** — the price source for SOL/USD and jitoSOL/USD. Every read is checked for staleness (5 min) and confidence (2%). Set via `set_oracles`.
* **Jito (jitoSOL)** — a liquid staking token. Its yield comes from staking rewards plus MEV tips, both baked into the jitoSOL/SOL exchange rate.

## Off-chain

* **Keeper** — the off-chain bot that runs the vault's routine instructions on a schedule. Its key is pinned as `authorized_keeper`, and it's the only signer that can open or close positions, move capital in and out of lending, or call `attest_nav`.
* **Cranker** — anyone who pays to run an instruction that needs no permission: `settle`, `process_withdrawal`, and `emergency_close` once tripped. One nuance on `settle` — anyone can call it to refresh NAV and the depeg guard, but only the keeper's call updates the funding signal that gates position entry.
* **Admin** — whoever holds the admin key. Required for `set_pause`, `update_params`, `transfer_admin`, and `collect_fees`. This becomes a multisig before launch.

## Backtest

* **Target APY** — regime-dependent, so read the drawdown first: **−0.392%**, carried through a month in which Phoenix funding averaged −14%. Yield is **5.04% net** on the venue's own measured funding. Fully loaded — already net of fees, trading costs, and the margin haircut. The window is 286 days, the whole life of the venue, so there is no through-cycle band to quote.
* **Daily backtest** — daily figures over 2025-11-19 – 2026-08-31, every day Phoenix has quoted a SOL perp, covering the two modes v1 actually runs. Funding is Phoenix's own, unscaled. Method: [historical-simulation.md](/how-it-works/strategy-and-modes/historical-simulation.md).
* **Funding proxy** — retired. The backtest reads Phoenix's own funding history and applies no scale factor. A CEX proxy does not survive the comparison: over the 286 days both cover, Phoenix averaged +1.58% APR while Binance averaged −0.11%, and the two disagree on sign for weeks. Funding is set by which side of *Phoenix's* book is crowded.
