GLAMIDL Reference
GLAM MintProduction

set_mint_policy

Sets tokenization policy such as cap, minimums, lockup, allowlist, and blocklist.

Handler narrative

  1. Load the GLAM state or program account required by the instruction and verify the signer.
  2. Apply mint lifecycle, token-account, ACL, or policy changes after verifying the required authority.

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.
  • 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.
  • Configuration changes must pass owner or authorized-manager checks and, when the state or mint timelock is active, must follow the propose/apply timing model instead of taking effect immediately.

Accounts

AccountRoleDescription
glam_statewritableState account owned by the GLAM Protocol program; it records vault configuration, policies, and pricing records.
glam_signersigner, writableCalling authority. It must be the owner or a delegate with the explicit permission required by this instruction.
glam_protocol_programread-onlyGLAM Protocol program account used for authorization or CPI.

Arguments

ArgumentTypeNotes
policyMintPolicyPolicy object written to GLAM state for this program or integration. Fields: lockup_period: u32 - Lockup applied to received shares and redemption/transfer behavior.; max_cap: u64 - Maximum total accepted value.; min_subscription: u64 - Minimum subscription size.; min_redemption: u64 - Minimum redemption size.; reserved: u64; allowlist: option<vec<pubkey>> - Optional investor allowlist.; blocklist: option<vec<pubkey>> - Optional investor blocklist.

Policy & permissions

  • No external integration enablement is required beyond the program-level functionality involved in this instruction.
  • Only the owner is expected. Delegates do not receive this capability by being added; it must be granted explicitly if supported.
  • Policy changes should be governed by owner controls and timelock settings.

Cross-instruction constraints

  • No additional cross-instruction constraint is documented beyond account initialization, authority checks, and policy validation.