Skip to main content
Erst CLI offers flexible configuration through multiple methods, with a clear precedence order to give you control at every level.

Configuration hierarchy

Configuration values are loaded in the following order, with later sources overriding earlier ones:
  1. Default values - Built-in sensible defaults
  2. Configuration files - TOML files on disk
  3. Environment variables - System environment settings
  4. Command-line flags - Direct CLI arguments
Command-line flags always take precedence over all other configuration methods.

Configuration files

Erst searches for TOML configuration files in these locations (in order):
  1. .erst.toml in the current directory
  2. ~/.erst.toml in your home directory
  3. /etc/erst/config.toml system-wide configuration

Example configuration file

Copy erst.example.toml to one of the locations above:
~/.erst.toml

Core configuration options

Network connection

string
default:"https://soroban-testnet.stellar.org"
Single RPC endpoint URL for connecting to the Stellar network.
array
Array of RPC URLs for automatic fallback. Use this for high availability setups.
string
default:"testnet"
Network identifier. Valid values:
string
Custom network passphrase for private networks. Required when using custom networks.Standard passphrases:
  • Mainnet: Public Global Stellar Network ; September 2015
  • Testnet: Test SDF Network ; September 2015

Simulator settings

string
Custom path to the erst-sim binary. If not set, Erst searches:
  1. Current directory (./erst-sim)
  2. Development path (./simulator/target/release/erst-sim)
  3. System PATH

Logging and debugging

string
default:"info"
Unified log level for both Go CLI and Rust simulator.Valid values: trace, debug, info, warn, error

Storage and caching

string
default:"~/.erst/cache"
Directory for storing transaction traces and snapshots.

Request settings

number
default:"15"
HTTP request timeout in seconds. Must be between 1 and 300.
string
Authentication token for RPC endpoints that require authorization.

Crash reporting

boolean
default:"false"
Enable anonymous crash reporting to help improve Erst.When enabled, fatal panics send minimal reports (error message, stack trace, OS/arch, version) to maintainers.
No transaction data or personal information is ever included.
string
default:"https://crash.erst.dev/v1/report"
Custom endpoint for crash reports. Only used when crash_reporting is enabled and no Sentry DSN is set.
string
Sentry DSN for crash reporting. Obtain from your Sentry project settings.

Configuration validation

Erst validates your configuration on startup and provides clear error messages:

Required fields

  • rpc_url cannot be empty (unless using a named network)

Network validation

  • network must be one of: public, testnet, futurenet, standalone

Request timeout validation

  • request_timeout must be between 1 and 300 seconds

Default values

When no configuration is provided, Erst uses these defaults:

Advanced configurations

Multi-RPC fallback

For production environments, configure multiple RPC endpoints:

Development setup

Production security

Configuration storage

Erst stores additional configuration data in:
  • ~/.erst/config.json - General configuration (JSON format)
  • ~/.erst/networks.json - Custom network profiles
  • ~/.erst/cache/ - Transaction traces and snapshots
All configuration files use restricted permissions (0600) and directories use 0700 for security.

Viewing current configuration

Use the erst config command to view your current configuration:

Next steps

Environment variables

Configure Erst using environment variables

Custom networks

Set up private and local Stellar networks