> For the complete documentation index, see [llms.txt](/llms.txt)

# Pre-flight

**Time:** \~2 minutes. Confirm you have everything before starting. Every item is required.

<!-- -->

<!-- -->

Reliability is a hard requirement

An Aztec sequencer must stay online 24/7 with a stable internet connection. The protocol slashes 2,000 AZTEC per offense when you miss attestation duties.

Before starting, confirm your setup can sustain:

* **Power:** backed by UPS or hosted on infrastructure with N+1 power.
* **Network:** not behind a NAT or firewall you don't control; not a cellular hotspot; not a residential connection prone to ISP outages.
* **Compute:** machine that doesn't sleep, doesn't reboot for OS updates without your control, and doesn't share resources with workloads that could cause downtime.
* **Operator availability:** someone responds to alerts within a few hours (you, an on-call rotation, or a monitoring service).

If any of these is uncertain, consider delegating instead.

## Hardware

Each server needs:

| Resource | Spec                                    |
| -------- | --------------------------------------- |
| CPU      | 8 cores / 16 vCPU, **Skylake or newer** |
| RAM      | 8 GB                                    |
| Storage  | 1 TB SSD (NVMe recommended)             |
| Network  | 25 Mbps                                 |

The CPU must be Skylake or newer: on x86 the node's cryptography library (barretenberg) is compiled with `-march=skylake`, so it uses instructions that older chips lack and fails on them (some 2015 CPUs are pre-Skylake). Co-hosting an L1 node needs more storage; see [Hardware spec](/operate/operators/concepts/hardware.md#co-hosting-an-l1-node).

<!-- -->

<!-- -->

Where you host matters

If a significant share of the network is running on the same few cloud providers (AWS, GCP, Azure, Hetzner, etc.), it creates a centralization risk: a single provider outage, policy change, or region failure can affect many sequencers at once. When choosing where to run your node, consider options beyond the major clouds.

## Software

You need this on **every** server in your topology.

* **OS:** Ubuntu 22.04+, Debian 12+, or macOS. Windows WSL2 also works but is not recommended for production.
* **Docker + Docker Compose:** installed and running. Verify with:

```bash
docker --version && docker compose version
```

* **jq:** JSON processor used in verification commands. `sudo apt install -y jq` on Ubuntu/Debian or `brew install jq` on macOS. Verify with `jq --version`.

Need to install Docker?

**Ubuntu / Debian:**

```bash
sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
  -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

echo "deb [arch=$(dpkg --print-architecture) \
  signed-by=/etc/apt/keyrings/docker.asc] \
  https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli \
  containerd.io docker-compose-plugin

sudo usermod -aG docker $USER
newgrp docker
```

**macOS:** install [Docker Desktop](https://docs.docker.com/desktop/install/mac-install/).

**Verify:** `docker run hello-world`.

## Network access

* **L1 Ethereum endpoints:** an execution RPC, a blob-serving consensus (beacon) RPC, and a debug/trace RPC. Self-hosted (for example Geth plus Lighthouse or Prysm in supernode mode) or a hosted provider that supports all three. The beacon client must serve blob sidecars, which has specific version and flag requirements. See [L1 RPC requirements](/operate/operators/concepts/l1-rpc.md) before you choose a provider; it is the most common setup blocker.
* **Port 40400** open for both TCP and UDP (P2P).
* **Port 8080** available locally (Aztec HTTP API). Do not expose it publicly.

<!-- -->

## Tokens

* **AZTEC tokens:** 200,000 AZTEC minimum stake **per sequencer**. You'll self-stake these when you [register as sequencer](/operate/operators/solo-sequencer/register-sequencer.md).
* **ETH for gas:** the publisher consumes a small amount of L1 gas each time it submits a checkpoint. Around **0.01 ETH per sequencer** is a comfortable opening top-up at current L1 prices. Size it against real network activity with the [funding calculator](/operate/operators/solo-sequencer/fund-accounts.md#fund-the-publisher), which scans the last 30 days using your own L1 RPC.

What just happened?

You confirmed your servers meet Aztec's minimum requirements. The node runs as a Docker container that connects to Ethereum L1 (for anchoring proofs and reading rollup state) and the Aztec P2P network (for receiving transactions and participating in consensus).

The 200K AZTEC self-stake is required by the Rollup contract to prevent Sybil attacks.

***

**Stuck?** Ask in [Discord](https://discord.com/invite/aztec).
