Substrate

Architecture

How Substrate works

A control plane, a router and a node agent. That is the whole system.

Three components

Each one is a single static binary. There is no database to operate — state lives in embedded Raft, replicated across the control plane nodes.

Control plane

Holds cluster state, model registry and policy. Runs three or five replicas. Survives losing a minority without dropping traffic.

Router

Stateless. Terminates the OpenAI-compatible API, applies per-tenant limits, and picks the node with the warmest matching cache.

Node agent

Owns the GPUs on one machine. Loads engines, reports pressure, and handles graceful pre-emption on a signal from the scheduler.

What you get on day one

Prefix cache routing

Requests sharing a system prompt land on the node that already has those KV blocks resident.

Per-tenant accounting

Token counts and GPU-seconds attributed by API key, exportable as a metered usage feed.

Rolling model updates

Load the new weights beside the old ones, shift traffic by percentage, roll back on error rate.

Structured output

Grammar-constrained decoding across every supported engine, with the same request shape.

Spill to cloud

Optional. When local capacity is exhausted, overflow to a provider you configure — off by default.

Audit log

Every policy change and admin action, signed and appended, shipped wherever you send logs.

See it against your own workload.

We will run a benchmark on your traces before you commit to anything.