GLAMIDL Reference
GLAM MintProduction

price_kamino_vault_shares

Prices Kamino vault share holdings and records their value for vault AUM.

Handler narrative

  1. Load the GLAM state or program account required by the instruction and verify the signer.
  2. Read the relevant vault positions and oracle accounts, calculate their base-asset value, and write the result into the state pricing records.
  3. Prices Kamino vault shares. - num_vaults Number of kamino vaults to price. Extra accounts for pricing N kamino vault shares: - (kvault_share_ata, kvault_share_mint, kvault_state, kvault_deposit_token_oracle) x N - reserve x M - M = number of reserves used by all kvaults' allocations - reserve pubkeys must follow the same order of reserves used by each allocation

Required conditions

  • The submitted accounts must match the declared account list, signer requirements, writable requirements, fixed program addresses, and account relationships shown below.
  • The GLAM state account is the source of truth for owner, enabled integrations, delegate permissions, policies, assets, borrowable assets, timelock settings, mint linkage, and pricing records.
  • The vault account must be the PDA controlled by the core protocol program and derived conceptually from the state account; instructions use it as the vault authority for SOL, token accounts, and external positions.
  • Mint actions must satisfy the linked GLAM state, Token-2022 mint configuration, mint policy, and any request queue or escrow state involved in the flow.
  • All pricing instructions for the same pricing operation must be in one Solana transaction; splitting them across multiple transactions is unsupported and can produce stale, inconsistent, or rejected NAV calculations.
  • Oracle, token-account, position, and pricing-record accounts must all refer to the same vault state and base asset so the AUM calculation is internally consistent.

Accounts

AccountRoleDescription
glam_statewritableState account owned by the GLAM Protocol program; it records vault configuration, policies, and pricing records.
glam_vaultread-onlyVault account controlled by the GLAM Protocol program; conceptually derived from the state account and used as the vault authority.
signersigner, writableCalling authority. It must be the owner or a delegate with the explicit permission required by this instruction.
sol_usd_oracleread-onlyPricing or oracle account used to calculate value for the instruction.
base_asset_oracleread-onlyPricing or oracle account used to calculate value for the instruction.
integration_authorityread-onlyProgram-derived authority used by an integration during CPI into an external protocol.
glam_configread-onlyGlobal GLAM configuration account for fee and asset/oracle metadata.
glam_protocolread-onlyGLAM Protocol program account used for authorization or CPI.
event_authorityoptionalProgram-derived account used by this instruction; clients should prefer SDK helpers when available.
event_programoptionalFixed program or sysvar account required by this instruction.

Arguments

ArgumentTypeNotes
num_vaultsu8Number of Kamino vault share positions included in the pricing operation.

Policy & permissions

  • No external integration enablement is required beyond the program-level functionality involved in this instruction.
  • Pricing callers must be authorized to update valuation records for the vault. Pricing does not grant asset-movement rights.

TypeScript SDK usage

const pricingIxs = await glamClient.price.priceVaultIxs();
const validateIx = await glamClient.price.validateAumIx();
// Submit all pricing instructions and validation together.

Cross-instruction constraints

  • All pricing instructions for this pricing operation must be included in the same Solana transaction. Splitting them across multiple transactions is not supported and will produce incorrect or rejected NAV calculations.