Documentation Index
Fetch the complete documentation index at: https://seilabs.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
seictl is a purpose-built CLI that helps Sei node patch configuration TOML files (app.toml, client.toml, config.toml) and JSON genesis files.
You can find the
seictl GitHub repository here Features
- Configuration Management: Patch Sei daemon configuration files (
app.toml,client.toml,config.toml) - Genesis Management: Apply merge patches to genesis JSON files
- Universal Patching: Apply merge patches to any TOML or JSON file
- Smart Target Detection: Automatically detects which configuration file to modify based on patch content
- Flexible Output: Write to stdout, a specific file, or modify files in-place
- Atomic Writes: Safe file modifications using atomic write operations
- Merge Patch Algorithm: Intelligently merges patches with existing configurations
Installation
Pre-built Binaries (Recommended)
Pre-built binaries are available for Linux, macOS, and Windows. Download the latest release from the releases page.Quick Install
Linux (x86_64)
Linux (x86_64)
Linux (ARM64)
Linux (ARM64)
Linux (ARMv7)
Linux (ARMv7)
macOS (Apple Silicon)
macOS (Apple Silicon)
macOS (Intel)
macOS (Intel)
Windows (x86_64)
Windows (x86_64)
Verify Installation
Verify Download (Optional)
All releases include achecksums.txt file for verification, e.g.:
Build from Source
If you prefer to build from source or need a specific configuration:Prerequisites
- Go 1.24.5 or higher
Build
Install via Go
Usage
Global Options
--home <path>: Sei home directory (default:~/.sei, can be set viaSEI_HOMEenvironment variable)
Commands
Patch Command
patch
Apply a merge-patch to any TOML or JSON file. This is a universal patching command that works with any file format, not
just Sei-specific configurations.
--target <path>: Path to the TOML or JSON file to patch (required)-o, --output <path>: Write output to specified file-i, --in-place-rewrite: Modify the target file in-place
.toml or .json) is used to determine the format automatically.
Genesis Commands
genesis patch
Apply a merge-patch to the Sei genesis JSON file.
-o, --output <path>: Write output to specified file-i, --in-place-rewrite: Modify the genesis file in-place
Config Commands
config patch
Apply a merge-patch to a Sei configuration TOML file.
--target <type>: Specify which configuration file to patch (app,client, orconfig)- If not specified, the target is automatically detected based on the patch content
-o, --output <path>: Write output to specified file-i, --in-place-rewrite: Modify the configuration file in-place
Configuration Targets
Theconfig command can work with three different configuration files:
app.toml
Application-level configuration including:
- Gas prices and block settings
- State management (state-sync, state-commit, state-store)
- EVM configuration
- Telemetry and monitoring
- API, gRPC, and Rosetta endpoints
- IAVL and WASM settings
client.toml
Client-level configuration including:
- Chain ID
- Keyring backend
- Output format
- Node endpoint
- Broadcast mode
config.toml
Node-level configuration including:
- Proxy app and database settings
- Logging configuration
- RPC and P2P settings
- Mempool and consensus parameters
- State sync and block sync
- Transaction indexing
Merge Patch Behavior
The merge patch algorithm works as follows:- Nested merging: Patches are merged recursively into nested structures
- Null deletion: Setting a value to
nullremoves that key from the configuration - Addition: New keys in the patch are added to the configuration
- Replacement: Existing scalar values are replaced with patch values
Examples
Update Minimum Gas Prices
Update Minimum Gas Prices
Enable API Endpoint
Enable API Endpoint
Modify Genesis Chain ID
Modify Genesis Chain ID
Update Multiple Configuration Sections
Update Multiple Configuration Sections
Patch a Custom TOML Configuration
Patch a Custom TOML Configuration
Patch a Custom JSON Data File
Patch a Custom JSON Data File
Using Custom Sei Home Directory
Using Custom Sei Home Directory
Command Comparison
When to Use Each Command
patch: Use for patching any arbitrary TOML or JSON file on your system. Requires explicit--targetpath.genesis patch: Use specifically for Sei genesis files. Automatically uses$HOME/.sei/config/genesis.json.config patch: Use specifically for Sei configuration files with automatic target detection. Automatically uses files in$HOME/.sei/config/.
File Locations
By default,seictl looks for configuration files in the following locations:
- Genesis:
$HOME/.sei/config/genesis.json - App config:
$HOME/.sei/config/app.toml - Client config:
$HOME/.sei/config/client.toml - Node config:
$HOME/.sei/config/config.toml
$HOME is the value of the --home flag or the SEI_HOME environment variable.
Safety Features
- Atomic Writes: All file modifications use atomic write operations (write to temp file, then rename)
- Permission Preservation: In-place modifications preserve original file permissions
- Format Validation: Validates file extensions before processing (must be
.tomlor.json) - Target Validation: Prevents accidental modification of wrong configuration files
- Auto-detection Safety: Refuses to proceed if patch could apply to multiple targets
- Early Validation: Checks file format and existence before reading patch data