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.
Build on Kamino Deposit to earn, lend or borrow programmatically, and use our APIs to read market data and user positions. Available via Typescript SDK, REST APIs and full working examples.
Integration Guides
Earn - Kamino Vaults Lending strategies to earn yield
Vault and user data
Current & historical data
Deposit & Withdraw txn
Deploy vaults
Borrow - Kamino Lend Flexible lending and borrowing
User and PnL data
Historical yield & liquidity
Deposit & Withdraw txn
Borrow & Repay txn
API Reference APIs for data & transactions
Current & historical data
Build transactions
Earn vaults
Borrow lend
Quick Snippets Deposit on Earn
Borrow
Get Earn balances
Get Loan health
Get Market data
import { createSolanaRpc , address , generateKeyPairSigner } from '@solana/kit' ;
import { KaminoVault } from '@kamino-finance/klend-sdk' ;
import { Decimal } from 'decimal.js' ;
const signer = await generateKeyPairSigner ();
const vault = new KaminoVault (
createSolanaRpc ( 'https://api.mainnet-beta.solana.com' ),
address ( 'HDsayqAsDWy3QvANGqh2yNraqcD8Fnjgh73Mhb3WRS5E' )
);
const depositIxs = await vault . depositIxs (
signer ,
new Decimal ( 100.0 )
);
import { createSolanaRpc , address , generateKeyPairSigner } from '@solana/kit' ;
import { KaminoMarket , KaminoAction , VanillaObligation , PROGRAM_ID } from '@kamino-finance/klend-sdk' ;
import BN from 'bn.js' ;
const signer = await generateKeyPairSigner ();
const rpc = createSolanaRpc ( 'https://api.mainnet-beta.solana.com' );
const market = await KaminoMarket . load ( rpc , address ( '7u3HeHxYDLhnCoErrtycNokbQYbWGzLs6JSDqGAv5PfF' ), 400 );
const usdtMint = address ( 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB' );
const borrowAmount = new BN ( 1_000_000 ); // 1 USDT
const borrowAction = await KaminoAction . buildBorrowTxns (
market ,
borrowAmount ,
usdtMint ,
signer ,
new VanillaObligation ( PROGRAM_ID )
);
import { createSolanaRpc , address } from '@solana/kit' ;
import { KaminoVault } from '@kamino-finance/klend-sdk' ;
const vault = new KaminoVault (
createSolanaRpc ( 'https://api.mainnet-beta.solana.com' ),
address ( 'HDsayqAsDWy3QvANGqh2yNraqcD8Fnjgh73Mhb3WRS5E' )
);
const user = address ( 'EZC9wzVCvihCsCHEMGADYdsRhcpdRYWzSCZAVegSCfqY' );
const shares = await vault . getUserShares ( user );
const rate = await vault . getExchangeRate ();
console . log ({
shares: shares . totalShares . toString (),
tokens: shares . totalShares . mul ( rate ). toString (),
});
import { createSolanaRpc , address } from '@solana/kit' ;
import { KaminoMarket , VanillaObligation , PROGRAM_ID } from '@kamino-finance/klend-sdk' ;
const rpc = createSolanaRpc ( 'https://api.mainnet-beta.solana.com' );
const marketPubkey = address ( '7u3HeHxYDLhnCoErrtycNokbQYbWGzLs6JSDqGAv5PfF' );
const market = await KaminoMarket . load ( rpc , marketPubkey , 400 );
const userAddress = address ( 'EZC9wzVCvihCsCHEMGADYdsRhcpdRYWzSCZAVegSCfqY' );
const obligation = await market . getObligationByWallet (
userAddress ,
new VanillaObligation ( PROGRAM_ID )
);
const ltv = obligation . loanToValue ();
console . log ( 'Loan-to-Value:' , ltv );
import { createSolanaRpc , address } from '@solana/kit' ;
import { KaminoMarket } from '@kamino-finance/klend-sdk' ;
const market = await KaminoMarket . load (
createSolanaRpc ( 'https://api.mainnet-beta.solana.com' ),
address ( '7u3HeHxYDLhnCoErrtycNokbQYbWGzLs6JSDqGAv5PfF' )
);
Earn Tutorials Quick tutorials for depositing into Earn vaults.
Earn via API Deposit to vaults using REST API
Earn via SDK Deposit to vaults using TypeScript SDK
Earn with Privy Wallet Integrate deposits with Privy embedded wallets
Deploy an Earn Vault and Get Revenue Share Any builder can deploy a private or public Earn Vault and get revenue share in just a few lines of code.
const tokenMint = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v' ; // USDC
const kaminoManager = new KaminoManager ( rpc , slotDuration );
// Configure vault
const kaminoVaultConfig = new KaminoVaultConfig ({
admin: adminSigner ,
tokenMint: tokenMint ,
performanceFeeRatePercentage: new Decimal ( 10.0 ),
managementFeeRatePercentage: new Decimal ( 1.0 ),
name: 'Earn USDC Vault' ,
vaultTokenSymbol: 'kUSDC' ,
vaultTokenName: 'kUSDC receipt' ,
});
const { vault : vaultSigner , initVaultIxs : instructions } =
await kaminoManager . createVaultIxs ( kaminoVaultConfig );
Kamino management portal No code solution to deploy markets, vaults and rewards.
Earn Vaults Deploy custom earn vault and earn revenue share.
Borrow markets Choose collateral, debt, interest rate and oracle.
Incentive campaigns Incentive campaigns, points and more.