The primitive for
stateful workloads.
Rivet Actors are built for AI agents,
collaborative apps, and durable execution.



The Thinker
Auguste Rodin · modeled 1880
A lightweight primitive with powerful capabilities.
One Actor per agent, per session, per user — state, storage, and networking included.
Co-located with compute for instant reads and writes. Persist with SQLite or BYO database.
Long-lived when active, hibernates when idle.
Supports bursty workloads and is cost-efficient.
Deploy close to your users or in specific legal jurisdictions without complexity.
Real-time bidirectional streaming built in.
Multi-step operations with automatic retries.
Durable message queues for reliable async processing.
Timers and cron jobs within your actor.
See it in action.
One primitive that adapts to agents, workflows, collaboration, and more.
const agent = actor({
// In-memory, persisted state for the actor
state: { messages: [] },
// Long-running actor process
run: async (c) => {
// Process incoming messages from the queue
for await (const msg of c.queue.iter()) {
c.state.messages.push({ role: "user", content: msg.body.text });
const response = streamText({ model: openai("gpt-5"), messages: c.state.messages });
// Stream realtime events to all connected clients
for await (const delta of response.textStream) {
c.broadcast("token", delta);
}
c.state.messages.push({ role: "assistant", content: await response.text });
}
},
});const agent = client.agent.getOrCreate("agent-123").connect();
agent.on("token", delta => process.stdout.write(delta));
await agent.queue.send("hello!");Each agent runs as its own actor with persistent context, memory, and the ability to schedule tool calls.
How Actors Compare
Rivet Actors vs. traditional infrastructure.
Cold Start
Time to first request
Memory Per Instance
Overhead per instance
Read Latency
State read latency
Idle Cost
Cost when not in use
Horizontal Scale
Maximum capacity
Multi-Region
Deploy actors close to your users
Runs where you do.
Serverless, containers, or your own servers — Rivet Actors work with your existing infrastructure, frameworks, and tools.

Built-In Observability
Powerful debugging and monitoring tools that work seamlessly from local development to production at scale.
SQLite Viewer
Browse and query your actor's SQLite database in real-time
Workflow State
Inspect workflow progress, steps, and retries as they execute
Event Monitoring
See all events happening in your actor in real-time and track every state change and action as it happens
REPL
Debug your actor in real-time by calling actions, subscribing to events, and interacting directly with your code
Start local. Scale to millions.
RivetKit is a library. Connect it to Rivet Cloud or self-host when you need scaling, fault tolerance, and observability.
Just a Library
Install a package and run locally. No servers, no infrastructure. Actors run in your process during development.
Self-Host
Single Rust binary or Docker container. Works with Postgres, file system, or FoundationDB. Full dashboard included.
Rivet Cloud
Fully managed. Global edge network. Connects to your existing cloud — Vercel, Railway, AWS, wherever you already deploy.
- Global Edge Network
- Scales Seamlessly
- Connects To Your Cloud
Open source, permissively licensed.
Self-hosting matters for enterprise deployments, cloud portability, and avoiding vendor lock-in. Licensed Apache 2.0.
View on GitHubThe primitive for stateful workloads.
The next generation of software needs a new kind of backend. This is it.