GLAMIDL Reference

GLAM Protocol

Main vault program. It owns the GLAM state model, derives the vault PDA, enforces integration and delegate ACLs, applies vault policies and timelocks, and hosts native integrations such as system transfers and Jupiter swaps.

Accounts owned or controlled

AccountOwner / authorityPurpose
State accountGLAM ProtocolCanonical vault record for metadata, owner, enabled integrations, delegates, policies, assets, borrowable assets, timelock settings, and pricing records.
Vault PDAControlled by GLAM ProtocolAsset-holding account derived from the state account. Integrations use it as the vault authority for token accounts and external protocol positions.
Anchor event authorityGLAM ProtocolProgram-derived event helper used when instructions emit Anchor events.

Integration notes

  • Relevant official references: [Solana Program Derived Addresses](https://solana.com/docs/core/pda), [Solana documentation](https://solana.com/docs).

Instructions

22 total
InstructionDescription
cancel_timelockCancels a pending timelocked change on the GLAM state.
close_stateCloses a disabled GLAM state account that is not linked to a mint.
cpi_proxyInternal authorization proxy that enabled integration programs use to request vault-signed CPI under core GLAM access checks.
emergency_access_updateBypasses timelock for emergency access changes such as disabling a delegate, integration, or state.
enable_disable_protocolsEnables or disables protocol bitflags for an integration program on a vault.
extend_stateExtends or reallocates GLAM state capacity for additional configuration data.
grant_revoke_delegate_permissionsGrants or revokes delegate permissions limited by integration program and protocol.
initialize_stateInitializes a GLAM state account for a vault or related account type.
jupiter_swapExecutes a Jupiter swap for vault-held assets under GLAM policies and delegate permissions.
jupiter_swap_v2Executes a Jupiter swap for vault-held assets under GLAM policies and delegate permissions.
link_unlink_mint_by_mint_authorityInternal GLAM Mint authority flow for linking or unlinking a Token-2022 mint to GLAM state.
reset_priced_protocols_by_mint_authorityInternal GLAM Mint authority flow for clearing priced-protocol records before repricing.
set_jupiter_swap_policySets Jupiter swap policy including slippage and allowlist guardrails.
set_protocol_policySets raw policy bytes for an enabled integration protocol on the GLAM state.
set_system_transfer_policySets system SOL transfer policy and destination allowlist guardrails.
system_transferTransfers SOL or wraps SOL from the vault under GLAM authorization and destination policy.
token_transfer_checked_by_mint_authorityInternal GLAM Mint authority flow for checked token transfers involving vault-held assets.
update_mint_paramsUpdates mint-related parameters stored in GLAM state, subject to access control and timelock rules.
update_mint_params_by_mint_authorityInternal GLAM Mint authority path for mint-parameter updates that are not owner-timelocked.
update_priced_protocolInternal integration-only update path for publishing priced protocol records into GLAM state.
update_stateUpdates GLAM state metadata, policies, assets, ACLs, or owner-controlled settings.
update_state_apply_timelockApplies a previously proposed timelocked GLAM state update.