The primitive for agent orchestration, real-time, and per-tenant databases
One Actor per agent, per session, per user. The same primitive powers realtime apps, multiplayer, and collaborative state.
One primitive, every stateful workload.
A lightweight primitive with powerful capabilities.
In-memory state
State lives with the Actor for local reads and writes. Persist with SQLite or bring a database.
Long-lived while active, sleeps when idle
Continue beyond one request, then sleep when idle.
Sleeps idle, fans out with demand
Each Actor is independently addressed and scheduled.
Regional placement
Configure Actor placement with Rivet Cloud or your own control plane.
WebSockets
Real-time bidirectional streaming built in.
Workflows layer
Add recorded multi-step operations with configured retries and waits.
Queues
Durable message queues for reliable async processing.
Scheduling
Timers and cron jobs within your actor.
Actors in action.
Each agent runs as its own actor with persistent context, memory, and the ability to schedule tool calls.
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!");How Actors Compare
Memory Per Instance
Read Latency
Idle Cost
Actors scale to zero with no idle infrastructure.
Horizontal Scale
Multi-Region
Observe the whole stack.
Inspect Actor state, SQLite data, workflow progress, events, and callable actions from the Rivet dashboard.
SQLite Viewer
Browse and query SQLite databases in real-time across actors and agent sessions
Workflow State
Inspect workflow progress, steps, and retries as they execute
Event Monitoring
Follow Actor actions, connection events, and application logs while debugging a run
REPL
Debug actors and agent sessions by calling actions, subscribing to events, and interacting directly with your code

The foundation the rest of Rivet builds on.
agentOS
Adds files, processes, a shell, and networking when an agent needs a computer. Every agentOS VM is an Actor.
Product overviewWorkflows
Adds recorded steps, retries, and replay for work that outlives a process. Every workflow is an Actor run handler.
Product overviewDynamic Apps
Deploys the apps your agents build. Every app runs as Actors that scale to zero and wake on demand.
Product overviewDevelop locally. Deploy your way.
Local
Install Actors and run it locally while you build.
Rivet Cloud
Deploy Actors on Rivet Cloud with managed infrastructure and persisted Actor data.
Open the dashboardSelf-Host
Run the open-source Rivet control plane as a Rust binary or container on your infrastructure.
Read self-hosting docsFrequently asked questions
Infrastructure for the agentic era.
Build with agents, build for agents, and run it where your data lives.