---
title: Node Operations on Paxeer
sidebarTitle: Home
description: >-
  Learn to install, configure, and run RPC, validator, statesync, and archive
  nodes on Paxeer using the hpx CLI tool.
keywords:
  - paxeer node
  - node operations
  - validator
  - RPC node
  - paxeer blockchain
  - node infrastructure
---

> **For AI agents:** the complete documentation index is at [llms.txt](/llms.txt). Append `.md` to any page URL for its markdown version.

**Power the Paxeer Network Infrastructure**

Guides for running validators, RPC nodes, and archive nodes on Paxeer.

<Columns cols={4}>
  <Card horizontal title="RPC/API Nodes" icon="network-wired" />
  <Card horizontal title="Validator Nodes" icon="shield" />
  <Card horizontal title="Statesync Nodes" icon="shuffle" />
  <Card horizontal title="Archive Nodes" icon="database" />
</Columns>

## Quick start with hpx CLI

The fastest way to get a Paxeer node running is the `hpx` CLI tool:

```bash
curl -sSL https://get.cloud.hyperpaxeer.com/get-hpx.sh | sudo bash
```

This installs the `hpx` management tool for binary installation, configuration, and service management.

## Hardware Requirements

| Component | Required                                               |
| --------- | ------------------------------------------------------ |
| CPU       | 16 cores (Intel Xeon/Core i7/i9 or AMD Epyc/Ryzen)     |
| RAM       | 256 GB DDR5 or better                                  |
| Storage   | 2 TB NVMe SSD (high IOPS required)                     |
| Network   | 2 Gbps with low latency                                |

## Installation & Setup Steps

<Steps>

<Step title="Environment Setup">
### System Preparation

#### 1. Update and Upgrade System

```bash
sudo apt update && sudo apt upgrade -y
```

#### 2. Install Essential Packages

```bash
sudo apt install make gcc git jq chrony curl lz4 wget tar build-essential -y
```

#### 3. Synchronize System Time

```bash
sudo timedatectl set-timezone UTC
sudo systemctl enable --now chronyd
timedatectl
```

### Install Go

Suggested Version: Go 1.24.x

#### Installation Steps

```bash
# Check for existing Go installation
go version

# Download and install Go 1.24.x
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

# Add Go to your environment variables
echo 'export PATH=$PATH:/usr/local/go/bin' >> $HOME/.bashrc
source $HOME/.bashrc

# Verify installation
go version
```
</Step>

<Step title="Install Paxeer">
### Install Paxeer Binary

```bash
# Using the hpx CLI (recommended)
hpx install

# Or build from source:
git clone https://github.com/paxeer-network/paxeer-chain.git
cd paxeer-chain
git checkout <version-tag>
make install

# Verify installation
paxd version
```

<Info>
  If you encounter an error like `command not found: paxd`, you may need to set your GOPATH environment variable.

  Add the following to your `~/.bashrc` or `~/.zshrc`:

  ```bash
  export GOPATH=$(go env GOPATH)
  export PATH=$PATH:$GOPATH/bin
  ```

  Then reload your shell with `source ~/.bashrc` or `source ~/.zshrc`.
</Info>

### Initialize Chain Files

<Info>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](/node/validators) for the full validator init example.</Info>

Seed peer:

```bash
e9c56cbadc4a96b67f69dcaaa7b4691851e945ca@31.220.74.140:26656
```

```bash
# Initialize node (default mode is full: RPC/P2P bind to all interfaces)
# For validator nodes, use: paxd init <your-moniker> --chain-id hyperpax_125-1 --mode validator
paxd init <your-moniker> --chain-id hyperpax_125-1

# Configure peers in config.toml.
PEERS="e9c56cbadc4a96b67f69dcaaa7b4691851e945ca@31.220.74.140:26656"

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

### Configure App Settings

```bash
# Set minimum gas price
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.02uhpx\"/" $HOME/.paxeer/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/.paxeer/config/config.toml

# Set Concurrent Workers to 500 and enable occ
sed -i -e "s/^#concurrency-workers *=.*/concurrency-workers = 500/" $HOME/.paxeer/config/app.toml
sed -i -e "s/^occ-enabled *=.*/occ-enabled = true/" $HOME/.paxeer/config/app.toml
```

<Info>
  In case of running an Archive Node, make sure to set your state-store settings to `ss-keep-recent = 0` with

  ```bash
  sed -i 's/^ss-keep-recent = [0-9]*/ss-keep-recent = 0/' ~/.paxeer/config/app.toml
  ```
</Info>

<Accordion title="Advanced Configuration">

#### 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/.paxeer/config/config.toml, modify the [statesync] section:

```toml
# 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.

#### Mempool Configuration

For optimal transaction handling and resource management, it is recommended to update the mempool settings in your `config.toml` file.

<Info>
  Adjust these parameters if you encounter performance or resource issues on your specific hardware.
</Info>

```toml
# 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 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
```

</Accordion>
</Step>

<Step title="Run Node">
### Setting Up a systemd Service

<Danger>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](/node/statesync) or using a [snapshot](/node/snapshot).</Danger>

For production deployments, configure a systemd service:

```bash
# Create the systemd service file
sudo tee /etc/systemd/system/paxd.service > /dev/null << EOF
[Unit]
Description=Paxeer Node
After=network-online.target

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

[Install]
WantedBy=multi-user.target
EOF

# Reload systemd, enable and start the service
sudo systemctl daemon-reload
sudo systemctl enable paxd
sudo systemctl start paxd
```

### Monitoring & Troubleshooting

Check your node's status with these commands:

```bash
# Check sync status
paxd status

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

# Check validator status (if running a validator)
paxd query staking validator $(paxd keys show <your_key> --bech val -a)
```

**Common Issues & Solutions**

<Columns cols={2}>
  <Card horizontal title="Sync Issues">
    - Verify sufficient disk space
    - Ensure stable network connectivity
    - Confirm system time is synchronized
    - Consider using state sync for initial setup
  </Card>
  <Card horizontal title="Performance Problems">
    - Monitor system resources (CPU, RAM, I/O)
    - Evaluate disk performance and network bandwidth
    - Adjust mempool and peer settings if needed
  </Card>
</Columns>
</Step>

</Steps>

[View Complete Node Setup Guide](/node/node-operators)

## Node Resources

### Node Setup

<Columns cols={3}>
  <Card horizontal title="Node Operations Guide" icon="server" href="/node/node-operators">
    Complete guide to setting up and running a Paxeer node with hardware requirements and configuration steps.
  </Card>
  <Card horizontal title="Validator Operations Guide" icon="shield" href="/node/validators">
    Specialized instructions for validators, including staking, commission settings, and security best practices.
  </Card>
  <Card horizontal title="Default Configurations" icon="file-lines" href="/node/node-operators#default-configurations">
    Full reference for `app.toml`, `config.toml`, and `client.toml` shipped by the latest `paxd` release.
  </Card>
</Columns>

### Advanced Operations

<Columns cols={3}>
  <Card horizontal title="Configuration & Monitoring" icon="gauge-simple-high" href="/node/advanced-config-monitoring">
    Optimize your node's performance with advanced settings and monitoring tools.
  </Card>
  <Card horizontal title="RocksDB Backend" icon="database" href="/node/rocksdb-backend">
    Run with RocksDB instead of the default backend.
  </Card>
  <Card horizontal title="Technical Reference" icon="terminal" href="/node/technical-reference">
    Detailed technical specifications, API endpoints, and commands for node operators.
  </Card>
</Columns>
