GLAM Mint StagingStaging
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
| Account | Role | Description |
|---|---|---|
| glam_state | writable | GLAM state account that stores vault configuration, integration ACLs, delegate permissions, policies, assets, mint linkage, and pricing records. |
| signer | signer, writable | Calling authority or fee payer. |
| new_mint | writable | Token mint account used or validated by this instruction. |
| request_queue | writable, optional | Request queue account used by mint subscription or redemption flows. |
| extra_metas_account | writable | extra metas account account read or updated by GLAM Mint Staging's initialize mint instruction. |
| base_asset_mint | read-only | Token mint account used or validated by this instruction. |
| system_program | read-only | Solana System Program. |
| token_2022_program | read-only | Token-2022 program account. |
| policies_program | read-only | policies program account invoked or checked by this instruction. |
| glam_protocol | read-only | GLAM Protocol program account used for authorization or CPI. |
Arguments
| Argument | Type | Notes |
|---|---|---|
| mint_model | MintModel | |
| created_key | [u8; 8] | |
| account_type | AccountType | |
| decimals | option<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),
});