All programsStaging
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
| Account | Owner / authority | Purpose |
|---|---|---|
| State account | GLAM Protocol Staging | Canonical vault record for metadata, owner, enabled integrations, delegates, policies, assets, borrowable assets, timelock settings, and pricing records. |
| Vault PDA | Controlled by GLAM Protocol Staging | Asset-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.
| Protocol | Description | Instructions |
|---|---|---|
| Core | State, ACL, and timelock management — the GLAM Protocol surface that's not a sub-protocol integration. | 20 |
| System | SOL transfers and the System TransferPolicy that gates them. | 2 |
| Stake | Native stake-program operations on vault-controlled stake accounts. | 8 |
| Jupiter Swap | Native Jupiter routing for vault-held assets, with policy guardrails. | 3 |
Integration notes
- Relevant official references: Solana Program Derived Addresses, Solana documentation.
Instructions
33 total
| Instruction | Description |
|---|---|
| add_assets | Adds assets. |
| cancel_timelock | Cancels a pending timelocked change on the GLAM state. |
| close_state | Closes a disabled GLAM state account that is not linked to a mint. |
| cpi_proxy | Internal authorization proxy that enabled integration programs use to request vault-signed CPI under core GLAM access checks. |
| delete_assets | Deletes assets. |
| emergency_access_update | Bypasses timelock for emergency access changes such as disabling a delegate, integration, or state. |
| enable_disable_protocols | Enables or disables a protocol on a vault's integration ACL. |
| extend_state | Extends or reallocates GLAM state capacity for additional configuration data. |
| grant_revoke_delegate_permissions | Grants or revokes delegate permissions limited by integration program and protocol. |
| initialize_state | Initializes a GLAM state account for a vault or related account type. |
| jupiter_swap | Executes a Jupiter swap for vault-held assets under GLAM policies and delegate permissions. |
| jupiter_swap_v2 | Executes a Jupiter swap for vault-held assets under GLAM policies and delegate permissions, with oracle price guardrails. |
| link_unlink_mint_by_mint_authority | Internal GLAM Mint authority flow for linking or unlinking a Token-2022 mint to GLAM state. |
| reset_priced_protocols_by_mint_authority | Internal GLAM Mint authority flow for clearing priced-protocol records before repricing. |
| set_jupiter_swap_policy | Sets Jupiter swap policy including slippage and allowlist guardrails. |
| set_protocol_policy | Sets raw policy bytes for an enabled integration protocol on the GLAM state. |
| set_protocol_policy_by_integration_authority | Persists an integration protocol policy using the integration authority PDA. |
| set_system_transfer_policy | Sets system SOL transfer policy and destination allowlist guardrails. |
| stake_authorize | Performs native stake-program action `stake_authorize` for a GLAM vault. |
| stake_deactivate | Performs native stake-program action `stake_deactivate` for a GLAM vault. |
| stake_delegate_stake | Performs native stake-program action `stake_delegate_stake` for a GLAM vault. |
| stake_initialize | Performs native stake-program action `stake_initialize` for a GLAM vault. |
| stake_merge | Performs native stake-program action `stake_merge` for a GLAM vault. |
| stake_move | Performs native stake-program action `stake_move` for a GLAM vault. |
| stake_split | Performs native stake-program action `stake_split` for a GLAM vault. |
| stake_withdraw | Performs native stake-program action `stake_withdraw` for a GLAM vault. |
| system_transfer | Transfers SOL or wraps SOL from the vault under GLAM authorization and destination policy. |
| token_transfer_checked_by_mint_authority | Internal GLAM Mint authority flow for checked token transfers involving vault-held assets. |
| update_mint_params | Updates mint-related parameters stored in GLAM state, subject to access control and timelock rules. |
| update_mint_params_by_mint_authority | Internal GLAM Mint authority path for mint-parameter updates that are not owner-timelocked. |
| update_priced_protocol | Internal integration-only update path for publishing priced protocol records into GLAM state. |
| update_state | Updates GLAM state metadata, policies, assets, ACLs, or owner-controlled settings. |
| update_state_apply_timelock | Applies a previously proposed timelocked GLAM state update. |