Mainnet Setup
This guide walks you through setting up a node on the Monolythium Mainnet. Choose between the recommended Monarch CLI path or the advanced raw monod path.
Network Details
| Parameter | Value |
|---|---|
| Cosmos Chain ID | mono_6941-1 |
| EVM Chain ID | 6941 (0x1B1D) |
| Bond Denom | alyth (18 decimals) |
| Display Denom | LYTH |
| Consensus | LythiumBFT |
| Unbonding Period | 3 days |
| Max Validators | 53 |
| Inflation | 8% annual (fixed) |
| Fee Burn | 90% of transaction fees burned |
Path A: Monarch CLI (Recommended)
Monarch CLI handles genesis download, SHA256 verification, peer configuration, and process management automatically.
1. Install Monarch
curl -fsSL https://raw.githubusercontent.com/monolythium/monarch-cli/prod/scripts/install.sh | bash
Verify the installation:
monarch version
2. Join Mainnet
For a validator node:
monarch join --network Mainnet --validator --moniker my-node
For a full node (non-validating):
monarch join --network Mainnet --moniker my-node
For a seed node:
monarch join --network Mainnet --seed --moniker my-seed
For an archive node (full historical state):
monarch join --network Mainnet --archive --moniker my-archive
This command automatically:
- Downloads the official genesis file and verifies its SHA256 checksum
- Initializes the node home directory at
~/.mono - Configures seeds and persistent peers from the Monolythium peer registry
- Sets the minimum gas price
- Starts the node via OxidePM with auto-restart and health checks
3. Check Status
monarch status
Wait for the node to sync. The catching_up field will show false when sync is complete.
4. Run Health Audit
monarch doctor
This checks 13 categories including binaries, genesis, config, P2P, ports, sync, disk, and security. Fix any warnings with:
monarch repair
5. Become a Validator (Optional)
After your node is fully synced, follow the Validator Operations guide to register as a validator.
Mainnet validation involves real assets. Ensure you have thoroughly tested your setup on Testnet before registering as a mainnet validator. See the Security Guide for critical safety practices.
Path B: Raw monod (Advanced)
For operators who prefer manual control over every configuration step.
1. Prerequisites
- OS: Ubuntu 24.04 LTS or later
- Go: 1.24.2+ (download)
- Hardware: 4+ CPU, 16 GB RAM, 500 GB+ NVMe SSD (recommended for validators)
Mainnet validators should use higher specifications than testnet. NVMe storage is strongly recommended for consistent block production.
2. Build from Source
# Clone the repository
git clone https://github.com/monolythium/mono-chain.git && cd mono-chain
# Checkout the latest release tag
git checkout <release-tag>
# Build and install
make install
sudo mv $(go env GOPATH)/bin/monod /usr/local/bin/
# Verify
monod version
3. Initialize the Node
monod init my-node --chain-id mono_6941-1
4. Download Genesis
curl -s https://raw.githubusercontent.com/monolythium/networks/prod/mainnet/genesis.json \
-o ~/.mono/config/genesis.json
5. Configure Peers
SEEDS="<mainnet-seeds>"
sed -i "s/^seeds = .*/seeds = \"$SEEDS\"/" ~/.mono/config/config.toml
Mainnet seed and peer lists will be published in the networks repository before mainnet launch. Use monarch peers update --network Mainnet to fetch the latest list automatically.
6. Set Minimum Gas Price and EVM Chain ID
sed -i 's/^minimum-gas-prices = .*/minimum-gas-prices = "10000000000alyth"/' ~/.mono/config/app.toml
# Critical: monod defaults to evm-chain-id 262144 — must be set to 6941 for Mainnet
sed -i 's/^evm-chain-id = .*/evm-chain-id = 6941/' ~/.mono/config/app.toml
Skipping this step causes an AppHash mismatch at the first EVM transaction. The node will stall and refuse to advance. The default evm-chain-id (262144) is a generic Ethermint value — Mainnet requires 6941.
7. Enable EVM JSON-RPC (Optional)
If you plan to serve EVM RPC traffic:
sed -i '/\[json-rpc\]/,/\[/ s/^enable = false/enable = true/' ~/.mono/config/app.toml
On mainnet, do not expose RPC or EVM endpoints on validator nodes. Use sentry nodes to serve public traffic. See the Security Guide for details.
8. Start the Node
monod start
For production deployments, set up a systemd service. See Installation for systemd configuration templates.
Public Endpoints
| Service | URL |
|---|---|
| Cosmos RPC | Coming Soon |
| Cosmos REST | Coming Soon |
| EVM JSON-RPC | Coming Soon |
| Block Explorer | Coming Soon |
Mainnet public endpoints will be announced before mainnet launch. Follow the official channels for updates.
Add Mainnet to MetaMask
| Field | Value |
|---|---|
| Network Name | Monolythium |
| RPC URL | Coming Soon |
| Chain ID | 6941 |
| Currency Symbol | LYTH |
| Block Explorer | Coming Soon |
Mainnet Preparation Checklist
Before mainnet launch, ensure you have completed these steps:
- Successfully operated a validator on Testnet
- Tested key backup and recovery procedures
- Set up monitoring and alerting
- Configured sentry architecture for validator protection
- Reviewed the Security Guide
- Tested upgrade procedures with
monarch upgrade - Configured firewall rules with
monarch firewall - Set up auto-start with
monarch enable-boot
Verify Your Node
After the node finishes syncing, verify it is healthy:
# Using Monarch
monarch status
monarch doctor
# Using monod directly
curl -s localhost:26657/status | jq '.result.sync_info'
curl -s localhost:26657/net_info | jq '.result.n_peers'
Your node should show:
catching_up: false(fully synced)- At least 3--5 connected peers
- Block height increasing
Next Steps
- Validator Operations -- Register as a validator
- Monarch CLI -- Full CLI reference
- Monitoring -- Set up monitoring
- Security Guide -- Secure your node
- Testnet Setup -- Test your setup on Testnet first