Skip to main content
Access vault reward information, incentive programs, and farm data via the REST API and TypeScript SDK. Use these endpoints to monitor reward distribution and calculate incentive APYs for your vault.

Vault Rewards

Query all active reward programs across vaults.
const response = await fetch('https://api.kamino.finance/kvaults/rewards');
const rewards = await response.json();
console.log('All vault rewards:', rewards);

Vault Incentive Data

Get detailed incentive information for a specific vault including delegated farm rewards, reserve farm incentives, and direct vault farm incentives.
import { createSolanaRpc, address } from '@solana/kit';
import { KaminoManager, KaminoVault } from '@kamino-finance/klend-sdk';
import { Decimal } from 'decimal.js';

const rpc = createSolanaRpc('https://api.mainnet-beta.solana.com');
const vault = new KaminoVault(rpc, address('<VAULT_ADDRESS>'));
const kaminoManager = new KaminoManager(rpc);

const vaultTokenPrice = new Decimal(1.0); // adjust for non-stablecoin vaults
const vaultOverview = await kaminoManager.getVaultOverview(vault, vaultTokenPrice);

console.log('Delegated farm incentives:', vaultOverview.delegatedFarmIncentives);
console.log('Reserve farm incentives:', vaultOverview.reservesFarmsIncentives);
console.log('Vault farm incentives:', vaultOverview.vaultFarmIncentives);

Incentive Types

TypeDescription
Delegated Farm IncentivesRewards delegated from the vault farm to depositors
Reserve Farm IncentivesRewards from individual lending reserve farms that the vault participates in
Vault Farm IncentivesDirect rewards distributed through the vault’s own farm

Reward APY Calculation

Calculate the total reward APY for a vault by combining incentive data from the vault overview.
import { createSolanaRpc, address } from '@solana/kit';
import { KaminoManager, KaminoVault } from '@kamino-finance/klend-sdk';
import { Decimal } from 'decimal.js';

const rpc = createSolanaRpc('https://api.mainnet-beta.solana.com');
const vault = new KaminoVault(rpc, address('<VAULT_ADDRESS>'));
const kaminoManager = new KaminoManager(rpc);

const vaultTokenPrice = new Decimal(1.0);
const vaultOverview = await kaminoManager.getVaultOverview(vault, vaultTokenPrice);

// The vault overview contains APY breakdown by source
console.log('Full vault overview:', vaultOverview);
Reward APYs are dynamic and depend on total deposits, reward emission rates, and token prices. Query this data regularly for accurate dashboard displays.

Additional Resources