All programsProduction
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. 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 | Canonical vault record for metadata, owner, enabled integrations, delegates, policies, assets, borrowable assets, timelock settings, and pricing records. |
| Vault PDA | Controlled by GLAM Protocol | 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 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. | 18 |
| System | SOL transfers and the System TransferPolicy that gates them. | 2 |
| 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
23 total
| Instruction | Description |
|---|---|
| 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. |
| 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. |
| 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. |