Skip to main content

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.

Build on Kamino section background illustration

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

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)
);

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.

manage_earn_vaults

Earn Vaults

Deploy custom earn vault and earn revenue share.
manage_borrow_markets

Borrow markets

Choose collateral, debt, interest rate and oracle.
manage_incentive_campaigns

Incentive campaigns

Incentive campaigns, points and more.

Developer Tools

Typescript SDK

Earn Code Examples

Borrow Code Examples

Smart Contract Repo