Budgets and billing
Money on this platform is a cap at three levels and a meter underneath. The caps are yours to set and the thing to set first: an agent with a tool loop and no ceiling can spend in an hour what a month was meant to.
Three caps
| level | where | what it does when reached |
|---|---|---|
| a run | budget: 6 in a flow’s frontmatter |
checked between groups — the group that crosses it is the last that runs, the rest are skipped as “over budget”, and the run fails saying so |
| a workspace, per month | budget: 60 in the workspace’s AGENTS.md, or Settings |
new runs refuse until the month turns |
| the account, per month | budget: 500 in the account’s AGENTS.md, or Settings |
the same, for everything |
A cap is a literal, never an expression, so it is readable off the file. The run cap is checked between groups and not mid-step: a step in flight is money already committed, and stopping it half-way keeps the cost and loses the work.
Size the run cap from the run records, at two or three times the median — real work never trips it, a runaway fails in the group after it went wrong, and the failure notification says why. The dashboard’s Usage page shows spend by workspace and by meter.
What is metered
The hosted platform bills a flat monthly base fee per account — seats are unlimited; agents work, people supervise, and a per-seat fee would tax the approver the safety story depends on — plus three meters:
| meter | what it counts |
|---|---|
| tokens | model usage at cost, times a margin. Bring your own key and the margin does not apply — a BYOK step is billed nothing for tokens |
| compute | sandbox seconds: what a step reserved (cores and memory, while it ran) and what it actually burned |
| storage and network | GB-months in the file store, accrued daily; GB the sandbox moved, both directions |
There is deliberately no per-step fee. Steps are sandbox-seconds, so a step fee would charge compute twice and punish a well-factored flow for having more, smaller steps.
The wallet
Usage is settled from a credit balance. Add credit by card, once or with auto top-up; set a low-balance email so the empty wallet is never a surprise. With billing on, an empty balance refuses new runs — runs in flight finish. Every run is charged exactly once; the ledger is a database table with that as a constraint, not a promise.
Plan gates
Two more limits come with the plan rather than the wallet: how many
workspaces an account may create (beyond it, creation refuses with 402),
and how many runs may execute in parallel (beyond it, runs wait — they
are never refused, because a queued run is work that will happen and a
refused one is work that will not).
Self-hosted
Everything above is configuration. FOLDRUN_BILLING=1 turns metering on;
the base fee, the margin, the compute rates, the plan gates and the retention
window are environment variables — see Environment. Left off,
the platform runs with the caps and without the meter, which is the right
shape for a single team paying its own model bill.