~/.config/glam/config.json.
Configuration File Location
The CLI looks for the configuration file in the following locations:- Default:
~/.config/glam/config.json - Docker:
/workspace/config.json(whenDOCKERenvironment variable is set) - Custom: Specify with the
-C, --config <path>flag
You can override the default config location using the
--config flag:Configuration Options
Here’s the complete configuration structure with all available options:config.json
Core Settings
cluster
The Solana cluster to connect to.Options:
mainnet-beta, devnet, testnet, localnetDefault: mainnet-betajson_rpc_url
The primary RPC endpoint URL for reading blockchain data.Examples:
- Public:
https://api.mainnet-beta.solana.com - Helius:
https://mainnet.helius-rpc.com/?api-key=<your-key> - QuickNode:
https://your-endpoint.solana-mainnet.quiknode.pro/<your-key>
keypair_path
Absolute path to your Solana wallet keypair JSON file.
This wallet will be used to sign all transactions and must have sufficient SOL for transaction fees.
Optional Settings
tx_rpc_url
A separate RPC endpoint specifically for sending transactions. Useful if you want to use a different endpoint optimized for transaction submission.If not specified,
json_rpc_url will be used for both reading and writing.websocket_disabled
Disable WebSocket connections for transaction confirmation.Default: Set to
falsetrue if your RPC provider doesn’t support WebSockets or if you’re behind a firewall that blocks WebSocket connections.glam_staging
Enable staging/development mode to use the GLAM staging program instead of production.Default:
falseglam_state
The public key of your active GLAM vault state account. This vault will be used by default for all commands.
This is automatically set when you create a vault or use
glam-cli vault set <state-pubkey>. You rarely need to set this manually.Priority Fee Configuration
Thepriority_fee object controls how priority fees are calculated for transactions:
micro_lamports
Fixed priority fee in micro-lamports (1 lamport = 1,000,000 micro-lamports).Examples:
1000= 0.001 lamports = very low priority10000= 0.01 lamports = low priority100000= 0.1 lamports = medium priority1000000= 1 lamport = high priority
level
Priority level for dynamic fee estimation when using Helius.Options: Only used if
min, low, medium, high, veryHigh, unsafeMaxDefault: mediummicro_lamports is not specified and helius_api_key is provided.helius_api_key
Your Helius API key for dynamic priority fee estimation.When provided, the CLI will automatically estimate optimal priority fees based on current network conditions.
API Keys
jupiter_api_key
Your Jupiter API key for enhanced swap routing and rate limits.While Jupiter works without an API key, having one provides:
- Higher rate limits
- Better route optimization
- Priority access to new features
Request a Jupiter API key at station.jup.ag
Example Configurations
Minimal Configuration (Devnet)
Production Configuration (Mainnet)
Docker Configuration
Verify Configuration
After setting up your configuration, verify it’s working correctly:Troubleshooting
Missing required field errors
Missing required field errors
Ensure your config file includes all required fields:
clusterjson_rpc_urlkeypair_path
Keypair file not found
Keypair file not found
Verify the path in Use absolute paths rather than relative paths or
keypair_path is correct and the file exists:~ expansion.RPC connection failures
RPC connection failures
If you’re experiencing connection issues:
- Verify the RPC URL is correct and accessible
- Check if your RPC provider is experiencing downtime
- Try setting
websocket_disabled: trueif WebSocket connections fail - Consider switching to a different RPC provider
Transaction failures due to priority fees
Transaction failures due to priority fees
If transactions are failing or timing out:
- Increase
micro_lamportsvalue (try 100000 or higher) - Use Helius dynamic fee estimation with
"level": "high"or"veryHigh" - Check network congestion at solanabeach.io