
Project 05 / Multi-region node platform
Node as
a service.
For a blockchain company.
The project
The infrastructure behind
blockchain applications.
- Client
- A blockchain company
- Our work
- Node as a service
- Environment
- Multi-region: two clouds and bare metal
- Networks
- Ethereum and EVM chains, Solana and Cosmos-based networks
- Technology
- Kubernetes · Snapshots · Fast sync · Vault
- Across the stack
- Infrastructure
The service model
Connect applications
to the network.
A node service provides applications with access to blockchain networks through operated nodes.
Engineering spotlight / Blockchain nodes
Nodes on demand.
Kept in sync.
A platform that provisions, syncs and operates blockchain nodes on Kubernetes, and gives applications reliable access to the networks they depend on.
Nodes operated
Full, archive and validator nodes, on 12 networks.
RPC availability
Monthly, across shared endpoints, with health- and sync-aware routing.
To a synced full node
From a recent snapshot, against days of syncing from the first block.
RPC requests a month
Through key-authenticated, rate-limited endpoints.
Regions
Two clouds and bare metal, with failover between regions.
Signing keys on disk
Keys are issued from Vault at run time, and every access is audited.
Client details are anonymised.
The challenge
Stateful nodes.
Impatient applications.
A node is only useful once it has caught up with the chain, and it has to stay there.
Slow first sync.
A new node must catch up with the chain before it can serve requests.
Always reachable.
Applications need a healthy endpoint, even when a node falls behind or fails.
Strict custody.
Signing keys cannot sit in plain text on a node.
The operating stack
Every layer,
working together.
Provisioning, sync and access as one platform. Observability and security run across it.
Access
RPC and WebSocket endpoints · API keys · Rate limits
Routing
Health- and sync-aware load balancing · Failover
Node operations
Automated provisioning · Snapshots · Fast sync
Key management
HashiCorp Vault · Access policies · Audit log
Kubernetes platform
StatefulSets · Persistent volumes · Argo CD
Infrastructure
Compute and block storage, provisioned with Terraform
The fleet
Three regions.
Two clouds and bare metal.
400+ nodes on 12 networks, each placed on the hardware its node type needs.
Elastic capacity.
Shared RPC pools that scale with request volume.
Local NVMe.
Multi-terabyte chain history on local NVMe, where cloud block storage is too slow and too costly.
Isolated by design.
Dedicated machines behind sentry nodes, with keys held in Vault.
Observability
Prometheus · Grafana · Loki
Block height, peer count and sync lag for every node.
Alerts fire when a node falls behind, with runbooks for resync and failover.
Security
Vault · RBAC · Network policies
Keys are issued from Vault at run time, and every access is audited.
Node lifecycle
Every node comes online
the same way.
From a request to a synced node serving traffic, with a fresh snapshot ready for the next one.
- 01
Request
Network and node type
- 02
Provision
Terraform and Kubernetes
- 03
Restore
Latest snapshot
- 04
Sync
Catch up to the chain head
- 05
Verify
Height and peers
- 06
Admit
Into the serving pool
- 07
Monitor
Sync lag and health
- 08
Snapshot
For the next node
How a new node syncs quickly
A new node starts from a recent snapshot taken from a healthy node, rather than from the first block. It then syncs only the blocks it is missing.
How failover works
The load balancer routes only to nodes that are healthy and close to the chain head. A node that falls behind or fails leaves the pool until it has resynced or been replaced.
How client upgrades roll out
Node client versions are pinned in Git and roll out one node at a time through Argo CD. Traffic moves away from each node before it restarts.
The outcome
Reliable network access.
Without running nodes.
Node operations became a platform, rather than a collection of servers.
Nodes ready sooner.
Snapshots and fast sync shorten the path from request to a serving node.
Endpoints that stay current.
Health- and sync-aware routing keeps applications on nodes at the chain head.
Keys under control.
Signing keys stay in Vault, behind access policies and an audit trail.