# Restate (slim) > Durable execution runtime from Restate GmbH in Berlin, run as Restate Cloud, in the customer's own cloud account or self-hosted. Handlers pause on durable promises (awakeables and signals) and resume when a person answers over HTTP. - Full: https://www.anchorterminal.com/tools/restate.md (~6,950 tokens) · this version ~1,730 tokens · JSON https://www.anchorterminal.com/tools/restate.json · canonical https://www.anchorterminal.com/tools/restate - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · Updated: 2026-10-08 **BB · 73.3/100 · rank #78 of 722 · #3 in Human approval & handoff · agent-ready · confidence medium** Assessment: An awakeable pauses a handler at no compute cost and resumes it from one HTTP request, with a durable timeout, on a free plan of 100,000 actions a month. Restate sends nothing to the approver, so the Slack message, email or inbox is the builder's code, and the published terms and privacy statement predate the paid plans. ## Facts - Kind: Model platform · vendor: Restate GmbH · category: Human approval & handoff · legal entity: Restate GmbH · provenance 54/100 - Local only (HTTP): npm `@restatedev/restate-sdk`, pypi `restate-sdk`, npm `@restatedev/restate-sdk-clients` - Auth: API key · pricing: Freemium · x402: no · licence: BSL 1.1 converting to Apache-2.0 four years after release (server), MIT (SDKs) - Probe metrics: not measured yet (probes haven't run) - Ways to run it: Restate Cloud (managed, US or EU region, self-serve), Restate BYOC (managed in the customer's AWS or GCP account, set up with the Restate team) or the self-hosted server, a single binary - How the answer arrives: `POST /restate/awakeables//resolve` or `/reject` on the ingress, or `ctx.resolveAwakeable()` from another handler. Signals and workflow promises are resolved from handlers - Timeouts: Set in code with `orTimeout` on the promise. The timer is durable. No default timeout on an awakeable - Channels: None built in. The docs name Slack, email and a dashboard as places the builder sends the awakeable ID - Audit: Each invocation's journal in the UI and by SQL, kept 1 day on Free, 3 on Starter, 7 on Business and 30 on Premium. OTEL export from Business. No record of who resolved an awakeable was found - Credentials: Restate Cloud API keys (`key_...`) with a role, sent as a Bearer token. ED25519 request signing from Restate to services. None on a self-hosted server - Free plan: 100,000 actions a month, 10 actions a second with bursts to 100, 1 GB of storage, 1-day history, community support, no card - Retries: `Idempotency-Key` header on calls and sends with 24-hour retention by default. Retry ingress errors on 408, 425, 429 and 5xx - SDKs: TypeScript 1.17.2 (21 September 2026), Python 1.0.5 (2 September 2026), Java and Kotlin, Go and Rust, all MIT - Coding agent tooling: A plugin and skills in restatedev/skills and a docs MCP server at https://docs.restate.dev/mcp. Both cover documentation, not running environments - Certifications: SOC 2 Type I with a Type II audit under way, per the BYOC docs. HIPAA BAA as a paid add-on from Business - Prices: Starter plan $75 per month (plan); Business plan $300 per month (plan); Premium plan $1000 per month (plan); Extra durable actions on Starter and Business $0.025 per 1,000 tool calls; Extra virtual object storage $0.50 per GB per month - Scores: Reliability 91, Performance pending, Schema & documentation 85, Agent ergonomics 81, Security & auth 61, Payments & pricing 40, Task success pending, Maintenance & community 92, Transparency & trust 50 · total over the 7 assessed categories - Why: Reliability, Graded as Restate Cloud, the hosted service, with the hosted lines. · Schema & documentation, OpenAPI 3.1 for the Admin API, 28 paths, at docs.restate.dev/schemas/openapi-admin.json, and the server generates an OpenAPI 3.1 definition… · Agent ergonomics, No MCP server for operating Restate was found, so the surface is the HTTP ingress and Admin API. · Security & auth, Graded as Restate Cloud. · Payments & pricing, No machine payment protocol (0). · Maintenance & community, Server v1.7.13 tagged on 1 October 2026 and v1.8.0-rc.1 on 2 October (30). · Transparency & trust, Server under BSL 1.1 with a grant for production use other than a public Restate platform service, converting to Apache-2.0 four years after… - Sources: 25, open questions: 7, both in the full twin - Capabilities: hitl.approve, hitl.ask, agent.durable, automation.workflows, automation.code - JSON: https://www.anchorterminal.com/api/v1/tools/restate.json - Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/restate.svg` or a link to https://www.anchorterminal.com/tools/restate from a page on restate.dev or one of its subdomains, or the README of github.com/restatedev/restate, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin. ## Before you call it 1. Create the awakeable, send its ID inside `ctx.run`, then await the promise, so a retry doesn't send a second approval request 2. Resolve with `POST /restate/awakeables//resolve` and a JSON body, or `/reject` with a text reason, which throws a terminal error in the handler 3. On Restate Cloud send `Authorization: Bearer key_...` to `https://.env..restate.cloud:8080`. On a self-hosted server put an authenticating proxy in front of port 8080 4. Wrap the wait in `orTimeout` and decide what a timeout means. Without it the handler waits with no limit 5. Retry ingress errors only on 408, 425, 429 or 5xx, and only when `x-restate-error-source` isn't `invocation` ## Connect ```bash npm install --global @restatedev/restate-server@latest @restatedev/restate@latest ``` ```bash curl localhost:8080/restate/awakeables/sign_1M28aqY6ZfuwBmRnmyP/resolve --json 'true' ``` ```bash claude mcp add --transport http restate-docs https://docs.restate.dev/mcp ``` ## Similar tools | Tool | Grade | Score | Shared capabilities | Slim | | --- | --- | --- | --- | --- | | Temporal | BB | 77.2 | hitl.approve, hitl.ask, agent.durable, automation.workflows, automation.code | https://www.anchorterminal.com/tools/temporal.min.md | | Trigger.dev | BB | 74.7 | hitl.approve, hitl.ask, agent.durable, automation.workflows, automation.code | https://www.anchorterminal.com/tools/trigger-dev.min.md | | Inngest | B | 66 | hitl.approve, hitl.ask, agent.durable, automation.workflows, automation.code | https://www.anchorterminal.com/tools/inngest.min.md | | Orkes Conductor Human tasks | C | 54 | hitl.approve, hitl.ask, agent.durable, automation.workflows | https://www.anchorterminal.com/tools/orkes-conductor.min.md | | Pipedream API + MCP | B | 65.5 | automation.workflows, automation.code | https://www.anchorterminal.com/tools/pipedream.min.md | ## Panel reviews (0, desk reviews from public material, no calls made)