Skip to main content
This is the canonical reference for ReserveConfig — the on-chain struct that defines every parameter of a Kamino reserve. Field names below match the JSON used by the kamino-manager CLI (camelCase). The on-chain Rust struct uses snake_case; the SDK handles the conversion. For guidance on choosing values, see Risk parameters, Configure oracles, and the topic-specific guides linked from each section below.

Reserve status

Risk parameters

Capacity limits

Withdrawal caps

Each cap is a WithdrawalCaps struct with these fields: Two caps per reserve:

Liquidation parameters

Auto-deleverage

Interest rate curve

The first point should be (0, 0) or (0, 1). The last point should be (10000, max_rate). Pad unused slots by repeating the final point.

Fees

Token info / oracle config

Scope configuration

Fixed-Rate Parameters

Fixed-rate reserves use the same primitives as floating reserves plus four config fields that pin the rate and impose a term. See Fixed Rates for the full configuration workflow. For a fixed-rate reserve, configure borrowRateCurve as a flat curve at the target rate (both endpoints set to the same borrowRateBps) and leave hostFixedInterestRateBps at 0 unless an intentional protocol spread is required.

Elevation groups

See Elevation groups.

Fixed-term

See Fixed rate reserves.

Emergency

See Emergency controls.

Fields to ignore

The following appear in some example JSON files but are not part of the current ReserveConfig struct. Treat them as no-ops; the program ignores them on update: If you encounter these in older configs, you can leave them in place (the on-chain struct ignores unrecognized fields during update) or strip them for clarity.

Reading the live config

Saves the canonical, on-chain config to a JSON file. Use this as the source of truth before editing.

Reference