Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Roadmap

EVM Cloud is evolving from Terraform modules into a full-stack platform for EVM blockchain data infrastructure.

Architecture Vision

Where we're headed โ€” every layer pluggable, every component optional:

CLI
evm-cloud CLI
init ยท deploy ยท status ยท logs ยท scale
Config
Chain Presets
ABIs ยท RPC endpoints ยท BYO Node
Sizing Profiles
Secrets
YAML Config
rindexer.yaml ยท erpc.yaml
Platform
Providers
AWS
GCP
Bare Metal
Compute
EC2 + Docker
EKS
k3s
Docker Compose
Provider + compute engine are selected per deployment
Networking
VPC
Subnets
Security Groups
Bastion Host
DNS
Provisioned per provider โ€” isolated network per deployment
Data Pipeline
EVM Node
Reth / Erigon
โ†’
eRPC Proxy
Failover ยท Caching
โ†’
rindexerโ†— events
No-code or Rust
โ†’
Database
ClickHouse ยท PostgreSQL
Streaming
Kafka
SNS/SQS
CDC
Webhooks
Fan-out from rindexer indexed events
Ops
Observability
Grafana
Prometheus
Alerting
Ingress
TLS
Caddy / ALB
Routing
GraphQL ยท Admin
Monitors all pipeline services ยท Routes external traffic
Available
Planned
โ†’Data flow
โ†—Branch output

๐Ÿ”จ Building Now

Managed ClickHouse

Self-hosted ClickHouse โ€” no more BYODB-only.

terraform apply
  โ†’ EC2 or K8s pod with ClickHouse
  โ†’ Schema auto-provisioned from rindexer config
  โ†’ Automated backups to S3
  โ†’ Wired to rindexer + eRPC automatically

Status Overview

ComponentStatusDescription
AWS Providerโœ… ShippedVPC, subnets, security groups, IAM
EC2 + Dockerโœ… ShippedSingle-instance Docker Compose deployments
EKS (K8s)โœ… ShippedAWS-managed Kubernetes clusters
k3s (K8s)โœ… ShippedLightweight Kubernetes on EC2
Bare Metalโœ… ShippedDocker Compose on any VPS via SSH
eRPC Proxyโœ… ShippedMulti-upstream RPC with failover and caching
rindexerโœ… ShippedNo-code EVM event indexer
PostgreSQL (RDS)โœ… ShippedAWS-managed database
ClickHouse BYODBโœ… ShippedBring-your-own ClickHouse endpoint
Secrets Managementโœ… ShippedAWS Secrets Manager, K8s secrets, env-file
External Modeโœ… ShippedSeparate infra and workload lifecycles
Managed ClickHouse๐Ÿ”จ BuildingSelf-hosted ClickHouse with auto-provisioning
Monitoring๐Ÿ”จ BuildingGrafana + Prometheus dashboards and alerting
Ingress / TLS๐Ÿ”จ BuildingCaddy or ALB with automatic TLS
K8s Test Suite๐Ÿ”จ Buildingkind-based chart validation and connectivity tests
GCP Provider๐Ÿ“‹ PlannedGCE, GKE, Cloud SQL โ€” same interface as AWS
EVM Cloud CLI๐Ÿ“‹ Plannedinit, deploy, status, logs, scale
Deployment Presets๐Ÿ“‹ PlannedOne-variable sizing profiles (dev/prod/analytics)
Bare Metal v2๐Ÿ“‹ PlannedDocker Swarm, Ansible, automated backups
Event Streaming๐Ÿ“‹ PlannedKafka, SNS/SQS, CDC fan-out
Self-Hosted Nodes๐Ÿ“‹ PlannedReth / Erigon on NVMe with eRPC integration

Monitoring & Observability

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚              Grafana Dashboard              โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  rindexer   โ”‚    eRPC      โ”‚   Database     โ”‚
โ”‚             โ”‚              โ”‚                โ”‚
โ”‚ Block lag   โ”‚ Upstream     โ”‚ Query p99      โ”‚
โ”‚ Events/sec  โ”‚ latency      โ”‚ Disk usage     โ”‚
โ”‚ Error rate  โ”‚ Cache hit %  โ”‚ Connections    โ”‚
โ”‚ Chain sync  โ”‚ Failovers    โ”‚ Replication    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
         โ–ฒ               โ–ฒ              โ–ฒ
         โ””โ”€โ”€โ”€โ”€โ”€ Prometheus Scraping โ”€โ”€โ”€โ”€โ”˜
  • Pre-built dashboards per service
  • Alerting rules: stalled indexer, RPC errors, disk pressure
  • Deployed as part of the stack โ€” one variable to enable

Ingress & TLS

Internet
   โ”‚
   โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Caddy / ALB             โ”‚
โ”‚  *.your-domain.com       โ”‚
โ”‚  Auto-renewing TLS       โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  /graphql  โ†’ rindexer    โ”‚
โ”‚  /grafana  โ†’ monitoring  โ”‚
โ”‚  /rpc      โ†’ eRPC proxy  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

K8s Test Suite

Automated validation using kind:

make test-k8s
# โ†’ Creates throwaway kind cluster
# โ†’ Renders Helm charts
# โ†’ Validates K8s resources
# โ†’ Tests service connectivity
# โ†’ Tears down โ€” zero cleanup needed

๐Ÿ“‹ Planned

Event Streaming

Fan out indexed events to downstream consumers:

rindexer
   โ”‚
   โ”œโ”€โ”€โ–ถ Kafka (MSK or self-hosted)
   โ”‚       โ””โ”€โ”€โ–ถ Your consumers
   โ”‚
   โ”œโ”€โ”€โ–ถ SNS/SQS (AWS-native)
   โ”‚       โ””โ”€โ”€โ–ถ Lambda / Fargate
   โ”‚
   โ””โ”€โ”€โ–ถ CDC (change data capture)
           โ””โ”€โ”€โ–ถ Real-time DB replication

Self-Hosted EVM Node

# Add to your terraform config:
node_enabled      = true
node_client       = "reth"       # or "erigon"
node_instance     = "i3en.xlarge" # NVMe storage
node_chain        = "ethereum"
 
# eRPC auto-discovers the local node as primary upstream
# Third-party RPCs become fallback only
  • NVMe-optimized instances with large EBS
  • Automatic peer discovery and sync monitoring
  • Local node as eRPC primary, third-party as fallback

GCP Provider

Same interface, different cloud:

# AWS deployment
infrastructure_provider = "aws"
compute_engine          = "ec2_docker"
 
# Becomes GCP deployment โ€” same variables, same stack
infrastructure_provider = "gcp"
compute_engine          = "gce_docker"
  • GCE instances, GKE clusters, Cloud SQL
  • VPC networking, firewall rules, IAM
  • Feature parity with AWS provider

EVM Cloud CLI

# Scaffold a new project
evm-cloud init --chain ethereum --db clickhouse
 
# Deploy with smart defaults
evm-cloud deploy --preset dev
 
# Live status
evm-cloud status
# โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
# โ”‚ Chain:     Ethereum mainnet                  โ”‚
# โ”‚ Blocks:    19,847,231 / 19,847,235 (-4)     โ”‚
# โ”‚ Events:    1,247/sec                         โ”‚
# โ”‚ eRPC:      3/3 upstreams healthy             โ”‚
# โ”‚ DB:        ClickHouse โ€” 42GB indexed         โ”‚
# โ”‚ Cost:      ~$38/mo (EC2 t3.medium)           โ”‚
# โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
 
# Stream logs from all services
evm-cloud logs --follow
 
# Scale without editing HCL
evm-cloud scale --instance t3.xlarge

Deployment Presets

# One variable to configure the full sizing profile
preset = "dev"         # ~$35-50/mo  โ€” single instance, minimal resources
preset = "production"  # ~$500-2k/mo โ€” multi-AZ, HA, proper sizing
preset = "analytics"   # ~$1-5k/mo  โ€” ClickHouse-heavy, read replicas
PresetComputeDatabaseMonitoringCost
devEC2 t3.mediumRDS db.t3.microOff~$35-50/mo
productionEKS or k3s, multi-AZClickHouse clusterFull stack~$500-2k/mo
analyticsEKS, large instancesClickHouse + replicasFull stack~$1-5k/mo

Bare Metal v2

  • Multi-node Docker Swarm deployments
  • Ansible integration for fleet management
  • Automated backups and restore scripts

Contributing

Pick any item and open a PR. Check GitHub Issues for detailed specs on each roadmap item, or start a Discussion to propose something new.