Skip to main content

Documentation Index

Fetch the complete documentation index at: https://kamino.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

A vault’s economics have three sides: yield that depositors earn, fees that the curator charges, and rewards distributed via farms. This page covers all three as a model. Fees are configured at vault creation — see Create a vault — and farms are set up via Configure farms.

How yield is generated

Vault yield comes entirely from interest paid by borrowers in the underlying reserves. There is no other yield source — if borrowers in your reserves aren’t paying interest, depositors aren’t earning. Lender yield in any Kamino reserve follows the same formula:
supply APY ≈ borrow_rate × utilization × (1 − protocol_take_rate)
A vault’s blended APY is the weighted average across all its allocations:
vault APY = Σ (reserve_APY_i × allocation_share_i)
The blended APY moves in real time as utilization shifts, allocations rebalance, and any Conditional fills or fixed-rate matches happen. The displayed APY is a trailing average and is not a forward-looking guarantee. For the FR-specific economics (why Conditional allocation tends to higher utilization and how term premium contributes), see Fixed Rates → Concepts.

Auto-compounding via share price

Vault depositors don’t receive interest payments. Instead, accrued interest grows the vault’s total assets while the share count stays fixed — so the share price (kToken exchange rate) appreciates. A depositor who held one kToken at deposit redeems for more deposit tokens at withdrawal.
share_price = total_vault_assets / shares_outstanding
shares_minted = deposit_amount / share_price
There is no rebasing. The depositor’s share count is stable.

Manager fees

You earn revenue through two fees configured at vault creation, both editable post-creation, both denominated in basis points (1 bp = 0.01%).
FeeParameterBasisDefault
Performance feePerformanceFeeBpsVault profits0
AUM (management) feeManagementFeeBpsTotal vault assets, annualized0
Both fees accrue continuously in the deposit token. They are not auto-collected — you call a withdraw-pending-fees instruction when you want to claim. You can also give-up-pending-fees to return accrued fees to depositors (useful when fees grow disproportionately to vault size). For the workflow, see Collect fees.

When to use which

  • Performance fee rewards generated yield. It scales with how well the vault performs and aligns curator incentive with depositor outcome.
  • AUM fee charges for active management regardless of yield. It scales with capital under management.
Most vaults run both. A typical institutional configuration: PerformanceFeeBps: 1500 (15%), ManagementFeeBps: 200 (2%). Both rates are editable post-creation — see Collect fees → Update performance fee.

The withdrawal penalty

The withdrawal penalty is a security mechanism, not manager revenue. Penalties are returned to the vault, benefiting remaining depositors. It exists to prevent yield-sniping — the exploit where a user deposits just before an autocompound event, captures the yield, and immediately withdraws.
ParameterTypeDescription
WithdrawalPenaltyBpsBasis pointsPercentage withdrawal fee
WithdrawalPenaltyLamportsLamportsAbsolute withdrawal fee
The system charges the MAX of the two for each withdrawal. The BPS-based fee scales with size; the lamports-based fee prevents dust exploits. Recommended starting values: WithdrawalPenaltyBps: 1 (0.01%), WithdrawalPenaltyLamports: 1. These are deliberately small — the penalty exists to defeat the exploit, not to deter normal withdrawal behaviour. Set both at vault creation.

The crank fund fee

A small per-deposit fee charged on each deposit to cover the computational cost of investing the deposited capital into reserves. Not curator revenue — funds the protocol’s invest crank operations.
ParameterTypeRecommended
CrankFundFeePerReserveLamports1–2 per reserve in the vault’s allocation
Higher values on a vault with many small deposits (and many reserves) increase per-deposit cost. Most vaults leave this at the recommended floor. Set at vault creation.

Fee summary

FeeRecipientBasisPurpose
Performance FeeVault adminProfitsManager compensation for yield
AUM FeeVault adminAnnual % of assetsManager compensation for management
Withdrawal Penalty (BPS)Vault (depositors)Withdrawal amountDefeat yield-sniping
Withdrawal Penalty (Lamports)Vault (depositors)AbsoluteDefeat dust exploits
Crank Fund FeeProtocolPer reserve, per depositCover invest crank costs

Farm rewards

Beyond interest yield, you can distribute additional rewards to depositors via farms. Every vault supports three farm types:
FarmRole
Vault FarmDistributes any reward token to depositors (kToken holders). One per vault.
Insurance Pool farmHolds your skin-in-the-game capital that absorbs losses before depositors. Backs vault risk; see Risk primitives.
Autocompound FarmDistributes rewards in the vault’s deposit token, automatically compounding into vault positions. SDK support coming.

Vault Farm mechanics

The Vault Farm is a separate on-chain account attached to the vault. Once created, farm authority transfers to the protocol — you stop directly managing it. To distribute rewards, you fund the farm with the reward token; depositors claim proportional to their kToken holdings over the reward period. The farm has a cooldown period — a delay before staked depositors can claim rewards. This prevents the exploit where a user deposits, claims rewards immediately, and withdraws. The cooldown ensures meaningful exposure before the claim entitlement. To attach the Vault Farm and configure the cooldown, see Configure farms.

Autocompound

The Autocompound Farm is a special-case farm where rewards are denominated in the vault’s deposit token and automatically reinvested into vault positions. A USDC vault with an autocompound farm distributes USDC rewards that compound directly — no manual claim, no token management for the user. This is currently configurable via the UI; SDK support is coming. See Configure farms → Autocompound.

Insurance Pool farm

The Insurance Pool is implemented as a dedicated farm that holds the curator’s locked capital. It interacts with the vault as a depositor but with stronger commitments (mandatory 30-day cooldown, public on-chain visibility, emergency-withdrawal multisig). Treat it as a risk primitive, not a yield mechanism — see Risk primitives for the model and Set up the Insurance Pool for the workflow.

What you display to depositors

Vaults surface several metrics on Kamino’s UI:
  • Headline APY — the blended interest APY across allocations.
  • KMNO emissions (when active) — added to the headline APY.
  • Farm rewards — typically displayed separately from the headline yield, since they’re paid in non-deposit tokens.
Be aware: a 9% headline APY made up of 6% organic interest + 3% KMNO emissions is materially different from 9% paid entirely in deposit-token interest. The first carries token price risk in its yield; the second doesn’t.

What’s next

Collect fees

Withdraw pending fees, give up fees, and update fee rates.

Configure farms

Set up the Vault Farm, Insurance Pool farm, and Autocompound farm.

Risk primitives

The Insurance Pool and Whitelisted Reserves.

Parameters

Full parameter reference.