Usage and quotas
You can always see what you have used and what you have left. Quotas are enforced when a sandbox is placed, not billed after the fact.
What counts as usage
| Metric | Measured |
|---|---|
| Sandbox runtime | From creation until destroy |
| vCPU | Allocated vCPU × seconds |
| Memory | Allocated GiB × seconds |
| Workspace storage | Bytes held by live sandboxes |
| Snapshots and artifacts | Bytes retained in object storage |
| Commands | Exec invocations, for visibility not billing |
Reading your usage
af = AIec(api_key="af_live_...")
usage = af.usage()
print(usage)
curl https://api.aiec.gobrowse.dev/v1/usage \
-H "Authorization: Bearer af_live_..."
Quotas
Every tenant has limits. They are checked inside the same transaction that places a sandbox, so two concurrent creates cannot both slip past the limit.
| Quota | What it stops |
|---|---|
| Active sandboxes | A runaway agent accumulating machines |
| vCPU | One sandbox requesting a very large machine |
| Memory | The same, by RAM |
| Disk | Unbounded workspace growth |
| Request rate | One tenant exhausting the API for everyone |
| Sandbox lifetime | A machine left running forever |
Exceeding an aggregate quota returns 429 quota_exceeded. Exceeding
the request rate returns 429 rate_limited with a
Retry-After header.
Stopping runaway agents
Short default lifetime
Sandboxes time out on their own. A hung agent does not hold a machine forever.
Hard maximum lifetime
There is an absolute ceiling no single sandbox can exceed, whatever it requests.
Global budget
Cloud runs against a global execution budget. When it is reached, new
creation stops cleanly and you get
TEMPORARY_CAPACITY_UNAVAILABLE.
We never overage silently
If capacity or the budget runs out, AIec stops creating sandboxes and tells you. It does not enable automatic overage, upgrade a plan, or add a payment method. Existing sandboxes follow the documented policy for their remaining lifetime.
Reduce your usage
- Destroy sandboxes you are finished with. An idle sandbox still costs.
- Request the smallest machine that runs your workload.
- Use snapshots to resume work instead of keeping a sandbox alive.
- Give each agent its own key so you can revoke one noisy workload cleanly.