FAQ
<details> <summary><b>Does Rivet have BYOC?</b></summary>
Yes. Rivet deploys into your own cloud account, including air-gapped environments: the control plane and storage run inside your VPC while Rivet operates them. See the BYOC docs.
</details>
<details> <summary><b>Does Rivet have a cloud?</b></summary>
Yes. Rivet Cloud is fully managed. It can run your Actors for you on Rivet Compute, with preview deployments and auto-scaling in edge regions, or you can bring your own worker and run Actors on your compute while Rivet Cloud provides the control plane and routing layer.
</details>
<details> <summary><b>Can I self-host Rivet?</b></summary>
Yes. Rivet is fully self-hostable; see the self-hosting docs. For enterprise support with a self-hosted deployment, contact us.
</details>
<details> <summary><b>Is Rivet open-source?</b></summary>
Yes. Rivet is open source under the permissive Apache 2.0 license. You're looking at it.
</details>
<details> <summary><b>How does Rivet compare to Kubernetes?</b></summary>
Rivet is an orchestrator for stateful Actors. Think of an Actor like a pod, but much smaller, more lightweight, and faster to start. Each Actor also comes with SQLite for structured persistence, instead of or in addition to a filesystem, which gives it more flexibility than a Kubernetes pod.
</details>
<details> <summary><b>How does Rivet compare to Cloudflare Durable Objects?</b></summary>
Rivet is often used as an open-source alternative to Cloudflare Durable Objects that is easy to self-host and scales. It also fixes many of the constraints of Durable Objects: no 128 MB memory cap, no 10 GB SQLite limit, Actors are not randomly evicted, and you control the runtime because Actors run on vanilla Node.js or Bun instead of a custom runtime. Rivet also adds built-in connection handling, event broadcasting, durable scheduling and cron, full Vitest support, lifecycle hooks for draining, and control over Actor upgrades. See the Cloudflare Durable Objects comparison.
</details>
<details> <summary><b>Does Rivet use a custom V8 runtime?</b></summary>
No. Rivet runs on native Node.js and Bun, so your existing packages, tooling, and tests work unchanged.
</details>
<details> <summary><b>Does Rivet support Bun?</b></summary>
Yes. Rivet supports Bun in addition to Node.js.
</details>
<details> <summary><b>Does Rivet support Effect?</b></summary>
Yes. Rivet Actors work with Effect; see the Effect agent example.
</details>
<details> <summary><b>Is Rivet like Erlang, Akka, or Orleans?</b></summary>
Rivet implements the virtual actor pattern, which is closest to Orleans, but focuses on what modern workloads need: SQLite persistence instead of simple JSON stores, multi-region routing, and support for modern runtimes. Erlang and Akka do not provide virtual actors out of the box, though ecosystem packages exist that offer functionality comparable to Rivet Actors.
</details>
<details> <summary><b>Does Rivet require microVMs, gVisor, or nested virtualization?</b></summary>
No. Rivet only needs a standard process that connects to the control plane over WebSocket. That process can be Node.js, Bun, Rust, or anything else.
</details>