Sandboxes

Limits & quotas

Every number on this page is enforced server-side and reported live by GET /v1/sandboxes/limits (or Sandbox.limits() in the SDKs) for the calling token's tier. When in doubt, trust the API over this page - it is the same source the enforcement reads.

The three tiers
Free - a verified email, no card. Pay as you go - a card on file; compute is metered past the one-time trial credit. Enterprise - contract accounts with dedicated capacity. The tier is a property of the account, not a subscription you pick - adding a card moves you to pay as you go.

Per-tier limits

LimitFreePay as you goEnterprise
Sandbox sizessmall onlysmall, medium, largesmall, medium, large
Concurrent RAM budget2 GB (~2 small)32 GB128 GB
Max sandbox lifetime30 minutes24 hours24 hours
Paused sandboxes held at once11050
Paused snapshot retention7 days30 daysno expiry
Custom templates11550
Persistent volumes11050
Total provisioned volume storage10 GB200 GB2 TB
Custom egress allowlistyesyesyes
Public preview URLsnoyesyes

Sandbox sizes

SizevCPUMemoryAvailability
small1 vCPU1 GB RAMdefault size
medium2 vCPU4 GB RAMpaid tiers
large4 vCPU8 GB RAMpaid tiers

The concurrent RAM budget is the real concurrency gate: a create is refused once the sum of your live (non-paused) sandboxes' memory plus the new one would exceed it. Paused sandboxes free their RAM, so parking sessions raises how many you can hold.

Fixed limits (all tiers)

  • Sandbox lifetime: 10 seconds to 24 hours per create, capped by your tier's max_timeout_seconds. Default 600 seconds.
  • Per-exec timeout: 1 to 3600 seconds, default 60. A timed-out command leaves the sandbox alive.
  • File transfers: 16 MiB per read or write request (base64 over HTTPS). For bigger data, generate it inside the sandbox or stage it on a volume.
  • Metadata: 16 keys per sandbox, 256 characters per value.
  • Volume size: 10 GB default, 100 GB max per volume; billed on provisioned size as GB-month.
  • List page size: 50 by default, 200 max.

Compute trial and billing

Compute is not a monthly grant. Every account gets a one-time trial credit in EUR - the current amounts are shown on the product page and in trial_credit_eur from the limits API. Compute is metered per second at the public rates and drawn against the credit; it never resets. On the free tier the credit is also time-limited and ends in a hard wall; with a card on file, usage past the credit simply meters as pay as you go under your spend cap. Paused sandboxes stop the compute meter; snapshots, templates, and volumes meter as storage (GB-month).

Rate limiting

There are currently no per-request rate limits on the sandbox API. The enforced gates are the ones above - the concurrent RAM budget, the trial credit or spend cap, and the per-tier object caps. When a request is refused, the 429 or 409 response carries a machine-readable code (for example trial_exhausted, spend_cap_reached, snapshot_cap_reached) - dispatch on that rather than retrying blindly.

Need more?

The enterprise tier's envelope is a default, not a ceiling - dedicated capacity and custom limits are arranged per contract. Talk to us.

Reading with an agent? This page is also plain markdown at /docs/sandboxes/limits.md, and the full docs index lives at /docs/llms.txt.