Rivet

Stateful serverless actors that run indefinitely, sleep when idle, and persist state across restarts without external database round trips. Rivet provides a vendor-neutral alternative to Cloudflare Durable Objects, delivering long-running processes with co-located in-memory state and per-actor SQLite databases on any infrastructure you choose. The Rust engine comprises four packages: Pegboard for actor orchestration, Gasoline for durable execution, Guard for traffic routing via Envoy, and Epoxy implementing multi-region KV storage through EPaxos consensus. Each actor maintains instant-access in-memory state plus a dedicated SQLite database for relational queries, backed by RocksDB on single nodes or PostgreSQL with NATS pub/sub for multi-node clusters. RivetKit SDKs in TypeScript, Rust, and Python support built-in WebSocket connections, task queues, scheduling, and CRDT-based real-time collaboration. The v2.3 rewrite moved the core runtime from JavaScript to native Rust via WebAssembly, eliminating main-thread blocking across Node.js, Bun, Deno, and Cloudflare Workers. A built-in dashboard provides actor inspection with real-time Prometheus metrics. Deploys as a single Docker container on port 6420 with optional PostgreSQL for persistence. Available on RepoCloud with a dedicated VPS under the Apache 2.0 license.

Rivet
Rivet

Benefits

  • Stateful Serverless With Persistence
  • Actors maintain co-located in-memory state with per-actor SQLite databases that survive restarts, crashes, and deployments without external database round trips or cold start penalties.
  • Rust Engine Native Performance
  • Single Rust binary orchestrates actors via Pegboard with Gasoline durable execution, Guard traffic routing, and Epoxy EPaxos consensus for multi-region key-value storage.
  • Open Source Durable Objects Alternative
  • Apache 2.0 licensed actors deploy on any infrastructure including Docker, Kubernetes, AWS, Vercel, and Railway without Cloudflare vendor lock-in or platform constraints.
  • Built-In Real-Time Communication
  • Native WebSocket support per actor eliminates external pub/sub dependencies while enabling CRDT collaborative editing, shared cursors, and live dashboard updates with zero configuration.

Features

  • Long-Running Stateful Actors
  • Each actor maintains persistent in-memory state, runs indefinitely when active, hibernates when idle, and scales to zero with automatic restart on failure.
  • Per-Actor SQLite Database
  • Every actor includes a dedicated SQLite instance backed by Rust-native engine for relational queries, transactions, and structured persistence without external databases.
  • Multi-Runtime SDK Support
  • RivetKit TypeScript runs on Node.js, Bun, Deno, and Cloudflare Workers via WebAssembly with experimental Rust and Python SDKs for polyglot deployments.
  • Single Docker Container Deploy
  • Rivet Engine ships as rivetdev/engine image exposing port 6420 with RocksDB for single-node or PostgreSQL plus NATS for multi-node production clusters.
  • Actor Debugging Dashboard
  • Built-in inspector UI provides real-time visibility into actor state, lifecycle events, connections, and Prometheus-format metrics for operational monitoring.