Phase 1 · Market setup (global)
Three actions, done once. Nothing here touches a specific asset.Create the market
Run
create-market. The CLI returns a market address. The market exists on-chain but has no reserves yet, so it accepts nothing.→ Create a marketSet market-wide config
Set the market name, referral fee, emergency council, and any other market-level fields you want to override from defaults. Most curators take defaults and revisit this only when a specific market-wide flag needs flipping.→ Market settings
Transfer ownership to a multisig
Move the
lending_market_owner from your hot wallet to a Squads multisig. Two-step: cache the new owner, then promote it. From here on, every market or reserve update goes through a multisig proposal.→ Transfer to multisigPhase 2 · Reserve setup (per asset)
The bulk of curator work. Repeat for each token you want to list. Each reserve has its own LTV, liquidation threshold, IR curve, oracle config, capacity caps, fees, and farm wiring; risk decisions are made here, per asset.Add the reserve
Submit
add-asset-to-market with a reserve config JSON for the asset’s mint. The reserve account is created on-chain with its initial parameters.→ Add a reserveConfigure the oracle
Wire the reserve to a Scope price feed and set TWAP and staleness guards.→ Configure oracles
Set risk parameters
LTV, liquidation threshold, borrow factor, IR curve, deposit and borrow caps, liquidation bonus min/max.→ Risk parameters
Set withdrawal caps (optional)
Per-interval flow limits on the reserve. Useful for newly-listed assets and regulated tokens.→ Withdrawal caps
Wire farms and rewards
Most curators set up at least a collateral farm at launch to attract depositors. Debt farms are optional, used to subsidize borrowing.→ Farms & rewards
Make it a fixed rate reserve (optional)
For lending venues that offer fixed-rate / fixed-term debt: set
debt_term_seconds, host_fixed_interest_rate_bps, and the early-repay penalty on the reserve, and the rollover windows on the market.→ Fixed rate reservesPhase 3 · Optional features
Features that toggle on top of a market. Most curators leave them off by default; enable per the use case.
A minimal market (one reserve, defaults across the board, no advanced features) is fully functional. Reach for these only when there’s a use case.
Phase 4 · Operate
After the market is live, the recurring operations:
Every change after the multisig transfer goes through a Squads proposal subject to the configured timelock.
→ Updating reserves · Emergency controls · Withdrawing protocol fees
What’s mandatory before deposits can happen
Phase 1 + at least one reserve fully through Phase 2:
Multisig ownership transfer is not strictly enforced by the program. It is the production prerequisite Kamino recommends before any external user touches the market.
Where the work happens
Continue
Quickstart
Stand up a working market on staging in ~10 minutes.
Create a market
The single CLI command and what it does on-chain.