Overview
GLAM vaults are the core building blocks of the GLAM protocol. Each vault is a secure, on-chain account that holds assets and enables various DeFi strategies through protocol integrations.Vault Types
GLAM supports three distinct vault types, defined byStateAccountType in the SDK:
Vault
A basic vault type that provides core asset custody and management capabilities without tokenization.- Use case: Direct asset management by a portfolio manager
- Access: Owner and delegate-based permissions
- Tokenization: No share tokens issued
Tokenized Vault
A vault that issues share tokens representing proportional ownership of the vault’s assets.- Use case: Multi-investor funds with liquid shares
- Access: Investors can subscribe/redeem through share tokens
- Tokenization: Issues SPL tokens representing vault shares
- Features: Supports fee structures, lockup periods, and notice/settlement periods
Single Asset Vault
A specialized tokenized vault focused on a single base asset strategy.- Use case: Yield strategies on a single asset (e.g., staking, lending)
- Access: Same as tokenized vault
- Tokenization: Share tokens backed by single asset type
Vault type is set at creation time and cannot be changed. Choose the appropriate type based on your use case.
Vault Structure
Each GLAM vault consists of multiple Program Derived Addresses (PDAs) that work together:State PDA
The primary account that stores vault configuration and metadata.accountType- Vault type (Vault, TokenizedVault, or SingleAssetVault)name- Human-readable vault nameowner- Vault owner with full controlbaseAssetMint- Primary asset for accounting (e.g., USDC)assets- Allowlist of permitted asset mintsenabled- Emergency circuit breaker
Vault PDA
The actual custody account that holds all vault assets.- Purpose: Holds SOL and token accounts for all vault assets
- Control: Managed by GLAM program, no direct user access
- Derivation: Derived from state PDA
Mint PDA (Tokenized Vaults Only)
For tokenized vaults, a mint PDA is created for the vault’s share tokens.- Purpose: Mints/burns share tokens during subscribe/redeem operations
- Supply: Total supply represents total vault shares outstanding
- Control: Managed by GLAM mint program
View vault PDAs
View vault PDAs
- State PDA address
- Vault PDA address
- Mint PDA address (if tokenized)
- Launch date
- Vault name and type
Base Asset
Every vault must specify a base asset mint, which serves as the primary accounting unit.Purpose
- NAV Calculation: All holdings are valued relative to the base asset
- Subscriptions: Investors deposit the base asset to receive shares
- Redemptions: Investors receive the base asset when redeeming shares
- Performance Tracking: Returns are measured in base asset terms
Common Base Assets
- USDC: Most common for dollar-denominated strategies
- SOL: For SOL-native strategies
- USDT: Alternative stablecoin
- Other: Any SPL token can be used
Asset Allowlist
Vaults maintain an explicit allowlist of permitted assets to control risk.Managing Assets
- Checks for duplicates before adding
- Prevents removal of base asset
- Updates state account with new allowlist
Asset Metadata
Each allowlisted asset includes:Token accounts are automatically created for each allowlisted asset when needed. Empty token accounts can be closed to reclaim rent.
Token Balances
Vaults can hold native SOL and any SPL tokens on the allowlist.Balance Display
From vault.ts:422-475, balances include:- Token symbol: Human-readable name (from Jupiter price API)
- Mint address: On-chain identifier
- Amount: Token quantity in UI units
- Value (USD): Estimated dollar value
SOL Wrapping
Vaults can wrap/unwrap SOL to wSOL for DeFi integrations:Vault Lifecycle
Creation
- Define configuration: Create JSON file with vault parameters
- Initialize on-chain: Deploy vault state and PDAs
- Configure access: Set up integrations and delegates
- Fund vault: Transfer initial assets
Operation
- Set active vault: Select vault for CLI operations
- Manage assets: Add/remove allowlisted assets
- Execute strategies: Trade, lend, stake through integrations
- Monitor performance: Track holdings and returns
Closure
Vaults can be closed to reclaim rent and clean up on-chain accounts.- Closes mint PDA if tokenized
- Closes state account
- Returns rent to owner
- Cannot be undone
Emergency Controls
Vault owners can enable/disable vaults as a circuit breaker.- All trading and protocol integrations are blocked
- Delegates cannot execute operations
- Owner can still update configuration
- Investors cannot subscribe or redeem (tokenized vaults)
Use the disable feature during security incidents, protocol upgrades, or when investigating suspicious activity.