GLAMIDL Reference

set_protocol_fees

Updates protocol fee configuration for mint flows.

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_mintread-onlyToken-2022 mint associated with the GLAM mint or tokenized vault.
signersigner, writableCalling authority. It must be the owner or a delegate with the explicit permission required by this instruction.
glam_configread-onlyGlobal GLAM configuration account for fee and asset/oracle metadata.
glam_protocol_programread-onlyGLAM Protocol program account used for authorization or CPI.

Arguments

ArgumentTypeNotes
base_fee_bpsu16Protocol base fee in basis points.
flow_fee_bpsu16Protocol flow fee in basis points for subscription, redemption, or similar movement flows.

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.

TypeScript SDK usage

await glamClient.fees.setProtocolFees(
  1,
  2000,
);

Cross-instruction constraints

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