GLAMIDL Reference

GLAM Protocol Staging

Staging deployment of GLAM Protocol. Mirrors the production program with additional or pre-release functionality for review. Once the CPI depth limit is increased to 8, Jupiter Swap will be moved to its own integration program.

Accounts owned or controlled

AccountOwner / authorityPurpose
State accountGLAM Protocol StagingCanonical vault record for metadata, owner, enabled integrations, delegates, policies, assets, borrowable assets, timelock settings, and pricing records.
Vault PDAControlled by GLAM Protocol StagingAsset-holding account derived from the state account. Integrations use it as the vault authority for token accounts and external protocol positions.

Protocols

GLAM Protocol Staging groups its instructions into the following protocols. Each protocol corresponds to a delegate-permission set on the GLAM state's integration ACL.

ProtocolDescriptionInstructions
CoreState, ACL, and timelock management — the GLAM Protocol surface that's not a sub-protocol integration.20
SystemSOL transfers and the System TransferPolicy that gates them.2
StakeNative stake-program operations on vault-controlled stake accounts.8
Jupiter SwapNative Jupiter routing for vault-held assets, with policy guardrails.3

Integration notes

Instructions

33 total
InstructionDescription
add_assetsAdds assets.
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.
delete_assetsDeletes assets.
emergency_access_updateBypasses timelock for emergency access changes such as disabling a delegate, integration, or state.
enable_disable_protocolsEnables or disables a protocol on a vault's integration ACL.
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, with oracle price guardrails.
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_protocol_policy_by_integration_authorityPersists an integration protocol policy using the integration authority PDA.
set_system_transfer_policySets system SOL transfer policy and destination allowlist guardrails.
stake_authorizePerforms native stake-program action `stake_authorize` for a GLAM vault.
stake_deactivatePerforms native stake-program action `stake_deactivate` for a GLAM vault.
stake_delegate_stakePerforms native stake-program action `stake_delegate_stake` for a GLAM vault.
stake_initializePerforms native stake-program action `stake_initialize` for a GLAM vault.
stake_mergePerforms native stake-program action `stake_merge` for a GLAM vault.
stake_movePerforms native stake-program action `stake_move` for a GLAM vault.
stake_splitPerforms native stake-program action `stake_split` for a GLAM vault.
stake_withdrawPerforms native stake-program action `stake_withdraw` for a GLAM vault.
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.