SPL Integration StagingStaging
set_token_transfer_policy
Sets SPL token transfer allowlist policy for vault token movement.
Required conditions
- Configuration changes must pass owner or authorized-manager checks and, when the state or mint timelock is active, must follow the propose/apply timing model instead of taking effect immediately.
Accounts
| Account | Role | Description |
|---|---|---|
| glam_state | writable | GLAM state account that stores vault configuration, integration ACLs, delegate permissions, policies, assets, mint linkage, and pricing records. |
| glam_signer | signer, writable | Calling authority or fee payer. |
| glam_protocol_program | read-only | GLAM Protocol program account used for authorization or CPI. |
Arguments
| Argument | Type | Notes |
|---|---|---|
| policy | TransferPolicy |
Policy & permissions
- Only the GLAM owner can call. Persistence is gated through GLAM Protocol's owner-only protocol-policy persistence path; delegates cannot complete the policy change on their own.
- For non-empty policy data, the target protocol must already be enabled in
integration_acls. - State timelock applies when active.
TypeScript SDK usage
import { TransferPolicy } from "@glamsystems/glam-sdk";
const policy = new TransferPolicy([approvedDestination]);
await glamClient.access.setProtocolPolicy(
glamClient.extSplProgram.programId,
0b01,
policy.encode(),
);