Brought to you by Resonate
Everything durable execution needs, expressed in the primitives NATS already gives you — JetStream for state, pub/sub for transport.
If NATS is already your backbone, durable execution doesn't have to be a separate system beside it. Resonate HQ built a durable-execution server on NATS JetStream: JetStream KV holds the state, pub/sub moves the messages, and the broker you already run is the only dependency.
Durable execution is a protocol, not a product
Any platform that can provide durable storage and an atomic compare-and-swap can implement the Resonate protocol — and NATS does it natively. No layers borrowed from anywhere else: NATS is the provider.
Why NATS
JetStream KV holds the state, pub/sub moves the messages, and durable timers fire via JetStream's built-in message scheduler. There's no second datastore, transport, or scheduling service besides the broker you already operate.
Workload distribution maps onto the NATS partitioning model, and the atomic compare-and-swap and outbox primitives the protocol needs are built directly on JetStream KV.
NATS-native
Storage, transport, scheduling — all of it stays inside NATS. To connect a worker, bring a NATS connection and hand it to NatsNetwork in the Resonate SDK — the rest of the API is unchanged. TypeScript and Python today; for other languages or HTTP bridging, tell us what your stack needs when you sign up.
What's true today
Sign up and we'll help you stand it up on the NATS deployment you already run — and your stack shapes what gets built next.
We value your privacy
We use strictly necessary cookies to run this site. With your consent we also use Google Analytics to understand traffic. We do not load analytics until you choose to allow it. Privacy Policy.