Now in private beta · Founding teams only

Your API lives in Git.
Everything else is derived.

StateAnchor watches every commit, regenerates your entire API surface, and blocks breaking changes before they ship.

Request early accessSee how it works
stateanchor · sync
$git push origin main
StateAnchor detected stateanchor.yaml change
Building canonical IR from spec...
Running spec-diff against previous state
Gate decision: ALLOW (score: 0)
———————————————
typescript-sdk@2.4.1generated
python-sdk@2.4.1generated
go-sdk@2.4.1generated
mcp-server@2.4.1generated
All artifacts anchored to commit a3f9c2b ✓

Spec in. Everything out.

One file commits your API's desired state. StateAnchor enforces it everywhere, automatically.

01

Commit your spec

Add stateanchor.yaml to your repo. Declare endpoints, models, auth. That's your source of truth.

02

Push to main

StateAnchor detects the change, builds a canonical IR, and diffs against the previous state in seconds.

03

Gate evaluates

Breaking changes are scored and blocked before they ship. Non-breaking changes flow through automatically.

04

Artifacts generated

TypeScript, Python, Go SDKs and an MCP server are regenerated, versioned, and anchored to the exact commit.

stateanchor.yamlsource of truth
service: payments-api
version: "2.4.0"
 
server:
  base_url: https://api.acme.com/v2
 
endpoints:
  - name: createCharge
    method: POST
    path: /charges
    auth: bearer
 
outputs:
  typescript: true
  python: true
  go: true
  mcp: true

Built for teams that ship fast
and break nothing.

Desired-state control plane

Declare what your API should be. StateAnchor continuously reconciles reality against your spec, just like Kubernetes — but for APIs.

Drift detection

Drift isn't a heuristic — it's a SHA mismatch. StateAnchor compares desired state to observed state on every push.

Breaking change gates

Every push is scored. Additive changes flow through. Breaking changes are blocked at the gate before a single SDK breaks.

Multi-language SDK generation

TypeScript, Python, and Go SDKs generated from one canonical IR. Every language output is consistent, typed, and production-ready.

MCP server generation

Every API spec generates an MCP server automatically. Your API is instantly callable by AI agents — no manual tool definitions.

Artifact provenance

Every generated artifact is content-addressed and tied to the exact commit, IR snapshot, and policy set that produced it.

Ship fast.
Break nothing.

Every change is scored. Additive changes flow automatically. Breaking changes are blocked — or require explicit acknowledgment. You choose the policy.

thresholds: allow < 20 · warn < 60 · block ≥ 60
ALLOW
endpoint_added · GET /users/{id}
score: 0
ALLOW
field_added · response.metadata
score: 0
WARN
endpoint_removed · DELETE /charges
score: 40
WARN
field_type_changed · amount: int→string
score: 55
BLOCK
auth_scheme_changed · bearer→oauth2
score: 80
BLOCK
response_contract_narrowed · 200→422
score: 95

Not just a generator.
A control plane.

Capability
StateAnchor
Speakeasy
Fern
Git-native desired state
partial
Breaking change gate engine
MCP server generation
Drift detection (SHA-level)
partial
Artifact provenance
Multi-language SDK (TS/Py/Go)

Stop shipping drift.

Join the teams using StateAnchor to keep their API, SDKs, and AI integrations anchored to the same state.

Request early accessView docs