GLAM Mint StagingStaging
fulfill
Fulfills pending subscription or redemption requests after required pricing and settlement conditions.
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.
- The vault must have fresh pricing records for the operation; fee or fulfillment math depends on NAV values written by the pricing flow.
- The request queue or escrow account must contain the expected request state for the signer, request type, timing window, and amount being processed.
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_vault | writable | Vault PDA associated with the GLAM state and used as the vault authority. |
| glam_mint | writable | Token mint account used or validated by this instruction. |
| glam_escrow | read-only | Escrow account or escrow token account used by mint flows. |
| request_queue | writable | Request queue account used by mint subscription or redemption flows. |
| signer | signer, writable | Calling authority or fee payer. |
| escrow_mint_ata | writable | Token mint account used or validated by this instruction. |
| asset | read-only | Mint account for the asset being fulfilled or settled in this mint flow. |
| vault_asset_ata | writable | Token account read or written by this instruction. |
| escrow_asset_ata | writable | Token account read or written by this instruction. |
| system_program | read-only | Solana System Program. |
| deposit_token_program | read-only | Token program account. |
| token_2022_program | read-only | Token-2022 program account. |
| associated_token_program | read-only | Associated Token Account program. |
| glam_protocol_program | read-only | GLAM Protocol program account used for authorization or CPI. |
Arguments
| Argument | Type | Notes |
|---|---|---|
| limit | option<u32> | Needed to avoid CU exhaustion in the case of a large amount of pending requests. |
Policy & permissions
- Permissionlessness is controlled by
notify_and_settle.permissionless_fulfillment. - When permissionless, any signer can fulfill queued requests.
- Otherwise the caller must be the GLAM owner or a delegate with Mint
Fulfill.
TypeScript SDK usage
const preInstructions = await glamClient.price.priceVaultIxs();
await glamClient.invest.fulfill(null, {
preInstructions,
lookupTables: glamClient.price.lookupTables,
simulate: true,
});Cross-instruction constraints
- Requires fresh pricing for the vault. The pricing operation itself must be atomic in a single transaction.