Skip to main content

Rivet Actors vs
Cloudflare Durable Objects

Cloudflare Durable Objects provide stateful primitives for applications built on the Workers runtime. Rivet Actors provide an Apache-licensed Actor model with state, SQLite, scheduling, and realtime, available through Rivet Cloud or as a self-hosted deployment.

Last updated June 11, 2026

Two approaches, side by side

What each platform is, and the situations where it is the right choice.

Rivet Actors

Rivet Actors combine durable identity, state, storage, scheduling, and realtime connections in an Apache-licensed runtime. Deploy on Rivet Cloud or self-host Rivet.

When to choose Rivet Actors
Developer-friendly experience
When you want an intuitive platform with high-quality documentation, mature local development experience, and in-depth observability into your workloads
Rivet Cloud or self-hosted
When you want a managed Rivet deployment or documented self-hosting paths for Kubernetes, AWS, VMs, and other supported platforms
Technology flexibility
When you want Node.js, Bun, or Deno support, with a Rust SDK available in preview
Provides monitoring and observability
When you need built-in monitoring for actors that integrates with your existing observability stack
Rich ecosystem of integrations
When you want a comprehensive ecosystem with ready-to-use integrations for popular frameworks and tools

Cloudflare Durable Objects

Cloudflare Durable Objects provide stateful serverless computing that runs on Cloudflare's global edge network. Built on Cloudflare's platform, Durable Objects offer strong consistency and state persistence for applications built on the Workers runtime.

When to choose Cloudflare Durable Objects
Already using Cloudflare ecosystem
When you're already committed to Cloudflare Workers and want stateful capabilities
Building on the Workers runtime
When your team is comfortable working within the Workers runtime, with JavaScript/TypeScript, Python in beta, or Rust via workers-rs, and nodejs_compat covers the npm packages you need
Don't mind platform constraints
When you're comfortable with Cloudflare's deployment process, monitoring limitations, and vendor lock-in
Prefer low-level primitives
When you want raw primitives and don't need a rich ecosystem of framework integrations

Feature comparison

A detailed breakdown of capabilities across both platforms.

Feature
Rivet Actors
Cloudflare Durable Objects
Why it matters
Open Source
Open-source
Yes, Rivet is open-source with the Apache 2.0 license. View on GitHub.
The workerd runtime is open source under Apache 2.0, but the Durable Objects platform (control plane, storage, distribution) is proprietary
Building your core technology on open-source software is vital to ensure portability and flexibility as your needs change
Infrastructure
Deployment options
Rivet Cloud plus documented self-hosting paths for Kubernetes, AWS, VMs, and other supported platforms
Locked to Cloudflare's infrastructure
Deployment choice determines operational ownership, network boundaries, and portability
Data sovereignty and VPC isolation
Full control over data residency and network isolation within your VPC
Jurisdictions restrict where Durable Objects run and store data (EU, FedRAMP), but there is no VPC or network isolation
Data sovereignty ensures compliance with data governance requirements and maintains complete network isolation
Deployment model
Deploy through Rivet Cloud or follow a documented self-hosting guide
Requires Cloudflare-specific deployment process
A documented deployment model makes operating requirements explicit
Technology flexibility
TypeScript and JavaScript on Node.js, Bun, and Deno, with a Rust SDK in preview
Limited to Workers runtime languages (JavaScript/TypeScript, Python in beta, Rust); nodejs_compat covers many npm packages but not native dependencies
Technology flexibility lets you use your existing skills and codebase
Integrates with existing monitoring
Works with your existing observability stack
Limited monitoring options, mostly Cloudflare-specific
Integration with existing monitoring reduces operational overhead
Runtime
Actor support
First-class actor model with Rivet Actors library
Durable Objects for stateful workloads
Actor model enables scalable stateful applications with state persistence and realtime communication
KV Persistence
Built-in KV storage for actors
KV supported for Durable Objects
Key-value storage enables persistent state without external dependencies
SQLite Persistence
Built-in SQLite database per actor with raw SQL and Drizzle support. Learn more.
SQLite supported for Durable Objects
SQLite provides relational database capabilities for complex data models
Memory limits
No fixed platform memory cap; memory is bounded by the resources provisioned for the deployment
128MB limit for Durable Objects
Higher memory limits allow more complex stateful applications
Automatic connection handling
Optionally provides abstraction over HTTP and WebSockets with intelligent failure and reconnection handling
Requires low-level implementation of connection management
Automatic connection handling reduces development time and improves reliability
Event broadcasting
Built-in event broadcasting to specific connections or all actors
Requires hand-rolling fanout over the WebSocket API or adopting a framework like PartyServer
Native event system enables real-time features with minimal setup
Built-in scheduling
Built-in scheduling with durable timers and cron
Requires boilerplate on top of Alarms API
Native scheduling reduces complexity and improves reliability for time-based operations
Testing support
Full Vitest support with mocking and fake timers
Limited Vitest support due to custom runtime constraints
Comprehensive testing capabilities ensure code quality and reliability
Customizable actor lifecycle
Flexible draining mechanism with configurable lifecycle management
No shutdown hooks or lifecycle callbacks; in-flight requests get up to 30 seconds during runtime restarts
Customizable lifecycle management allows for graceful state transfers and prevents data loss
Control over actor upgrades
Full control based on your existing rollout mechanisms
Only allows controlling gradual deployment percentages, not specific Durable Object versions
Controlled upgrades ensure smooth transitions without service disruption tailored to your application's architecture
Actor creation with input data
Pass initialization data when creating actors
Cannot pass input data during Durable Object creation
Ability to initialize actors with data simplifies setup and reduces boilerplate
Actor shutdown control
Clean shutdown API for actors
Requires deleteAll with custom logic and error-prone boilerplate
Proper shutdown control ensures graceful cleanup and prevents resource leaks
Monitoring
Built-in monitoring for development and production
Per-namespace Durable Objects metrics and GraphQL analytics in the Cloudflare dashboard
Integrated monitoring simplifies operations and debugging
Logging
Supports your existing logging infrastructure
Durable Object logs are available through Workers Logs, wrangler tail, and Logpush
Built-in logging reduces setup time and operational complexity
Metadata access
Built-in metadata API
Custom implementation required
Direct access to metadata such as tags, region, and more simplifies management and deployment
Developer Tooling
State inspector
Built-in tools to inspect and modify actor state
Data Studio can view and edit SQLite-backed Durable Object storage from the dashboard; in-memory state is not inspectable
Ability to view & edit actor state in real time simplifies debugging and management
RPC debugger
Interactive RPC testing tools for actors
No built-in RPC debugging
Ability to test remote procedure calls to actors accelerates development and troubleshooting
Connection inspector
Real-time monitoring of actor connections
No connection visualization tools
Visibility into active connections helps diagnose client-side issues and monitor usage patterns
Actor listing and management
Browse and manage active actors with full interaction capabilities
Can list Durable Objects but cannot interact with them
Being able to list and interact with live actors enables debugging and operational management
Development Experience
Documentation
Comprehensive, developer-focused documentation
Fragmented and difficult to understand documentation
Clear documentation accelerates learning and implementation
Compatible with Docker Compose
Seamless integration with Docker Compose for local development
No Docker Compose compatibility
Integration with Docker Compose enables use with your existing development workflows and tools

Which should you pick?

Choose Cloudflare Durable Objects when the Workers runtime and Cloudflare platform match your application. Choose Rivet Actors when you want an Apache-licensed Actor runtime with Rivet Cloud and self-hosted deployment options.

Migrating from Cloudflare Durable Objects?

Our team can help make the transition smooth and seamless. We provide migration assistance, technical guidance, and dedicated support.

Frequently asked questions

Infrastructure for the agentic era.

Build with agents, build for agents, and run it where your data lives.