Professional CLI and TUI tool for Monad blockchain validator node management
Features β’ Installation β’ Quick Start β’ Staking Commands β’ Configuration β’ Support
- TUI Dashboard - 5 screens (Dashboard, Staking, Transfer, Doctor, Help) with Monad purple theme, real-time block counter, and live metrics
- Doctor Diagnostics - 16 automated checks with actionable error detection and fix recommendations
- Staking Operations - Complete staking management: delegate, undelegate, withdraw (2-epoch delay), claim rewards, compound rewards
- Validator Management - Add new validators (100k MON minimum), change commission rates (0-100%)
- Query Operations - Query validators, delegators, epochs, validator-sets, proposers, delegations, gas estimates
- Hardware Wallet Support - Ledger device integration via
alloy-signer-ledger(built-in, untested - please share feedback) - Multi-network Support - Switch between mainnet (chain ID 143) and testnet (chain ID 10143)
- Transfer - Native MON token transfers with dry-run mode for safe testing
- Ubuntu 24.04 LTS (or compatible Linux distribution)
- Running Monad node with RPC endpoint at
localhost:8080
Download the latest release for your platform from the Releases page:
# 1. Download the binary
wget https://github.com/MictoNode/monad-val-manager/releases/latest/download/monad-val-manager
# 2. Make it executable
chmod +x monad-val-manager
# 3. Move to a directory in your PATH (optional)
sudo mv monad-val-manager /usr/local/bin/
# 4. Verify installation
monad-val-manager --versionEach release includes SHA256 checksums. Verify your download:
# Check the SHA256 hash
sha256sum monad-val-manager
# Compare with the hash shown on the Releases pageClick to expand build instructions
- Rust 1.93+ - Install via rustup
# Install Rust (if not already installed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env# Clone the repository
git clone https://github.com/MictoNode/monad-val-manager.git
cd monad-val-manager
# Build in release mode (optimized binary)
cargo build --release
# The binary will be at:
# ./target/release/monad-val-manager
# Optional: Install system-wide
cargo install --path .Ledger support is enabled by default. The tool will automatically detect Ledger devices when connected.
β οΈ First time user? Test on testnet first. Selecttestnetwhen runningmonad-val-manager init. Mainnet transactions cannot be reversed.
# Initialize configuration (REQUIRED - creates config and .env)
monad-val-manager init
# Follow the prompts:
# - Select network (mainnet/testnet)
# - Enter your private key (hidden input)
# - Confirm RPC endpointWhat init creates:
~/.config/monad-val-manager/config.toml- Configuration file~/.config/monad-val-manager/.env- Private key
# Check version
monad-val-manager --version
# Run diagnostics
monad-val-manager doctor# Launch the TUI dashboard (interactive monitoring)
monad-val-manager
# Check node status
monad-val-manager status
# View all available commands
monad-val-manager --helpAfter initialization, your config is stored at:
Your config is stored at ~/.config/monad-val-manager/config.toml
No manual configuration is needed to get started - just run the tool!
| Document | Description |
|---|---|
| CLI Reference | Complete CLI command bank (all commands with parameters & examples) |
| Command Reference | Quick command reference |
| Validator Onboarding | Step-by-step validator registration guide |
π Complete CLI Reference: See docs/cli-reference.md for the complete CLI command bank with all parameters, examples, and usage patterns.
π§ Validator Onboarding: See docs/validator-onboarding.md for step-by-step validator registration guide.
# Delegate MON to a validator
monad-val-manager stake delegate --validator-id 1 --amount 1000
# Claim rewards
monad-val-manager stake claim-rewards --validator-id 1
# Query validator info
monad-val-manager stake query validator --id 1
# View all commands
monad-val-manager --helpThe interactive dashboard provides real-time monitoring with Monad brand theme.
Real-time node status, block counter, consensus info, and system metrics.
All staking operations in one place: delegate, undelegate, withdraw, claim rewards, and compound.
Withdraw dialog shows "Ready to Withdraw" indicator (red box) when the 2-epoch delay has passed and funds are available for withdrawal.
Native MON token transfers with recipient address and amount input.
Clean dialog interfaces for user input with Monad brand styling.
16 diagnostic checks with status indicators and recommendations.
Complete keybinding reference and shortcuts.
Screens Summary: Dashboard (node status) β’ Staking (operations) β’ Transfer (MON) β’ Doctor (diagnostics) β’ Help (shortcuts)
| Terminal | Compatibility | Notes |
|---|---|---|
| Termius | β Full compatibility | Backspace and paste work correctly |
| MobaXterm | Set Terminal β Keyboard β "Backspace key sends" to DEL (^?), then restart | |
| Windows Terminal | β Compatible | Works well on Windows |
| iTerm2 | β Compatible | Works well on macOS |
| Terminal.app | β Compatible | Default macOS terminal |
| GNOME Terminal | β Compatible | Default on many Linux distros |
Note: For other SSH clients with backspace issues, change the backspace setting to send DEL (^?) instead of ^H, or use Termius.
β οΈ Warning: Your.envfile contains your private key. Never:
- Commit it to git (verify it's in
.gitignore)- Share it with anyone
- Display it in logs or error messages
Production: We recommend using a Ledger hardware wallet for enhanced security.
The configuration file is automatically created on first run with sensible defaults. You only need to edit it for:
- Changing RPC endpoint (if not using localhost:8080)
- Setting custom private key location
[network]
type = "mainnet" # or "testnet"
chain_id = 143 # mainnet=143, testnet=10143
[rpc]
http_url = "http://localhost:8080"
ws_url = "ws://localhost:8080"
timeout = 30
max_retries = 3Create a .env file in your project directory or home directory:
# Private key for signing transactions
PRIVATE_KEY=your_private_key_here
# RPC URL (optional, overrides config)
RPC_URL=http://localhost:8080monad-val-manager config-showmonad-val-manager initRun diagnostic checks to identify common issues:
# Run all diagnostics
monad-val-manager doctorThe tool performs 16 automated checks including node connectivity, RPC availability, sync status, system resources, and configuration validity.
See docs/cli-reference.md for detailed documentation.
Ledger hardware wallet support is built-in via alloy-signer-ledger.
Note: This feature has not been tested yet. If you test it with a Ledger device, please open an issue and share your experience.
- Ensure your Monad node is running
- Check the RPC endpoint in your config (
config-show) - Verify the node is listening on
localhost:8080
- Ensure
.envfile exists withPRIVATE_KEYvariable - Or set
PRIVATE_KEYenvironment variable - Key should be 64 hex characters (without 0x prefix)
# Check for common issues
monad-val-manager doctor- Issues: GitHub Issues
- Releases / Changelog: GitHub Releases
- Documentation: docs/ folder for detailed guides
This project is inspired by and maintains contract parity with the official Monad Staking SDK CLI. The Python SDK serves as the reference implementation for all staking operations and transaction encoding.
Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Made with β€οΈ for Monad validators






