Skip to main content
Non-validator nodes provide RPC access to the Plasma network by monitoring consensus clients and serving application requests. This guide covers deployment using the official non-validator-templates repository.

Prerequisites

Basic Linux administration skills
Docker and Docker Compose installed
A server that meets the hardware requirements

Available Networks

All networks use the public plasma-consensus-public image — no GHCR authentication is required.

Quickstart

1

Install Docker

Connect to your server and ensure that Docker and Docker Compose are installed.
2

Clone the templates repository

3

Start your node

Replace {network} with mainnet, testnet, or devnet:
4

Verify containers are running

5

Start monitoring (optional)

Architecture Overview

Your non-validator node consists of two main components:

Plasma Execution Client

Based on Reth. Handles transaction execution, state management, and provides JSON-RPC endpoints for applications.

Plasma Observer Client

A lightweight client that monitors the Plasma consensus network without participating in block production or validation.
The Docker Compose setup orchestrates these components along with initialisation containers that handle JWT secret generation, key generation, and database setup automatically.

Directory Structure

Each network directory follows the same layout:

Setup Process Explained

The Docker Compose file defines four services that run in sequence:
1

OpenSSL Initialisation

Generates the JWT secret for secure Engine API communication and creates secp256k1 keys for your node’s network identity. These are only generated once and persist across restarts.
2

Consensus Database Initialisation

Initialises the consensus database with the genesis configuration for your chosen network and generates a peer ID for your node.
3

Execution Database Initialisation

Initialises the Reth execution database with the genesis state.
4

Container Deployment

Once initialisation completes, the execution and consensus clients start. Execution Client (Reth) starts first and exposes the JSON-RPC API and Engine API. Consensus Observer Client starts after the execution client is healthy and connects to the consensus network.

Configuration

All version numbers and image tags are defined in each network’s .env file — this is the single source of truth for software versions. The consensus client is configured via non-validator.toml.

NAT / External Address

For nodes behind NAT, configure an external address so that peers can discover and connect to your node:

Port Configuration

Firewall requirements: Ensure inbound/outbound on port 30303 (TCP/UDP) for execution P2P, inbound on port 34070 (TCP) for consensus P2P, and internal communication on port 8551 for the Engine API. The JSON-RPC interface on port 8545 is exposed by default — consider restricting access in production.

Common Operations

Monitoring Your Node

Once your node is operational, you can monitor its health and synchronisation status. For comprehensive monitoring setup and best practices, see the monitoring guide.
Your node will begin synchronising immediately. Initial sync may take several minutes depending on network conditions and your hardware specifications.

Database Snapshots

Plasma publishes daily database snapshots for mainnet and testnet. Snapshots let you bootstrap a new node in hours instead of syncing from genesis, which can take significantly longer. Each snapshot contains two files — the consensus-layer database and the execution-layer database — uploaded to a requester-pays S3 bucket. You need an AWS account; standard S3 data-transfer rates apply.

Snapshot Prerequisites

Data transfer out from us-east-2 is ~$0.09/GB for the first 10 TB/month. Transferring from an EC2 instance in the same region is free — running your node in us-east-2 is the most cost-effective option.

Snapshot Buckets

Backups are organized into date-stamped folders (MM-DD-YY). Each folder contains two files:

Download a Snapshot

Restore from Snapshot

1

Stop your node

2

Restore the consensus database

Copy the snapshot into the consensus data directory:
3

Restore the execution database

Extract the archive into the execution data directory:
4

Restart your node

Snapshot Troubleshooting