GLAMIDL Reference

fulfill

Fulfills pending subscription or redemption requests after required pricing and settlement conditions.

Required conditions

  • 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.
  • The vault must have fresh pricing records for the operation; fee or fulfillment math depends on NAV values written by the pricing flow.
  • The request queue or escrow account must contain the expected request state for the signer, request type, timing window, and amount being processed.

Accounts

AccountRoleDescription
glam_statewritableState account owned by the GLAM Protocol program; it records vault configuration, policies, and pricing records.
glam_vaultwritableVault account controlled by the GLAM Protocol program; conceptually derived from the state account and used as the vault authority.
glam_mintwritableToken-2022 mint associated with the GLAM mint or tokenized vault.
glam_escrowread-onlyProgram-derived account used by this instruction; clients should prefer SDK helpers when available.
request_queuewritableProgram-derived queue associated with the mint for queued subscriptions and redemptions.
signersigner, writableCalling authority. It must be the owner or a delegate with the explicit permission required by this instruction.
escrow_mint_atawritableToken mint account used by the instruction.
assetread-onlyInstruction-specific account supplied by the caller or SDK.
vault_asset_atawritableToken account read or written by the instruction.
escrow_asset_atawritableToken account read or written by the instruction.
system_programread-onlyStandard Solana program account required by the instruction.
deposit_token_programread-onlyInstruction-specific account supplied by the caller or SDK.
token_2022_programread-onlyStandard Solana program account required by the instruction.
associated_token_programread-onlyStandard Solana program account required by the instruction.
glam_protocol_programread-onlyGLAM Protocol program account used for authorization or CPI.

Arguments

ArgumentTypeNotes
limitoption<u32>Optional maximum number of queued requests to process; omit it to let the transaction process as many as account and compute limits allow.

Policy & permissions

  • Manager or protocol authority is required according to the mint and fee configuration.

TypeScript SDK usage

const preInstructions = await glamClient.price.priceVaultIxs();
await glamClient.invest.fulfill(null, {
  preInstructions,
  lookupTables: glamClient.price.lookupTables,
  simulate: true,
});

Cross-instruction constraints

  • Requires fresh pricing for the vault. The pricing operation itself must be atomic in a single transaction.