Documentation Index
Fetch the complete documentation index at: https://docs.glam.systems/llms.txt
Use this file to discover all available pages before exploring further.
GLAM integrates with Kamino for lending, vault deposits, and yield farming. The SDK provides three sub-clients:
kaminoLending — Kamino Lending (collateral, borrowing)
kaminoVaults — Kamino Vaults (yield vaults)
kaminoFarm — Kamino Farms (staking and rewards)
Kamino Lending
Initialize
Initialize user metadata for Kamino Lending:
import { GlamClient } from "@glamsystems/glam-sdk";
import { BN } from "@coral-xyz/anchor";
import { PublicKey } from "@solana/web3.js";
const glamClient = new GlamClient();
const txSig = await glamClient.kaminoLending.initUserMetadata();
Deposit Collateral
Deposit collateral into a Kamino lending market:
const market = new PublicKey("KaminoMk111111111111111111111111");
const USDC = new PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");
const txSig = await glamClient.kaminoLending.deposit(
market,
USDC,
new BN(1_000_000_000), // amount in base units
);
Withdraw Collateral
Withdraw collateral from a Kamino lending market:
const txSig = await glamClient.kaminoLending.withdraw(
market,
USDC,
new BN(500_000_000),
);
Borrow
Borrow assets from a Kamino lending market:
const txSig = await glamClient.kaminoLending.borrow(
market,
USDC,
new BN(200_000_000),
);
Repay
Repay borrowed assets:
const txSig = await glamClient.kaminoLending.repay(
market,
USDC,
new BN(200_000_000),
);
Kamino Vaults
Deposit
Deposit into a Kamino yield vault:
const kaminoVault = new PublicKey("KaminoVt111111111111111111111111");
const txSig = await glamClient.kaminoVaults.deposit(
kaminoVault,
new BN(1_000_000_000),
);
Withdraw
Withdraw from a Kamino yield vault:
const txSig = await glamClient.kaminoVaults.withdraw(
kaminoVault,
new BN(500_000_000),
);
Kamino Farms
Stake
Stake tokens into a Kamino farm:
const farmState = new PublicKey("KaminoFm111111111111111111111111");
const txSig = await glamClient.kaminoFarm.stake(
new BN(1_000_000_000),
farmState,
);
Unstake
Unstake tokens from a Kamino farm:
const txSig = await glamClient.kaminoFarm.unstake(
new BN(500_000_000),
farmState,
);
Harvest Rewards
Claim farming rewards from one or more farms:
const txSig = await glamClient.kaminoFarm.harvest([farmState]);