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.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.
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: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.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%).| Fee | Parameter | Basis | Default |
|---|---|---|---|
| Performance fee | PerformanceFeeBps | Vault profits | 0 |
| AUM (management) fee | ManagementFeeBps | Total vault assets, annualized | 0 |
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.
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.| Parameter | Type | Description |
|---|---|---|
WithdrawalPenaltyBps | Basis points | Percentage withdrawal fee |
WithdrawalPenaltyLamports | Lamports | Absolute withdrawal fee |
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.| Parameter | Type | Recommended |
|---|---|---|
CrankFundFeePerReserve | Lamports | 1–2 per reserve in the vault’s allocation |
Fee summary
| Fee | Recipient | Basis | Purpose |
|---|---|---|---|
| Performance Fee | Vault admin | Profits | Manager compensation for yield |
| AUM Fee | Vault admin | Annual % of assets | Manager compensation for management |
| Withdrawal Penalty (BPS) | Vault (depositors) | Withdrawal amount | Defeat yield-sniping |
| Withdrawal Penalty (Lamports) | Vault (depositors) | Absolute | Defeat dust exploits |
| Crank Fund Fee | Protocol | Per reserve, per deposit | Cover invest crank costs |
Farm rewards
Beyond interest yield, you can distribute additional rewards to depositors via farms. Every vault supports three farm types:| Farm | Role |
|---|---|
| Vault Farm | Distributes any reward token to depositors (kToken holders). One per vault. |
| Insurance Pool farm | Holds your skin-in-the-game capital that absorbs losses before depositors. Backs vault risk; see Risk primitives. |
| Autocompound Farm | Distributes 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.
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.