Agent Workforce(vetta · serverless agents)Research

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.

StateServerlessAlways-on
Computingin usein use
Waiting on a model or toolstill boundstill bound
Dormant — no sessionno reserved machinemachine reserved
Only the dormant state differs

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.

Benchmarks

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.

System1M agents / moPer agentIdle
Naïve Vetta · serverless~$44–60kmodelled~1 MB statemodelledStorage onlyno compute
Self-host Hermes~$740kmodelled2 vCPU · 4 GBper tenant boxBilled 24/7
Self-host OpenClaw~$1.5Mmodelled8 GBbrowser skillsBilled 24/7
Self-host Paperclip~$1.5M+workers, plane unpricedWorker runtimeorchestrator onlyBilled 24/7
Self-host Eve~$740k++ Postgres2 vCPU · 4 GBper tenant boxBilled 24/7
Self-host PiLibraryyou build the fleetBilled 24/7
VM per tenant · AWS~$14Malways-onWhole VMBilled 24/7
Cloudflare DO128 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.

CapabilityNaïveHermesOpenClawPaperclipEvePi
Managed hosting, no box to keep aliveStagingVercel deploy
Task board across many agentsOrg chart
Durable execution, resumes mid-task after a crashLease requeueHeartbeat resume
Memory that survives the sessionOrg state
Sandboxed code executionYour runtime
Messaging channels out of the boxEmail, SMS, voice, socialTasks, commentsSeparate repo
Scheduled work
Human approval gates
Every model and tool call checked against policyTool deny rulesTool policyExec policiesToken budgets
Agent wallet and payments
Per-agent identity and managed credentialsPer-user principals
Audit trail of what each agent didApproval historyVia hooks
Skills — reusable capability packs the agent loads on demandSKILL.md subset
The agent writes and improves its own skillsAgent-authoredOn request
A process that outlives one call — build, dev server, test runWorkspace services
Spend visible per agentToken usage
A console for watching and directing the fleetTerminal UI
Run it yourself, on your own box, under an open licence
Agents hand work to each other, not only up and down a treeKanban peers
The whole team in one file you can review before it shipsOrg chart UICode-first
Every result graded against your rubric, not just returned
A tamper-evident record you could hand to an auditorHash-linkedImmutable log
A retry cannot double-charge or double-sendCooperativeStep checkpoints
A spend cap that stops the agent, not a bill you find laterUntested liveHard stopsToken budgets
Full coverage14/2412/2414/248/249/243/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

Papers
About this note
Status
Research
Focus
Idle cost, resume, and coordination
Harnesses
Vetta or Hermes
Surface
Early / evolving
Papers
Serverless Agents Without Machines (preprint)

Follow the work

Early Lab. Papers and findings land here when they clear the gate.