Skip to main content
The GLAM CLI provides a powerful command-line interface for interacting with the GLAM Protocol.

Getting Started

1

Install

This installs the CLI and makes it available in the shell as glam-cli.
2

Configure

The GLAM CLI by default expects a configuration file at the following path:
  • macOS / Linux: ~/.config/glam/config.json
  • Windows: %USERPROFILE%\.config\glam\config.json
You can also specify a different path to the configuration using the -C or --config flag:
At minimum, you need to provide cluster, json_rpc_url, and keypair_path in the configuration file (full list of options can be found here):
3

Run

Check the version of the CLI:
Show help:

Commands Overview

Configuration Options

  • cluster: Value must be one of mainnet-beta, devnet, or localnet.
  • json_rpc_url: The URL of your preferred Solana JSON RPC endpoint.
  • keypair_path: Path to your keypair JSON file.
  • tx_rpc_url: Optional. If not set it defaults to json_rpc_url. Use this to specify a separate RPC endpoint for landing transactions.
  • jupiter_api_key: Required if Jupiter swap is used. Obtain an API key from the Jupiter Developer Portal.
  • websocket_disabled: Optional. If set to true the CLI will not attempt to use WebSocket methods. This can be useful if you are using a RPC provider that does not support WebSocket.
  • priority_fee:
    • micro_lamports: Optional. If provided, level and helius_api_key will be ignored.
    • level: Optional (defaults to Min). Only applied if cluster is mainnet-beta. Other options are Min, Low, Medium, High, VeryHigh, UnsafeMax, Default (more info can be found here).
    • helius_api_key: Optional. Only applied if cluster is mainnet-beta. If not provided level will be ignored. The API key is needed to call Helius priority fee endpoint.
  • glam_staging: Optional. If set to true the CLI will use GLAM mainnet staging programs.
  • glam_state: Optional. Sets the default active vault state. You can also set this later using the set command.

Dynamic Priority Fee

Use this template if you have a Helius API key and want to use dynamic priority fee:
The SDK will call Helius Priority Fee API to get priority fee estimate in micro-lamports. The actual priority fee of a transaction is calculated as micro_lamports * CU_consumed.

Static Priority Fee

If a fixed priority fee amount is preferred:
  • micro_lamports: Specifies a fixed priority fee per CU in micro-lamports (1,000,000 micro-lamports = 1 lamport). Actual priority fee is calculated as micro_lamports * CU_consumed.
  • Use this method when dynamic fee adjustment is unnecessary or unavailable.