GLAM ProtocolProduction
initialize_state
Initializes a GLAM state account for a vault or related account type.
Required conditions
- Creation-style flows require the target account or PDA to be uninitialized or intentionally updatable, the fee payer to be writable, and the System Program to be present when rent or allocation is needed.
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. |
| system_program | read-only | Solana System Program. |
| base_asset_mint | read-only | Token mint account used or validated by this instruction. |
Arguments
| Argument | Type | Notes |
|---|---|---|
| state | StateModel |
Policy & permissions
- Only the GLAM owner can call this; delegates are rejected.
TypeScript SDK usage
import { GlamClient, StateAccountType, nameToChars } from "@glamsystems/glam-sdk";
const glamClient = new GlamClient();
await glamClient.state.create({
accountType: StateAccountType.VAULT,
name: nameToChars("Managed Vault"),
});