CLI Reference

Complete reference for Kora command-line interface, including commands and flags.

Last Updated: 2025-08-25

Complete reference for Kora command-line interface, including commands and flags.

Installation

cargo install kora-cli

Basic Usage

kora [OPTIONS]

Common CLI Commands

CommandDescription
kora config validateValidate configuration file (fast, no RPC calls)
kora config validate-with-rpcValidate configuration with on-chain account verification
kora rpc startStart the RPC server
kora rpc initialize-atasInitialize ATAs for all payment tokens

Kora Flags

Customize Kora's behavior with these global command-line flags after the kora command:

FlagDescriptionDefaultExample
--configPath to Kora configuration file (TOML format)kora.tomlkora --config path/to/kora.toml
--rpc-urlSolana RPC endpoint URLhttp://127.0.0.1:8899kora --rpc-url https://api.devnet.solana.com
--helpPrint help information-kora --help
--versionPrint version information-kora --version

RPC Server Flags

Configure the RPC server with these flags (used with kora rpc start):

FlagDescriptionDefaultExample
--signers-configPath to multi-signer configuration file (TOML)Required*--signers-config signers.toml
--no-load-signerSkip signer initializationfalse--no-load-signer
-p, --portHTTP port for RPC requests8080--port 3000
--logging-formatOutput format for logs (standard or json)standard--logging-format json
--helpPrint help information-kora rpc start --help

*Required unless using --no-load-signer

ATA Initialization Flags

Configure ATA initialization with these flags (used with kora rpc initialize-atas):

FlagDescriptionDefaultExample
--signers-configPath to multi-signer configuration fileRequired*--signers-config signers.toml
--fee-payer-keyPublic key of signer to use as fee payer (must be in signers.toml)First signer--fee-payer-key "pubkey123..."
--compute-unit-pricePriority fee in micro-lamportsNone--compute-unit-price 1000
--compute-unit-limitCompute unit limit for transactionsNone--compute-unit-limit 200000
--chunk-sizeNumber of ATAs to create per transactionNone--chunk-size 10

Common Usage Examples

Starting the RPC Server

# Basic start with default settings
kora --config path/to/kora.toml rpc start --signers-config path/to/signers.toml

# Start with custom port and config
kora --config path/to/kora.toml rpc start \
  --signers-config path/to/signers.toml \
  --port 8080 \
  --logging-format json

# Start for testing without signers
kora --config path/to/kora.toml rpc start --no-load-signer

Configuration Validation

# Quick validation (offline)
kora --config path/to/kora.toml config validate

# Thorough validation with RPC checks
kora --config path/to/kora.toml --rpc-url https://api.mainnet-beta.solana.com \
  config validate-with-rpc

The validate-with-rpc command performs additional on-chain verification:

  • Program accounts: Verifies all allowed programs exist and are executable
  • Token mints: Confirms all allowed tokens exist as valid mint accounts
  • Payment tokens: Validates all SPL paid tokens are valid mints
  • Payment address ATAs: Checks if payment address has ATAs for all allowed tokens
  • Account types: Ensures accounts have the expected type (program vs mint)

Managing ATAs

# Initialize ATAs for payment address/signers
kora rpc initialize-atas --signers-config signers.toml

# Initialize with custom fee payer and priority
kora rpc initialize-atas \
  --signers-config signers.toml \
  --fee-payer-key "7xKXtg2CW87d3HEQ2BpKHpcPKBhpKGQPPRQJyccVLow9" \
  --compute-unit-price 1000 \
  --chunk-size 10

Environment Variables

These environment variables can be used instead of command-line flags:

VariableDescriptionFlag Equivalent
RPC_URLSolana RPC endpoint--rpc-url

See Also