Skip to main content
Access KLend reward information, active incentive programs, and per-user claimable rewards via the REST API.

All Active Rewards

Query all active reward programs across KLend reserves.
const response = await fetch('https://api.kamino.finance/klend/rewards');
const rewards = await response.json();
console.log('Active KLend rewards:', rewards);

User Claimable Rewards

Get all claimable rewards for a specific user across all KLend reserves.
const userPubkey = '<USER_WALLET_ADDRESS>';
const response = await fetch(
  `https://api.kamino.finance/klend/users/${userPubkey}/rewards`
);
const rewards = await response.json();
console.log('User rewards:', rewards);

Reserve Farm State (SDK)

Read live farm state on-chain using @kamino-finance/farms-sdk to compute reward emissions and APYs directly from the program accounts.
import { createSolanaRpc, address } from '@solana/kit';
import { KaminoMarket, getMedianSlotDurationInMsFromLastEpochs } from '@kamino-finance/klend-sdk';
import { FarmState } from '@kamino-finance/farms-sdk';

const rpc = createSolanaRpc('https://api.mainnet-beta.solana.com');
const slotDuration = await getMedianSlotDurationInMsFromLastEpochs();
const market = await KaminoMarket.load(rpc, address('<MARKET_ADDRESS>'), slotDuration);

for (const reserve of market!.getReserves()) {
  const collFarm = reserve.getCollateralFarmAddress();
  const debtFarm = reserve.getDebtFarmAddress();

  if (collFarm) {
    const farmState = await FarmState.fetch(rpc, collFarm);
    console.log(`${reserve.symbol} collateral farm:`, farmState);
  }
  if (debtFarm) {
    const farmState = await FarmState.fetch(rpc, debtFarm);
    console.log(`${reserve.symbol} debt farm:`, farmState);
  }
}
For a full tutorial on calculating reward APY from farm state, see Calculate Reserve Reward APY.

Additional Resources

Farms & Rewards

Full API Reference