GLAMIDL Reference

initialize_mint

Initializes a new GLAM Token-2022 mint and, for tokenized vaults, the linked GLAM state.

Applies toVaultTokenized VaultSingle-Asset Vault

Required conditions

  • Mint actions must satisfy the linked GLAM state, Token-2022 mint configuration, mint policy, and any request queue or escrow state involved in the flow.
  • 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

AccountRoleDescription
glam_statewritableGLAM state account that stores vault configuration, integration ACLs, delegate permissions, policies, assets, mint linkage, and pricing records.
signersigner, writableCalling authority or fee payer.
new_mintwritableToken mint account used or validated by this instruction.
request_queuewritable, optionalRequest queue account used by mint subscription or redemption flows.
extra_metas_accountwritableextra metas account account read or updated by GLAM Mint Staging's initialize mint instruction.
base_asset_mintread-onlyToken mint account used or validated by this instruction.
system_programread-onlySolana System Program.
token_2022_programread-onlyToken-2022 program account.
policies_programread-onlypolicies program account invoked or checked by this instruction.
glam_protocolread-onlyGLAM Protocol program account used for authorization or CPI.

Arguments

ArgumentTypeNotes
mint_modelMintModel
created_key[u8; 8]
account_typeAccountType
decimalsoption<u8>

Policy & permissions

  • Only the GLAM owner can call this; delegates are rejected.

TypeScript SDK usage

import { GlamClient, StateAccountType, WSOL, nameToChars } from "@glamsystems/glam-sdk";
import { BN } from "@coral-xyz/anchor";

const glamClient = new GlamClient();
await glamClient.mint.initialize({
  accountType: StateAccountType.TOKENIZED_VAULT,
  name: nameToChars("My Fund"),
  symbol: "gFUND",
  baseAssetMint: WSOL,
  maxCap: new BN(1_000_000_000_000),
});