GLAMIDL Reference
GLAM ProtocolProduction

system_transfer

Transfers SOL or wraps SOL from the vault under GLAM authorization and destination policy.

Accounts

AccountRoleDescription
glam_stateread-onlyGLAM state account that stores vault configuration, integration ACLs, delegate permissions, policies, assets, mint linkage, and pricing records.
glam_vaultwritableVault PDA associated with the GLAM state and used as the vault authority.
glam_signersigner, writableCalling authority or fee payer.
cpi_programread-onlyDownstream program invoked by this instruction.
towritableto account read or updated by GLAM Protocol's system transfer instruction.

Arguments

ArgumentTypeNotes
lamportsu64

Policy & permissions

  • SingleAssetVault states are rejected.
  • Signer must be the GLAM owner or a delegate with the appropriate System permission for the destination kind:
  • • WSOL token-account destinations owned by the vault require System WSOL.
  • • Stake-account destinations require Stake Stake and the stake account's withdraw authority must be the vault.
  • • Other destinations check the TransferPolicy destination allowlist and require System Transfer. WSOL token accounts owned by an allowlisted address use this same Transfer path and additionally require the vault not to be a tokenized vault.
  • There is no mint/asset or amount policy on this instruction.

TypeScript SDK usage

await glamClient.vault.systemTransfer(
  1_000_000_000,
  recipient,
);