Skills glam
Solana vault management via GLAM Protocol. Triggers: glam, glam-cli, glam-sdk, vault create/manage, tokenized vault, share class, DeFi vault, treasury, asset management, access control, delegate permissions, Jupiter swap, Kamino lending/borrow/vaults/farms, staking (Marinade/native/SPL/Sanctum/LST), cross-chain USDC (CCTP), timelock, subscription/redemption, NAV pricing, token transfer. Supports CLI and TypeScript SDK.
git clone https://github.com/sendaifun/skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/sendaifun/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/glam" ~/.claude/skills/sendaifun-skills-glam && rm -rf "$T"
skills/glam/SKILL.mdGLAM Protocol Skill
GLAM provides programmable investment infrastructure on Solana: vaults with access control, DeFi integrations, and tokenization.
Quick Start
# Install CLI npm install -g @glamsystems/glam-cli # Configure (~/.config/glam/config.json) cat > ~/.config/glam/config.json << 'EOF' { "keypair_path": "~/.config/solana/id.json", "json_rpc_url": "https://api.mainnet-beta.solana.com" } EOF # Create vault, set active, enable integrations, verify glam-cli vault create ./vault-template.json glam-cli vault set <VAULT_STATE_PUBKEY> glam-cli integration enable JupiterSwap KaminoLend glam-cli vault view
Critical: Integration Enablement
You MUST enable integrations BEFORE using them. This is the most common error.
Available:
JupiterSwap, KaminoLend, KaminoVaults, KaminoFarms, SplToken, CCTP, GlamMint, Marinade (staging), StakePool (staging), SanctumSingle (staging), SanctumMulti (staging), StakeProgram (staging).
Staging integrations require
--bypass-warning.
Workflows
Tokenized Vault Setup
glam-cli vault create ./tokenized-vault-template.json glam-cli vault set <VAULT_STATE_PUBKEY> glam-cli integration enable JupiterSwap KaminoLend glam-cli manage price # Set initial NAV price glam-cli jupiter set-max-slippage 100 # Configure swap policy # Optional: delegate trading permissions (protocol-scoped) glam-cli delegate grant <TRADER_PUBKEY> SwapAny --protocol JupiterSwap # Optional: set timelock (24 hours) glam-cli timelock set 86400
Kamino Lending
glam-cli integration enable KaminoLend glam-cli kamino-lend init # Required once glam-cli kamino-lend deposit \ 7u3HeHxYDLhnCoErrtycNokbQYbWGzLs6JSDqGAv5PfF \ EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v \ 1000
Decision Tree
| Goal | Integration | Command |
|---|---|---|
| Swap tokens | | |
| Lend for yield | | |
| Stake SOL (liquid) | (staging) | |
| Stake SOL (LST) | / / (staging) | |
| Stake SOL (native) | (staging) | |
| Kamino vaults | | |
| Tokenized vault | — | → → investors |
| Manage share tokens | — | SDK only: (freeze, issue, burn, forceTransfer) |
| Bridge USDC | | (0=ETH, 1=AVAX, 2=OP, 3=ARB, 6=BASE, 7=POLYGON) |
| Timelock | — | |
Common Errors
| Error | Solution |
|---|---|
| "Signer is not authorized" | Check for owner; grant delegate if needed |
| "Integration not enabled" | |
| "Asset not in allowlist" | |
| "User not initialized" | |
| "No route found" | Try smaller amount; check token liquidity |
| "Slippage exceeded" | Increase or reduce amount |
| "Account is frozen" | SDK: |
| "Missing jupiter_api_key" | Add to config.json |
See troubleshooting for detailed solutions.
Common Mints
| Token | Address |
|---|---|
| SOL | |
| USDC | |
| USDT | |
| mSOL | |
| jitoSOL | |
SDK Quick Start
import { GlamClient, WSOL, USDC, getProgramAndBitflagByProtocolName, } from "@glamsystems/glam-sdk"; import { BN } from "@coral-xyz/anchor"; const client = new GlamClient({ wallet }); // Create vault const { vaultPda } = await client.vault.create({ name: "My Vault", assets: [WSOL, USDC], }); // Enable Jupiter integration const perms = getProgramAndBitflagByProtocolName(); const [program, bitflag] = perms["JupiterSwap"]; await client.access.enableProtocols(vaultPda, program, parseInt(bitflag, 2)); // Swap await client.jupiterSwap.swap(vaultPda, { inputMint: USDC, outputMint: WSOL, amount: new BN(100_000_000), slippageBps: 50, });
For advanced proxy instruction remapping (convert standard Solana instructions into GLAM-proxied instructions), see the
ix-mapper SDK reference.
Reference
- CLI: vault, delegate, jupiter, kamino-lend, kamino-vaults, kamino-farms, staking, lst, invest, manage, transfer, advanced, alt
- SDK: client, integrations, ix-mapper, mint, multisig
- Other: concepts, examples, troubleshooting
- Docs: https://docs.glam.systems/