posthuman - nodes
Celestia
Celestia websiteCelestia githubCelestia twitterCelestia discord

Celestia

type:
mainnet
chain id:
celestia
rpc:
https://rpc-celestia-mainnet.posthuman.digital
rest:
https://rest-celestia-mainnet.posthuman.digital
grpc:
https://grpc-celestia-mainnet.posthuman.digital
peer:
9f21a4f163710710aa7932e1832a257ef326186f@peer-celestia-mainnet.posthuman.digital:40656
  • installation guide
  • bridge node setup
  • full node setup
  • operating boundaries
  • multiplexer
  • fibre
  • light node setup
  • monitoring
  • keys
  • validator signaling
  • blobstream orchestrator
  • storage optimization
  • snapshots
  • decentralize map
  • one liner
  • skill
  • contributions

Celestia Mainnet — Consensus Node Installation

This guide installs a Celestia consensus node (celestia-appd) for mainnet chain ID celestia.

Current Versions

  • Recommended consensus multiplexer: v10.5.0, commit 6013e758d5dceb75827ad191c8d739d7c43cfa04.
  • Live mainnet protocol app: 10 (checked 2026-10-28); app v10 activated at height 15116658.
  • Go for source builds: 1.26.6.
  • POSTHUMAN's PebbleDB snapshot was stale at the 2026-10-28 check. Verify snapshot.json against the live chain before use; see Snapshots.

Use the official v10.5.0 multiplexer for new installs and recoveries, not a v9-only binary. For an existing node, preserve its home and signing state. See the official v10.5.0 release.

Check live network state before choosing the binary:

curl -fsS https://rpc-celestia-mainnet.posthuman.digital/status | \ jq -r '.result.node_info.network, .result.sync_info.latest_block_height, .result.sync_info.catching_up' curl -fsS https://rpc-celestia-mainnet.posthuman.digital/abci_info | \ jq -r '.result.response.version, .result.response.app_version'

Requirements

  • Ubuntu 24.04+ for the official release binary, or Ubuntu 22.04+ when building celestia-appd from source locally.
  • 16 CPU cores, 32 GB RAM, 2 TB NVMe, 1 Gbps network for validator-grade use.
  • Open ports:
    • P2P: 26656/tcp
    • RPC/API/gRPC only if intentionally exposed.

1. Install Packages

sudo apt update && sudo apt upgrade -y sudo apt install -y curl wget jq tar lz4 git make gcc chrony build-essential \ clang pkg-config libssl-dev ncdu

2. Install celestia-appd

Stage and checksum-verify the official multiplexer archive. This example is for a new, non-running node; do not reinitialize an existing signer.

APP_VERSION="v10.5.0" STAGE_DIR="$(mktemp -d -p /tmp celestia-app-release.XXXXXX)" cd "$STAGE_DIR" curl -fLO "https://github.com/celestiaorg/celestia-app/releases/download/${APP_VERSION}/celestia-app_Linux_x86_64.tar.gz" curl -fLO "https://github.com/celestiaorg/celestia-app/releases/download/${APP_VERSION}/checksums.txt" sha256sum --ignore-missing --check checksums.txt tar -xzf celestia-app_Linux_x86_64.tar.gz ./celestia-appd version --long sudo install -m 0755 celestia-appd /usr/local/bin/celestia-appd celestia-appd version --long

Require version 10.5.0, commit 6013e758d5dceb75827ad191c8d739d7c43cfa04 and the multiplexer build tag. Published Linux x86_64 archive SHA-256: 3a200f501a59406cb7de9134b7ce229409b4095e8dcaa492b88238cef73d4445. Verify the executable path before starting a service.

3. Initialize

MONIKER="<YOUR_NODE_NAME>" CHAIN_ID="celestia" CELESTIA_HOME="$HOME/.celestia-app" celestia-appd init "$MONIKER" --chain-id "$CHAIN_ID" --home "$CELESTIA_HOME"

4. Download Genesis and Addrbook

curl -fL https://snapshots-celestia-mainnet.posthuman.digital/genesis.json \ -o "$CELESTIA_HOME/config/genesis.json" curl -fL https://snapshots-celestia-mainnet.posthuman.digital/addrbook.json \ -o "$CELESTIA_HOME/config/addrbook.json" jq -r '.chain_id // .genesis.chain_id' "$CELESTIA_HOME/config/genesis.json"

Expected chain ID: celestia.

5. Configure

# Minimum gas price sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0.002utia"|' \ "$CELESTIA_HOME/config/app.toml" # Pruned node profile sed -i -e 's|^pruning *=.*|pruning = "custom"|' \ -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \ -e 's|^pruning-interval *=.*|pruning-interval = "19"|' \ "$CELESTIA_HOME/config/app.toml" # PebbleDB profile; required for current POSTHUMAN snapshots sed -i -e 's|^db_backend *=.*|db_backend = "pebbledb"|' \ "$CELESTIA_HOME/config/config.toml" if grep -q '^app-db-backend' "$CELESTIA_HOME/config/app.toml"; then sed -i 's|^app-db-backend *=.*|app-db-backend = "pebbledb"|' \ "$CELESTIA_HOME/config/app.toml" else printf '\napp-db-backend = "pebbledb"\n' >> "$CELESTIA_HOME/config/app.toml" fi # Disable transaction indexer unless you need indexed queries sed -i 's|^indexer *=.*|indexer = "null"|' \ "$CELESTIA_HOME/config/config.toml" # Enable Prometheus metrics sed -i 's|prometheus = false|prometheus = true|' \ "$CELESTIA_HOME/config/config.toml" # POSTHUMAN persistent peer PEERS="9f21a4f163710710aa7932e1832a257ef326186f@peer-celestia-mainnet.posthuman.digital:40656" sed -i -e "/^\\[p2p\\]/,/^\\[/{s|^[[:space:]]*persistent_peers *=.*|persistent_peers = \\"$PEERS\\"|}" \ "$CELESTIA_HOME/config/config.toml"

The restore procedure lives in one place now: Celestia Mainnet Snapshot. It uses our own archive, which was restore-verified end to end on 2026-09-27, and names a third-party alternative. Do not copy the old one-line curl | lz4 | tar restore from earlier revisions of this document: it neither resumes nor verifies a checksum.

7. Create Systemd Service

sudo tee /etc/systemd/system/celestia-appd.service > /dev/null <<EOF [Unit] Description=Celestia consensus node After=network-online.target [Service] User=$USER WorkingDirectory=$CELESTIA_HOME ExecStart=$(command -v celestia-appd) start --home $CELESTIA_HOME Restart=on-failure RestartSec=3 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF sudo systemctl daemon-reload sudo systemctl enable celestia-appd sudo systemctl restart celestia-appd

8. Verify

sudo systemctl status celestia-appd --no-pager journalctl -u celestia-appd -n 100 --no-pager curl -fsS http://127.0.0.1:26657/status | jq -r ' .result.node_info.network, .result.sync_info.latest_block_height, .result.sync_info.latest_block_time, .result.sync_info.catching_up'

The node is ready when network=celestia, height advances, recent block time is fresh, and catching_up=false.

9. Wallet and Validator Commands

Create a wallet:

WALLET="wallet" celestia-appd keys add "$WALLET"

Restore a wallet:

WALLET="wallet" celestia-appd keys add "$WALLET" --recover

Create validator only after the node is synced and the operator has reviewed the transaction:

celestia-appd tx staking create-validator <validator.json> \ --from "$WALLET" \ --chain-id celestia \ --node http://127.0.0.1:26657 \ --fees 21000utia

Do not broadcast validator, staking, governance, or unjail transactions until the signer, account, sequence, gas, fees, and message are verified.