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

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

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