Capability without always-on machines.
Can a million agents run without always-on machines?
Idle agents should cost like storage
Agents are mostly asleep, waiting on a person, a schedule, or an upstream job. A machine can't be stopped if stopping it destroys the agent, so where the state lives decides the bill: on a disk bolted to the machine, you rent the machine forever; in storage that travels with the compute, a sleeping agent holds bytes instead of a reserved machine. Cheaper, not free — storage, requests and the account minimum still bill.
Two harnesses, one set of primitives
A harness is the loop: the thing that holds the conversation, picks the next tool, and decides when the work is done. Ours is Vetta — one lead, a typed roster where an unknown assignee is a compile error, and a task board that survives the process that was coordinating it. You do not have to use it. Teams already run on Hermes instead, and both reach the same primitives and the same governance.
What differs is what the runtime can serve. The durable runtime answers most of the team surface; the Hermes runtime answers a smaller part of it and refuses the rest by name rather than failing quietly. Making a Hermes fleet go dormant between turns — the thing that would put it on the same cost footing as Vetta — is designed and costed, and not yet wired to a caller.
Idle and hibernatable are not the same
An agent waiting on a model response feels idle, but it is still bound to compute — a durable object can't sleep with a request open. We retracted an earlier metric that counted waiting as free. Dormancy removes the reserved machine; it does not remove the bill.
| State | Serverless | Always-on |
|---|---|---|
| Computing | in use | in use |
| Waiting on a model or tool | still bound | still bound |
| Dormant — no session | no reserved machine | machine reserved |
Where this loses
Kernel-resident agents — a coding session with a filesystem, a long tool loop — need a real sandbox that sleeps on a timer, not a condition, so they look like the always-on model. Busy fleets erode it too: high duty means little dormancy to save. The advantage is dormancy, and only dormancy.
Cost of hosting 1 million agents per month
The runtimes you would self-host are always-on, single-tenant shapes: the box runs whether the agent does or not. Every one of them is free to licence — what costs money is keeping 100,000 of them awake.
| System | 1M agents / mo | Per agent | Idle |
|---|---|---|---|
| Naïve Vetta · serverless | ~$44–60kmodelled | ~1 MB statemodelled | Storage onlyno compute |
| Self-host Hermes | ~$740kmodelled | 2 vCPU · 4 GBper tenant box | Billed 24/7 |
| Self-host OpenClaw | ~$1.5Mmodelled | 8 GBbrowser skills | Billed 24/7 |
| Self-host Paperclip | ~$1.5M+workers, plane unpriced | Worker runtimeorchestrator only | Billed 24/7 |
| Self-host Eve | ~$740k++ Postgres | 2 vCPU · 4 GBper tenant box | Billed 24/7 |
| Self-host Pi | — | Libraryyou build the fleet | Billed 24/7 |
| VM per tenant · AWS | ~$14Malways-on | Whole VM | Billed 24/7 |
| Cloudflare DO | — | 128 MBbilled whole | ≤15 min hold |
Modelled, never billed · 100,000 tenants × 10 agents · no self-host project publishes a minimum spec, so the box size on those rows is an assumption we chose, not a figure they state · licence $0 on every self-host row · Paperclip's shared control plane is unsized and unpriced · model tokens and your own ops time excluded, and they fall on every row alike · July 2026
What you get before you write any glue.
Every runtime below is open source and free to licence, and several of them beat us on rows we put here ourselves. The question is not price, it is how much of a fleet each one hands you and how much you assemble yourself.
| Capability | Naïve | Hermes | OpenClaw | Paperclip | Eve | Pi |
|---|---|---|---|---|---|---|
| Managed hosting, no box to keep alive | Staging | — | — | — | Vercel deploy | — |
| Task board across many agents | ✓ | ✓ | — | Org chart | — | — |
| Durable execution, resumes mid-task after a crash | Lease requeue | — | ✓ | Heartbeat resume | ✓ | — |
| Memory that survives the session | ✓ | ✓ | ✓ | Org state | ✓ | — |
| Sandboxed code execution | ✓ | ✓ | ✓ | Your runtime | ✓ | — |
| Messaging channels out of the box | Email, SMS, voice, social | ✓ | ✓ | Tasks, comments | ✓ | Separate repo |
| Scheduled work | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| Human approval gates | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| Every model and tool call checked against policy | ✓ | Tool deny rules | Tool policy | Exec policies | Token budgets | — |
| Agent wallet and payments | ✓ | — | — | — | — | — |
| Per-agent identity and managed credentials | ✓ | — | ✓ | ✓ | Per-user principals | — |
| Audit trail of what each agent did | ✓ | Approval history | ✓ | ✓ | Via hooks | — |
| Skills — reusable capability packs the agent loads on demand | SKILL.md subset | ✓ | ✓ | ✓ | ✓ | ✓ |
| The agent writes and improves its own skills | — | ✓ | ✓ | Agent-authored | — | On request |
| A process that outlives one call — build, dev server, test run | — | ✓ | ✓ | Workspace services | ✓ | — |
| Spend visible per agent | ✓ | ✓ | ✓ | ✓ | Token usage | ✓ |
| A console for watching and directing the fleet | ✓ | ✓ | ✓ | ✓ | Terminal UI | — |
| Run it yourself, on your own box, under an open licence | — | ✓ | ✓ | ✓ | ✓ | ✓ |
| Agents hand work to each other, not only up and down a tree | ✓ | Kanban peers | — | — | — | — |
| The whole team in one file you can review before it ships | ✓ | — | — | Org chart UI | Code-first | — |
| Every result graded against your rubric, not just returned | ✓ | — | — | — | — | — |
| A tamper-evident record you could hand to an auditor | Hash-linked | — | — | Immutable log | — | — |
| A retry cannot double-charge or double-send | Cooperative | — | — | — | Step checkpoints | — |
| A spend cap that stops the agent, not a bill you find later | Untested live | — | — | Hard stops | Token budgets | — |
| Full coverage | 14/24 | 12/24 | 14/24 | 8/24 | 9/24 | 3/24 |
Compiled from each project's own docs, README and roadmap, 29 July 2026 · six rows are drawn from what these projects lead with rather than from what we ship, and we lose three of them · partials are the vendor's own scope, not a rounded tick · our column is the runtime we ship on, where the peer board and the fenced effects run: cross-tenant isolation is built and tested and has placed a real tenant on staging, but not on a production account; the attempt chain is hash-linked and nothing yet verifies it; and no run has hit a spend cap in production · nothing in this table was run by us
- Technical reportBuilding Towards the Most Efficient Agent Loop InfrastructureRead
- Coming soonServerless Agents Without Machines: Scale-to-Zero for Fleets of Mostly-Idle Agents
- Status
- Research
- Focus
- Idle cost, resume, and coordination
- Harnesses
- Vetta or Hermes
- Surface
- Early / evolving
- Papers
- Serverless Agents Without Machines (preprint)