AIec

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

MetricMeasured
Sandbox runtimeFrom creation until destroy
vCPUAllocated vCPU × seconds
MemoryAllocated GiB × seconds
Workspace storageBytes held by live sandboxes
Snapshots and artifactsBytes retained in object storage
CommandsExec 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.

QuotaWhat it stops
Active sandboxesA runaway agent accumulating machines
vCPUOne sandbox requesting a very large machine
MemoryThe same, by RAM
DiskUnbounded workspace growth
Request rateOne tenant exhausting the API for everyone
Sandbox lifetimeA 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