Skip to main content

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.

Power the Sei Network Infrastructure Comprehensive guides for running, maintaining, and optimizing Sei network nodes. Whether you’re setting up a validator, an RPC node, or a relayer, you’ll find detailed instructions and best practices to ensure optimal performance and security.

RPC / API nodes

Validator nodes

Statesync nodes

Archive nodes

Network Versions

Live binary versions, genesis, and seed peers — see the network versions widget or the technical reference.

Hardware Requirements

ComponentRequired
CPU16 cores (Intel Xeon / Core i7-i9 or AMD Epyc / Ryzen)
RAM256 GB DDR5 or better
Storage2 TB NVMe SSD (high IOPS required)
Network2 Gbps with low latency
Use a bare-metal or high-performance cloud instance. Commodity VMs will struggle with state I/O under load.

Quick Start

1

Environment Setup

Update the system and install essential packages:
# Update system
sudo apt update && sudo apt upgrade -y

# Install essentials
sudo apt install make gcc git jq chrony curl lz4 wget tar build-essential -y

# Synchronize system time
sudo timedatectl set-timezone UTC
sudo systemctl enable --now chronyd
Install Go 1.24.x (required for seid v6.3+):
wget https://go.dev/dl/go1.24.5.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.24.5.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> $HOME/.bashrc
source $HOME/.bashrc
go version
2

Install & Initialize

Install the Sei binary. See the Network Versions table above for the current recommended version:
git clone https://github.com/sei-protocol/sei-chain.git
cd sei-chain
git checkout <version-tag>  # See Network Versions table above
make install
seid version
Official Docker images are available at GitHub Container Registry.
# Pull the latest version
docker pull ghcr.io/sei-protocol/sei:latest

# Or pull a specific version (recommended)
docker pull ghcr.io/sei-protocol/sei:v6.3.1
Available architectures: linux/amd64 and linux/arm64.
If you encounter an error like command not found: seid, you may need to set your GOPATH environment variable.Add the following to your ~/.bashrc or ~/.zshrc:
export GOPATH=$(go env GOPATH)
export PATH=$PATH:$GOPATH/bin
Then reload your shell with source ~/.bashrc or source ~/.zshrc.For more information see here.
Default init mode is full (RPC/P2P bind to all interfaces). For validator or seed nodes, use --mode validator or --mode seed so RPC and P2P bind to localhost only. See the Validator Operations Guide for the full validator init example.
Pick 5 peers from the live pool below (each visit shuffles a fresh set; the Shuffle and Copy buttons work inside the embed):Mainnet (pacific-1):
Testnet (atlantic-2):
Initialize and apply recommended config. For Docker installation, advanced mempool tuning, and archive node configuration, see the full Node Operations Guide:
# Initialize node (default mode is full: RPC/P2P bind to all interfaces)
# For validator nodes, use: seid init <your-moniker> --chain-id <chain-id> --mode validator
seid init <your-moniker> --chain-id <chain-id>

# Genesis is written automatically for known networks (mainnet and testnets); no download needed.

# Configure peers in config.toml.
PEERS="<comma-separated-peer-list>"

# Set persistent peers in config.toml
sed -i 's/persistent-peers = .*/persistent-peers = "'$PEERS'"/' ~/.sei/config/config.toml

# Recommended config changes
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0usei\"/" $HOME/.sei/config/app.toml

# Tune mempool settings
sed -i \
  -e 's/^keep-invalid-txs-in-cache = .*/keep-invalid-txs-in-cache = true/' \
  -e 's/^ttl-duration = .*/ttl-duration = "5s"/' \
  -e 's/^ttl-num-blocks = .*/ttl-num-blocks = 5/' \
  $HOME/.sei/config/config.toml

# Set Concurrent Workers to 500 and enable OCC
sed -i -e "s/^#concurrency-workers *=.*/concurrency-workers = 500/" $HOME/.sei/config/app.toml
sed -i -e "s/^occ-enabled *=.*/occ-enabled = true/" $HOME/.sei/config/app.toml
In case of running an Archive Node, make sure to set your state-store settings to ss-keep-recent = 0 with
sed -i 's/^ss-keep-recent = [0-9]*/ss-keep-recent = 0/' ~/.sei/config/app.toml

Archive Node Setup

An archive node maintains the complete historical record of the chain. This requires disabling state sync and starting with a pre-existing database using a “snapshot”.1. Disable State Sync — In $HOME/.sei/config/config.toml, modify the [statesync] section:
# State sync configuration
[statesync]
enable = false
2. Configure Archive Node Peers — To sync from the height your snapshot was created at, you need peers retaining a large amount of historical blocks. The node will require specific peers during initial sync, which can be changed at a later time.

Mempool Configuration

For optimal transaction handling and resource management, it is recommended to update the mempool settings in your config.toml file.
Adjust these parameters if you encounter performance or resource issues on your specific hardware.
# Mempool configuration settings
[mempool]

# Broadcast transactions to other nodes
broadcast = true

# Maximum number of transactions in the mempool
size = 5000

# Limit the total size of all txs in the mempool.
max-txs-bytes = 10737418240

# Size of the cache (used to filter duplicate transactions)
cache-size = 10000

# Do not remove invalid transactions from the cache
keep-invalid-txs-in-cache = true

# Maximum size of a single transaction
max-tx-bytes = 2048576

# Maximum size of a batch of transactions to send to a peer
max-batch-bytes = 0

# Maximum length of time a transaction can remain in the mempool
ttl-duration = "3s"

# Maximum number of blocks a transaction can remain in the mempool
ttl-num-blocks = 5

tx-notify-threshold = 0

check-tx-error-blacklist-enabled = true

check-tx-error-threshold = 50

pending-size = 5000

max-pending-txs-bytes = 1073741824

pending-ttl-duration = "3s"

pending-ttl-num-blocks = 5
3

Run Node

If you see an error such as panic: recovered: runtime error: integer divide by zero it means you can’t start nodes straight from the genesis file. Instead, sync to the block tip via state sync or using a snapshot.
Create a systemd service so the node restarts automatically:
sudo tee /etc/systemd/system/seid.service > /dev/null << EOF
[Unit]
Description=Sei Node
After=network-online.target

[Service]
User=$USER
ExecStart=$(which seid) start
Restart=always
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable seid
sudo systemctl start seid
Verify sync status and tail the logs. For troubleshooting sync issues, performance tuning, database maintenance, and update procedures, see the full Node Operations Guide:
# Check sync status
seid status | jq .SyncInfo

# Monitor logs in real-time
journalctl -u seid -f -o cat

# Check validator status (if running a validator)
seid query staking validator $(seid keys show <your_key> --bech val -a)
Common Issues & Solutions

Sync Issues

  • Verify sufficient disk space
  • Ensure stable network connectivity
  • Confirm system time is synchronized
  • Consider using state sync for initial setup

Performance Problems

  • Monitor system resources (CPU, RAM, I/O)
  • Evaluate disk performance and network bandwidth
  • Adjust mempool and peer settings if needed
View Complete Node Setup Guide →

Node Resources

Node Setup

Node Operations Guide

Complete guide to setting up and running a Sei node with hardware requirements and configuration steps.

Validator Operations Guide

Specialized instructions for validators, including staking, commission settings, and security best practices.

Default Configurations

Full reference for app.toml, config.toml, and client.toml shipped by the latest seid release.

Advanced Operations

Configuration & Monitoring

Optimize your node’s performance with advanced settings and monitoring tools (Prometheus, alerting, log aggregation, tuning knobs).

RocksDB Backend

Run with RocksDB instead of the default backend.

Technical Reference

Detailed technical specifications, API endpoints, and commands for node operators.
Need node binaries, genesis, or peers for a specific network? See the technical reference for current mainnet and testnet values.