Pricing and limits
MIOSA is credit-based: compute time and AI API calls draw down a credit balance. Current rates, plans, and volume terms live on the pricing page. This page covers what is billable, the limits that are enforced, and how to read usage back.
For API request throttling - the per-workspace and per-endpoint rates, the X-RateLimit-* headers, and how to back off on 429 - see Rate limits.
What you pay for
| Dimension | Unit | When it accrues |
|---|---|---|
| Sandbox runtime | vCPU-seconds + GiB-seconds | While the sandbox is running |
| Sandbox storage | disk GiB-seconds | While the sandbox is paused |
| Builder runtime | seconds | During a publish build |
| Runtime instance runtime | vCPU-seconds + GiB-seconds | Per-second while serving |
| Static artifact storage | GB-months | Continuously |
| Static and object storage bandwidth | GB egress | Per response |
| Managed Postgres, Redis | GB-months (+ connections) | Continuously |
| Object storage buckets | GB-months + GB egress | Continuously / per response |
A Computer (desktop) has a separate metering schema; see Computers for that side. Rates are plan-dependent - see the pricing page for current numbers.
Billable states
| State | Billed? |
|---|---|
running | Yes: compute rate |
paused | Storage rate only |
destroyed | No; billing stops immediately |
Billing accrues from running until paused or destroyed. A sandbox that reaches its timeout pauses (persistent) or is destroyed (non-persistent). See Sizing and limits for the full notes and Timeouts and auto-stop for the deadline behavior.
Machine sizes
A sandbox is sized with a named contract. small is the default.
| Size | Shape |
|---|---|
micro | Smallest |
tiny | Small |
xs | Small; available when the catalog and tenant policy admit it |
small | Default: 2 vCPU, 4 GiB RAM, 10 GiB disk |
quad | Four vCPU |
medium | Larger |
large | Larger still |
xl | Largest |
A named size is selectable only when the template catalog reports it and readiness permits admission. Every sandbox response carries a versioned resource_contract (for example sandbox/small@v1) so you can record the resolved resources instead of assuming a size name never changes. Run GET /api/v1/templates to see what is available to you.
Limits
These are enforced as hard caps, not as request throttling. For request rates, see Rate limits.
| Limit | Value |
|---|---|
| Concurrent sandboxes per tenant | Plan-based: Developer 10 · Business 250 · Enterprise 500 (upgrade or contact support to increase) |
timeout_sec | 1 to 86400; default 3600 |
| Max exec timeout | 300 seconds |
| Max file upload size | 100 MB |
| Webhook delivery retries | up to 24 hours, then the event is dropped; see Webhooks |
| Browser access token TTL | 5 minutes; see Browser tokens |
| API request rate | Varies by workspace, endpoint group, and key policy; see Rate limits |
Caps inside your own product
You can cap what one of your own end-users can consume, independent of the tenant limit, with the Quotas API:
client.quotas.set(
"user-42",
max_sandboxes=3,
max_concurrent=1,
max_storage_gb=50,
max_credit_cents=500,
) Read usage back
- One sandbox.
GET /api/v1/sandboxes/{id}returns measured runtime, provisioned vCPU time, active CPU, network traffic, estimated cost, and timeout visibility.GET /api/v1/sandboxes/{id}/usagereturns the usage record. - A period. The Usage Rollup API aggregates by
external_user_id,external_project_id, orworkspace_idfor a predefined or custom period. - Your balance.
GET /api/v1/credits/balancereturns the current balance, lifetime earned and spent, and the nearest expiry date. Purchased credits do not expire; recurring plan credits expire one billing period after grant, and promotional credits 180 days after grant. See the Credits API for the full expiry rules.
Usage carries the same ownership and attribution as the resource it came from, so a rollup maps straight onto your own billing. See Usage and billing.
See also
Per-workspace and per-endpoint request rates, and how to handle a 429.
Named resource contracts, raw resource overrides, and billing notes.
The active-session timeout and how usage is measured.
Attribute usage to your own customers and charge back.