
Restate
Durable execution for AI agents and microservices — code that survives every failure, with no extra infrastructure.
About
Restate gives you a distributed, durable version of your everyday building blocks. You write ordinary service handlers in TypeScript, Python, Java, Go, or Rust, and Restate guarantees they run to completion: failures trigger retries that recover partial progress via durable execution instead of re-running completed steps, services communicate with exactly-once semantics, and each entity gets isolated key/value state persisted alongside execution progress. Durable promises, timers, and sleeps make long-running agent loops (waiting on a human approval, a webhook, a timer) trivially resilient.
The positioning is explicit in the README: durable AI agents, workflows-as-code, microservice orchestration, and event processing, with SDKs for five languages and a UI/CLI for introspection plus OpenTelemetry traces. It is the simplest on-ramp to the durable-execution idea Temporal pioneered, with a lighter operational story. The license is the catch: BSL 1.1 (Business Source License), not OSI open source, so read it before building a business on the server itself.
What it can do
- Durable execution: retries recover partial progress, never re-run completed steps
- Exactly-once service communication: request-response, one-way messages, scheduled tasks
- Durable promises, timers, and sleeps resilient across failures and restarts
- Consistent per-entity key/value state persisted with execution progress
- SDKs for TypeScript, Python, Java/Kotlin, Go, and Rust
- Built-in UI, CLI introspection, and OpenTelemetry tracing
Setup
- Install the server:
brew install restatedev/tap/restate-server,npx @restatedev/restate-server, or Docker. - Install an SDK for your language (
npm i @restatedev/sdk,pip install restate_sdk, etc.). - Write a service handler with durable steps —
ctx.run()for recoverable work,ctx.sleep()for durable timers. - Register your service deployment with the server.
- Invoke it over HTTP/Kafka; inspect executions in the UI and CLI.
Prerequisites
A Restate server (local binary, Docker, or managed); one of the supported language SDKs.
Use cases
Works with
Trust score — 7/10
Scored 7/10 (verified tier, metrics-v1). Evidence: 4,561 GitHub stars (GitHub API), pushed Oct 15 2026; the README documents the durable-execution primitives, the five SDKs, and the AI-agent use case; docs corroborate the install and handler model. Strengths: the cleanest durable-execution on-ramp, genuinely useful for long-running agent loops, very active. Docked for: (1) BSL 1.1 license, not OSI open source — read before commercial use; (2) younger and smaller ecosystem than Temporal; (3) 474 open issues is a lot relative to star count. License: BSL 1.1.
★ 4,561 GitHub stars
How the trust score is built
Full methodology →- Adoption · stars/downloads, log-scaled vs peers
- 7.0/10
- Maintenance · recency, releases, issue load
- 8.0/10
- Openness · license + docs
- 7.0/10
- Manual review · sanity read + red-flag check
- 8.0/10
- · Adoption 7: starScore from 4,561 stars on restatedev/restate
- · Maintenance 8: pushed 2026-10-15 (recency 10); frequent releases (10); 474 open issues on 4.6k stars (issues 1)
- · Openness 7: BSL 1.1 source-available (0.7*6) + official docs verified at docs.restate.dev (0.3*10)
- · Manual 8: README documents durable-execution primitives, five SDKs, and the durable-AI-agent use case; docked for BSL 1.1 license, younger ecosystem than Temporal, high issue count
Sources
Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.