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

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.

  • NAV — net asset value, the total dollar value of everything the vault holds.

  • Delta-neutral — holding an asset and shorting the same amount of it, so its price stops affecting your return.


Product

Term
Definition

ksUSD

A dollar backed by staked SOL. It converts SOL staking yield into dollar yield by holding jitoSOL and hedging the price risk away; funding and lending add to it. The price drifts up as that accrues.

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 − reserve_fund_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

effective_nav_usdc × 1e9 / total_shares (scaled by 1e9). What 1 ksUSD is worth in USDC.

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.

Reserve fund

A pool of USDC built from the 5% skim on performance fees, lent on Kamino. It absorbs first losses up to its size, and it grows slowly — treat it as an operational buffer, not as depeg or exploit cover. Paying out is a discretionary admin action (pay_from_reserve), never automatic. Tracked as reserve_fund_usdc.

Modes (PositionMode)

Term
Definition

Parked

No perp position. Everything sits in USDC, lent on Kamino via lend_idle_usdc. This is the default when funding is thin or negative. (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 usually near 0%, and the program floors it so the vault never shorts into negative funding.

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

Term
Definition

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.

Term
Definition

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.

Reserve ATA

A vault-owned USDC account used only for the reserve fund (vault.reserve_ata). Fixed at initialize.

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 for the idle-USDC leg and reserve_lend_collateral_ata for the reserve. Both fixed by enable_lending.

External protocols

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

Term
Definition

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, lend_reserve).

Marginfi

Held in reserve as a second USDC lending venue in v1.1. The vault has fields for it, but it isn't wired up yet.

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

Term
Definition

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

Term
Definition

Target APY

Regime-dependent, so read the drawdown first: −0.3% through the 2025–26 funding compression. Yield is ~6% net when funding is thin, as it is now, scaling toward ~11% when funding is rich. That figure is fully loaded — already net of fees, trading costs, and the margin haircut.

Daily backtest

Daily figures over a 24-month window, Jul 2024 – Jun 2026, covering the two modes v1 actually runs. Phoenix only launched in Dec 2025, so it uses historical SOL-perp funding as a stand-in. Method: historical-simulation.md.

Funding proxy

Binance funding taken at face value, on the basis that Phoenix prices its own funding off CEX index feeds. It still flatters the funding leg against what Phoenix has actually paid — the staking leg is what carries the result.

Last updated