This page outlines the hardware, software, and network requirements for running Chainstack Self-Hosted.
Looking to evaluate the software without dedicated hardware? See Evaluation setup for minimal requirements.
Overview
Chainstack Self-Hosted consists of two main components with different resource requirements:
- Control Panel — the management platform that handles deployments, authentication, and orchestration
- Blockchain nodes — the actual blockchain clients that you deploy and manage
Control Panel requirements
The Control Panel runs inside a Kubernetes cluster and includes the web interface, API services, database, and workflow orchestration.
Hardware requirements
| Resource | Minimum | Recommended |
|---|
| CPU | 5 cores | 8 cores |
| RAM | 6 GiB | 16 GiB |
| Storage | 15 GB | 20 GB |
These requirements are for the Control Panel only. Blockchain nodes require additional resources as specified below.
Software requirements
| Component | Requirement | Notes |
|---|
| Kubernetes | Any recent version | k3s, k8s, EKS, GKE, AKS supported |
| Helm | v3.x or later | Required for installation |
| yq | v4.x or later | mikefarah/yq required |
| openssl | Any recent version | Required for certificate generation |
| kubectl | Compatible with cluster | Required for cluster management |
Operating systems
The Control Panel is distributed as an umbrella Helm chart and runs on any Kubernetes-compatible environment. The underlying host operating system should be a modern Linux distribution capable of running Kubernetes.
Tested configurations:
- Ubuntu 22.04 LTS with k3s
- Ubuntu 24.04 LTS with k3s
Kubernetes storage requirements
A storage class with dynamic provisioning is required for persistent volumes. The installer creates PersistentVolumeClaims for the PostgreSQL database.
Tips for storage classes:
- k3s — local-path (default) or TopoLVM for multi-disk setups
- Cloud providers — use the default storage class (gp2/gp3 for AWS, standard for GCP, managed-premium for Azure)
- On-premises — any CSI-compatible storage provisioner
Blockchain node requirements
Resource requirements vary by protocol, network, and client. The full per-deployment breakdown — clients, versions, vCPU, RAM, storage, and exposed ports — lives in Supported deployments.
The table below summarizes the standard preset totals by architecture family. Use it to size a host, then see the catalog for the exact figures per network.
| Family | Example deployments | vCPU | RAM | Storage (steady state) |
|---|
| EVM Layer 1 (execution + consensus) | Ethereum Mainnet, Sepolia, Hoodi | 8 | 32 GiB | 250 GB–2 TB |
| EVM Layer 2 — OP Stack | Optimism, Base, Unichain, Zora | 12 | 48 GiB | 2–3.5 TB |
| Polygon PoS | Polygon Mainnet | 12 | 64 GiB | ~5.5 TB |
| Starknet | Starknet Mainnet | 8 | 32 GiB | ~1 TB |
| TRON | TRON Mainnet | 8 | 32 GiB | ~3 TB |
| Bitcoin | Bitcoin Mainnet | 4 | 8 GiB | ~1 TB |
vCPU and RAM are split across the clients in multi-client families. Ethereum networks also ship a Light preset at half the CPU and RAM with the same storage. See Supported deployments for per-network figures.
Snapshot bootstrap and storage headroom
Deployments that bootstrap from a pre-built snapshot — currently Ethereum (all networks) and Optimism Mainnet — temporarily require about 2× the steady-state storage. The node downloads the snapshot archive and then extracts it into the chain data directory, so both copies coexist on disk until extraction completes. Provision the node’s persistent volume at this peak; you can keep it sized for headroom afterward. Deployments that sync without a snapshot do not have this peak.
Storage considerations
- SSD type — TLC NVMe drives are strongly recommended. Avoid QLC drives due to lower write endurance and performance.
- Storage growth — chain data grows over time, so provision headroom beyond the steady-state figure. Ethereum Mainnet, for example, grows approximately 1 TB per year.
- IOPS and throughput — high random read/write IOPS are critical for block processing. Target NVMe drives with sustained write throughput of 1+ GB/s.
For a deep dive on SSD selection for Ethereum nodes, see yorickdowne’s SSD guide.
CPU considerations
- Clock speed matters more than core count for blockchain nodes
- Higher single-thread performance improves block processing
- AMD Ryzen 7000/9000 series or Intel Core 12th gen+ recommended
Initial sync time
Snapshot-bootstrapped deployments (Ethereum and Optimism Mainnet) start from a pre-built chain snapshot rather than syncing from genesis. Initial bootstrap completes in minutes to hours depending on network conditions; the node then catches up to the chain head in the background. Other deployments sync conventionally and reach the chain head over a longer period. See Initial sync times for the breakdown.
Network requirements
Internal communication (within Kubernetes cluster)
All Control Panel services communicate internally within the Kubernetes cluster. The following ports are used for internal service-to-service communication:
| Service | Port | Protocol | Purpose |
|---|
| cp-ui | 80 | TCP | Web interface |
| cp-auth | 8080, 9090 | TCP | Authentication service |
| cp-deployments-api | 8080, 9090 | TCP | Deployment management API |
| keycloak | 80, 8080 | TCP | Identity management |
| PostgreSQL | 5432 | TCP | Database |
| Temporal | 7233–7246 | TCP | Workflow orchestration |
External access
For browser-based UI access, you need to expose both the UI service (cp-cp-ui) and the deployments API service (cp-cp-deployments-api). The browser loads the UI page from cp-cp-ui and then calls cp-cp-deployments-api directly using the --backend-url you set at install time.
| Service | Default external port | Purpose |
|---|
cp-cp-ui | 80 | Web interface |
cp-cp-deployments-api | 8081 (mapped to internal 8080) | Backend API used by the UI |
Either service can be exposed using:
| Method | Use case |
|---|
| LoadBalancer | Production deployments with external load balancer |
| NodePort | Direct access via node IP and port |
| Ingress | Production deployments with ingress controller |
| Port forward | Development and testing |
Firewall rules
The UI service port (default 80) and the deployments API port (default 8081) must both be reachable from clients that will access the Control Panel through a browser. All other Control Panel services communicate internally inside the cluster.
For blockchain nodes, the exposed ports depend on the client. Each deployment’s exposed ports are listed per family in Supported deployments. For example, EVM execution clients expose 8545 (HTTP JSON-RPC) and 8546 (WS JSON-RPC), and Prysm exposes 5052 (Beacon API). Internal ports — engine auth, P2P, and gRPC — are not exposed.
Combined infrastructure example
Size a host by adding the Control Panel baseline to the deployment you pick from Supported deployments. As a worked example, the Control Panel plus one Ethereum Mainnet full node:
| Resource | Control Panel | Ethereum Mainnet (Light) | Ethereum Mainnet (standard) |
|---|
| CPU | 5 cores | + 4 cores = 9 cores | + 8 cores = 13 cores |
| RAM | 6 GiB | + 16 GiB = 22 GiB | + 32 GiB = 38 GiB |
| Storage (steady state) | 15 GB | + ~2 TB | + ~2 TB |
| Storage (during deploy) | 15 GB | + ~4 TB | + ~4 TB |
For other deployments, substitute the totals from the catalog and apply the 2× storage peak only to snapshot-bootstrapped deployments (see above).
Example server configurations
Budget configuration (single Ethereum Mainnet node)
- CPU — AMD Ryzen 5 7600 or Intel Core i5-13400
- RAM — 32 GB DDR5
- Storage — 4 TB NVMe SSD
Testnet configuration (2 Ethereum testnet nodes)
- CPU — AMD Ryzen 5 7600 or Intel Core i5-13400
- RAM — 32 GB DDR5
- Storage — 3 TB NVMe SSDs
Trusted infrastructure partners
Chainstack Self-Hosted works on any compatible infrastructure you provision yourself. To simplify hardware procurement, you can use one of our trusted partners that offer servers meeting the requirements above.
| Partner | | Promo |
|---|
| Vultr | Deploy on Vultr | — |
| Hostkey | Deploy on Hostkey | — |
| Velia | Deploy on Velia | Promocode ChainstackSH80 — 80% off your first month on all Chainstack products |
| Serverside | Deploy on Serverside | 10% off — applied automatically via the link |
| BreezeHost | Deploy on BreezeHost | Promocode CHAINSTACK50 — 50% off your first month on all Chainstack products |
Next steps
Once you’ve verified your system meets these requirements:
- Environment setup — Install Kubernetes and required tools
- Quick start guide — Complete walkthrough from zero to running
- Installation guide — Detailed installation instructions