Stop your agents
from fighting over
work, quotas,
and spend.
runstate gives every agent in your swarm a plug and play shared place to coordinate tasks, rate limits, budgets, and results across processes and machines.
The coordination backbone for the future of agent swarms, built to work with the infrastructure and runtimes you already have.
Do the work once. Even when agents fail.
Ten agents can reach for the same task. Only one should do it.
Agents asking for the same result join the same work instead of starting it again.
If the worker disappears halfway through, another takes over. If the old worker comes back late, it can't overwrite the result.
One piece of work. One result. However many agents asked for it.
Share capacity across the whole swarm.
Your agents might run across ten machines. Your APIs, browsers and GPUs still have the same limits.
Give the swarm one quota or pool to share. When capacity runs out, agents wait instead of retrying together.
If a task needs several resources, it starts when everything it needs is available.
No stampedes. No one worker hoarding the last slot.
Give the swarm a budget.
A hundred agents shouldn't get a hundred independent chances to overspend.
Agents reserve budget before expensive work starts, settle the real cost when they're done, and release the rest.
When there's not enough left, the next piece of work doesn't start.
One budget, shared by every participating agent.
Decide when the work is done.
Sometimes you need every answer. Sometimes you need five good ones. Sometimes the first accepted result is enough.
Tell runstate what done means. Once you get there, it stops handing out unnecessary work.
Cancel the run manually and the same rule applies everywhere at once.
Stop the swarm once. Not worker by worker.
See the swarm as one system.
When fifty agents are running across ten machines, fifty sets of logs aren't much help.
See who owns each task, what is waiting, where capacity is full, how much budget is left, and every takeover or decision that got you there.
One view of the state every agent is sharing.
Use the agents
you already have.
runstate plugs into the agents you already run.
Add coordination wherever your existing Python or TypeScript agents need it.
npm install runstate-sdkpip install runstate-sdkimport { Runstate } from 'runstate-sdk';const run = await new Runstate().scopes.create();await run.claim('company:acme').run(async () => { await researchCompany('acme');});await run.quota('search-api').take();const spend = await run.budget('research-usd').reserve({ amount: '0.40' });await spend.settle({ amount: cost.usd, usageKey: cost.requestId });All your agents.
One shared state.
Join the coordination backbone for the future of agent swarms.