Use this file to discover all available pages before exploring further.
A market is created by a single transaction. The transaction initializes a LendingMarket account on-chain with default settings and your wallet (or a multisig) as the owner. Reserves, oracles, and feature flags are configured in subsequent steps.The market is empty (no reserves) until you add reserves, and cannot accept deposits or borrows until at least one reserve is active.
If you want the market owned by a multisig from inception, pass the multisig pubkey as a noop signer for admin:
import { noopSigner, address } from '@kamino-finance/klend-sdk';const multisigAdmin = noopSigner(address('<SQUADS_MULTISIG_PUBKEY>'));const { market, ixs } = await kaminoManager.createMarketIxs({ admin: multisigAdmin,});// Don't sign and send. Instead, encode the transaction as base58 and submit it// as a Squads proposal. The multisig itself will sign and execute.
For most curators, the simpler path is to create under a hot wallet, add reserves, validate, then transfer to a multisig.
Market creation is not available via the REST API. The Kamino API supports reading market and reserve data and building user-facing deposit/borrow transactions. Market creation is an admin operation available through the SDK or Kamino CLI.
To create a market programmatically, use the SDK or Kamino CLI tabs.For reading market data after creation, see Read market data and the API reference.
A market is created by a single CLI call. The command initializes a LendingMarket account on-chain and prints the new market’s address.
Before running the command, complete the CLI installation & setup. The CLI requires ADMIN, RPC, KLEND_PROGRAM_ID_MAINNET, and KLEND_PROGRAM_ID_STAGING in .env.