Restate
Restate explained: durable handlers, virtual objects and workflows in one self-contained runtime, plus licensing, deployment and Temporal comparison.
Low-latency runtime that turns services, workflows and AI agents into durable processes; ships as a single self-contained binary.
Best for
Backend teams that want durable execution and state without operating a multi-component cluster.
Not great for
No-code or ops teams looking for SaaS connectors and a visual builder.
Verdict
A strong, lighter-weight alternative to Temporal for engineers. Younger ecosystem, and the source-available license matters if you plan to resell it as a service.
Pros
- + Single self-contained binary is simple to run
- + Ordinary code in seven languages, no separate workflow DSL
- + Built-in durable state and concurrency control
Cons
- − Younger ecosystem and community than Temporal
- − Business Source License, not OSI open source
- − Engineer-only: no visual builder or connector library
Key features
- • Durable handlers that resume from the last completed step
- • Virtual Objects: durable state keyed by identity with single-writer semantics
- • Workflows with signals, approvals and durable timers
- • Exactly-once service-to-service calls, sync or async
- • HTTP invocation with idempotency keys and delayed sends
- • Self-hosted binary, Restate Cloud or BYOC
What is Restate?
Restate is a durable execution runtime: a lightweight server that turns ordinary service handlers, workflows and AI agents into processes that survive crashes, restarts and deploys. If a handler fails halfway through, Restate resumes it from the step after the last one that completed, instead of re-running everything or losing the work.
Searches for “Restate workflow” usually come from engineers comparing it with Temporal. The short version: same category (durable execution), different shape. Restate runs as one self-contained binary that sits in front of your services, rather than a server cluster plus workers polling task queues.
How Restate works
You write handlers with a Restate SDK (TypeScript, Python, Java, Kotlin, Go, Rust or Ruby) and register your service with the Restate server. Requests go through Restate, which records the progress of each invocation:
- Services are plain handlers. Any step wrapped in a Restate context call (an API call, a database write) is persisted, so on retry it is not executed twice.
- Virtual Objects add durable state keyed by an identity, such as a customer ID or a cart ID, with single-writer semantics. That gives you per-key concurrency control without building your own locking.
- Workflows coordinate long-running processes, including waiting for human approvals, webhooks or other signals, and durable timers that can sleep for days.
Invocation is over HTTP: request-response calls, fire-and-forget sends, delayed sends, and an Idempotency-Key header that returns the stored response for duplicate requests. Services can call each other synchronously or asynchronously with exactly-once guarantees.
Pricing and licensing
As of October 2026:
- Self-hosted: the runtime is available on GitHub under the Business Source License 1.1. You can use it in production, but the license prohibits offering it as a public Restate platform service to third parties. It is source-available, not OSI open source.
- Restate Cloud: fully managed, with no runtime infrastructure to operate.
- BYOC: Restate manages a deployment inside your own AWS or GCP account.
Restate does not publish cloud prices on its homepage; contact them for a quote.
Who Restate is for (and not for)
Good fit: backend teams building order flows, payment orchestration, agent loops or saga-style transactions who want durable execution with fewer moving parts than a full Temporal deployment.
Poor fit: anyone who needs prebuilt connectors to CRMs and SaaS apps, or non-engineers. There is no visual editor.
Restate alternatives
- Temporal: the most mature durable execution platform, MIT-licensed server, larger ecosystem.
- Inngest: event-driven durable functions; see Inngest vs Temporal.
- The workflow engine category page covers the wider field.
How Restate compares to Automatite
Restate is a runtime for engineers writing services; Automatite is a workflow automation platform with a visual builder, triggers, SaaS actions and error handling for business processes. Pick Restate when the process lives inside your own backend code. Pick a workflow automation platform when the process mostly moves data between business apps and should be editable by ops.
FAQ
Is Restate open source?
The source is public, but the runtime is licensed under the Business Source License 1.1, which restricts offering it as a public managed service. For internal use that restriction rarely matters.
Is Restate a Temporal alternative?
Yes. Both provide durable execution. Restate ships as a single binary and pushes invocations to your services over HTTP; Temporal uses a server cluster and workers that poll task queues.
Which languages does Restate support?
TypeScript, Python, Java, Kotlin, Go, Rust and Ruby.