Works with your existing Terraform/OpenTofu

Terraform & OpenTofu without the
state file bottleneck

Stategraph replaces the flat state file with a database-backed graph. Independent changes can run in parallel, and the state becomes queryable and auditable. No code changes.

Parallel teams No lock waiting Audit-ready state

What Stategraph makes possible

Teams run in parallel

If resources don't overlap, everyone ships

?

Query your infrastructure

SQL-queryable state, not JSON parsing

Resource-level control

Resource-level locking & RBAC

Teams run in parallel

If resources don't overlap, everyone ships

?

Query your infrastructure

SQL-queryable state, not JSON parsing

Resource-level control

Resource-level locking & RBAC

From flat files to dependency graphs

OLD MODEL
State as a file
Global locks
Serial execution
Audit via CI logs
STATEGRAPH
State as a database
Resource ownership
Parallel where safe
SQL queries and diffs

Under the hood: API and database

Stategraph has two parts: a CLI that mirrors Terraform commands, and a backend that stores state as a dependency graph in PostgreSQL. Not just different storage — it's a real database with transactions, resource-level locking, and SQL queries.

stategraph plan
stategraph apply
stategraph query

STATEGRAPH CLI WRAPPER

Wraps Terraform/OpenTofu CLI
Manages Parallelization
Provides Query interface
Wraps
Terraform/OpenTofu CLI
Manages
Parallelization
Provides
Query interface

HTTP API SERVER

POST /transactions
GET /transactions/{id}
GET /graph
POST /query

POSTGRESQL DATABASE

id
type
name
depends_on
status
1
aws_vpc
main
NULL
active
2
aws_subnet
public-1a
1
active
3
aws_subnet
public-1b
1
active
4
aws_security_group
web-sg
1
active
5
aws_instance
web-server-1
2,4
active
6
aws_instance
web-server-2
3,4
pending
7
aws_alb
main-lb
2,3
active
8
aws_db_instance
postgres-prod
3
active
Resources as rows • Dependencies as foreign keys • Graph traversal via SQL joins
Parallel-safe
Disjoint ops run together
SQL-queryable
Direct database access
Graph-native
Dependencies as edges
Audit-ready
Every change tracked

Visual interface

Visualize the dependency graph, run SQL queries, and browse transactions — all in one place.

Stategraph mock UI showing a dependency graph, SQL query panel, and transaction log Stategraph mock UI showing a dependency graph, SQL query panel, and transaction log
Graph explorer SQL results Transaction log Resource ownership
shell
$ # Want this in your hands? $ echo "Notify me when Stategraph launches" | \ mail -s "Launch Updates" hello@stategraph.dev

See the difference

Watch how Stategraph parallelizes your infrastructure operations

Traditional Backend

terraform apply 00:00
[VPC ] waiting
[Subnets ] waiting
[Security ] waiting
[RDS ] waiting
[ALB ] waiting
[ASG ] waiting
[Route53 ] waiting
[CloudFront ] waiting

Stategraph

stategraph apply 00:00
[VPC ] waiting
[Subnets ] waiting
[Security ] waiting
[RDS ] waiting
[ALB ] waiting
[ASG ] waiting
[Route53 ] waiting
[CloudFront ] waiting
Parallel Team execution
Graph Dependency aware
SQL Queryable state

Get launch updates

Be the first to know when Stategraph launches.

Why Terraform & OpenTofu need a new backend

FILE
State is stored as a monolithic JSON file. Every plan loads the entire file. Result: slow plans at scale.
LOCK
Global lock blocks all teams. Even those working on unrelated resources. Result: teams queue behind each other.
BLIND
State is opaque binary data. No queries. No insights. No audit trail. Result: Debugging via CI logs.
SERIAL
Resources execute one at a time. Even when operating on completely separate parts of the tree. Result: Wasted time waiting for unrelated changes.

Frequently Asked Questions

Contact

Contact us
$ echo "your message" | mail -s "Stategraph Inquiry" hello@stategraph.dev

Stategraph is under active development.