Skip to main content
An operator receives L2 transactions, assembles blocks, publishes them and commits their headers to L1 during its shift. This guide explains the role and points you to the deployment steps.
You can run the reference node today against your own instance on Cardano Preprod, Preview or a local emulator.

What an operator commits to

  • A bond. You post a bond in ADA when you register. It is forfeited if a block you commit is proven fraudulent.
  • Valid blocks. Every block you commit must satisfy the ledger rules and include every L1 event whose inclusion time falls in its interval.
  • Availability. You publish each full block so that watchers can check it.
  • Liveness. Operators that don’t commit during their shift receive strikes, and can be partly slashed and retired.
Consensus describes the full lifecycle: register, wait, activate, retire, recover the bond.

How you join

  1. Register by posting required_bond in a transaction that adds you to the registered operators queue.
  2. Wait for registration_duration.
  3. Activate, after which the scheduler gives you shifts.
  4. Commit blocks during your shifts.
The Midgard SDK builds these L1 transactions.

What the node needs

Use three distinct seed phrases. Don’t reuse any of them for a faucet wallet. The node refuses to start if it detects reuse.

Node roles

Bring up a node

1

Deploy

Follow Deploy a layer node to start the node with Docker Compose, including PostgreSQL, Redis and the monitoring stack.
2

Configure

Set the L1 provider, network, seed phrases and timing values. Node configuration lists every variable.
3

Check health

ready checks the database, Redis and the L1 provider, and names whichever is failing.
4

Watch it run

Open Grafana at http://localhost:3001 and confirm that blocks are being committed.

Hardware

The whitepaper’s benchmark runs used a single host with 6 CPUs and 31 GB of memory for the node, PostgreSQL, Redis and monitoring together. That host sustained 1,000 transactions per second of accepted load. See Performance.

Before a public deployment

  • Put a reverse proxy, gateway or firewall in front of the node for authentication, rate limiting and request-size limits.
  • Load secrets from a secrets manager, not from plain environment values.
  • Keep the faucet disabled unless you are running a testnet.
See Security model.