# Limits

> Every hard cap a box or a workspace can hit, and what the refusal looks like.

URL: https://prized.dev/docs/limits

Money (the plan range, top-ups, the rollover cap, the free credit) is on [Billing](https://prized.dev/docs/billing).

## Boxes [#boxes]

| Limit                              | Value                                                                                                                                                                                                                                                            |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Boxes per workspace                | 100 not deleted (paused and deep sleep count); 1 on the [free credit](https://prized.dev/docs/billing#free-credit)                                                                                                                                                                 |
| Balance to create, wake, or resize | Enough to run the whole resulting fleet for 4 hours ([Starting and resizing boxes](https://prized.dev/docs/billing#starting-and-resizing-boxes)); with an empty balance and no overage, nothing starts or wakes ([Running out](https://prized.dev/docs/billing#running-out))                         |
| Box name                           | 1 to 32 characters: lowercase letters, digits, and hyphens, starting and ending with a letter or digit; unique in the workspace                                                                                                                                  |
| Sizes                              | 7, Nano to Extra Large ([Machines](https://prized.dev/docs/machines#sizes)); Nano to Small on the [free credit](https://prized.dev/docs/billing#free-credit). No resize while provisioning, resizing, or moving; the disk never shrinks ([Resize](https://prized.dev/docs/boxes#resize))                               |
| Auto-pause window                  | 30 minutes to 7 days idle (the dashboard offers up to 24 hours; the CLI and API, the whole range) ([Auto-pause](https://prized.dev/docs/boxes#auto-pause)). An [auto-pause floor](https://prized.dev/docs/teams#policies) caps members' boxes. Never on the [free credit](https://prized.dev/docs/billing#free-credit) |
| Pause deadline                     | 5 minutes to 30 days ahead, on a running box only ([Pause deadline](https://prized.dev/docs/boxes#pause-deadline))                                                                                                                                                                 |
| Deep sleep                         | After 14 days paused the disk is parked as a snapshot; waking takes a few minutes ([States](https://prized.dev/docs/boxes#states))                                                                                                                                                 |
| Region moves                       | 1 per box and 3 per workspace in any rolling 24 hours, one at a time, running boxes only; 5 regions. A new box can be created in any region instead ([Regions](https://prized.dev/docs/boxes#regions))                                                                             |
| Undo after delete                  | 7 days, as a final snapshot under Recently deleted; none for a box deleted within an hour of being created ([Data retention](https://prized.dev/docs/data-retention#deleting-a-box))                                                                                               |
| Capacity                           | No per-workspace number. With no machine of that size free, a new box waits in `provisioning`, or ends in `provision_failed` with the reason in its events; delete it and create again, or pick another size                                                     |

## Sandboxes [#sandboxes]

Creating, resuming, or forking a sandbox needs a paid balance: money the workspace put in with a plan or a top-up. On [free credit](https://prized.dev/docs/billing#free-credit) alone the API answers `409 paid_balance_required`; with an empty balance, `409 insufficient_balance`.

When no sandbox capacity is free, a create answers `503 sandbox_capacity` with a `Retry-After` header (seconds) and creates nothing, so nothing is billed; retry after that long.

Sandbox CPU and memory limits apply to running sandboxes and paused sandboxes that retain compute capacity for resume. Pausing does not necessarily free quota; delete sandboxes you no longer need, and capacity becomes available after cleanup. This does not change paused billing, which remains storage-only.

A resize must fit the workspace's remaining CPU and memory quota. Until it completes, the larger of the old and requested values counts for each resource.

## Snapshots [#snapshots]

| Limit                                       | Value                                                                                                                                                                      |
| ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Manual and template snapshots per workspace | 20; one still being deleted counts until its storage is released. Fork copies, automatic snapshots, and Recently deleted copies never count ([Snapshots](https://prized.dev/docs/snapshots)) |
| Snapshot or template name                   | 1 to 64 characters of letters, digits, `.`, `_`, and `-`, starting and ending with a letter or digit                                                                       |
| Automatic snapshots per box                 | `keep` of 1 to 10 (default 5), every 1 to 168 whole hours; each expires after keep x interval                                                                              |
| Snapshots in flight per box                 | 1                                                                                                                                                                          |
| Fork disk copy                              | 8 hours, or 30 minutes without progress; then the new box is marked failed                                                                                                 |
| Restore target                              | Any size whose disk holds the snapshot; a smaller disk is refused with the numbers                                                                                         |
| Region                                      | A snapshot restores into the region its box was in                                                                                                                         |
| Balance                                     | Any snapshot needs a funded balance or an active plan                                                                                                                      |

## Environments [#environments]

| Limit                        | Value                                                                                                                                     |
| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| Environment name             | 1 to 64 characters of letters, digits, `.`, `_`, and `-`, starting and ending with a letter or digit ([Environments](https://prized.dev/docs/environments)) |
| Env vars per environment     | 64, each value a single line of up to 4,096 characters                                                                                    |
| Per-box vars                 | 100 names and 64 KiB of names and values together, inside the launch budget                                                               |
| Repos per environment        | 16, each with an optional setup script of up to 8 KiB                                                                                     |
| Secret files per environment | 16, each up to 64 KiB, at a path of up to 256 characters                                                                                  |
| Setup script                 | 16 KiB                                                                                                                                    |
| Launch budget                | The environment plus the box's own vars must fit 16 KiB compressed; a save or create that would not is refused as `environment_too_large` |
| Versions kept                | 50 per environment; older ones no live box pins are pruned                                                                                |

## Commands and files [#commands-and-files]

`prized exec`, `prized cp`, the edge API, and the dashboard's Files tab ([Run commands and files](https://prized.dev/docs/exec)).

| Limit                         | Value                                                                                                                                                                                                                                                                                                                    |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Synchronous run               | 600 seconds through the API (default 30); `prized exec` has no limit unless you pass `--timeout`                                                                                                                                                                                                                         |
| Output kept per stream        | The last 1 MiB, flagged as truncated                                                                                                                                                                                                                                                                                     |
| Exec request document         | 1 MiB                                                                                                                                                                                                                                                                                                                    |
| Environment variables per run | 32                                                                                                                                                                                                                                                                                                                       |
| Inline file read or write     | 1 MiB                                                                                                                                                                                                                                                                                                                    |
| Upload or download            | 1 GiB and 30 minutes per request; a directory download that reaches the cap is cut off, so a truncated archive never looks complete                                                                                                                                                                                      |
| Detached process log tail     | 16 KiB by default, 1 MiB at most. The process has no time limit, and its logs are never deleted for you                                                                                                                                                                                                                  |
| Command history               | Each record kept 30 days, with the last 1 MiB of each stream and the first 8,192 characters of the command; 10,000 records per box, the oldest going first; 50 MiB of output stored per workspace per hour, past which output is dropped and the stream marked truncated ([Command history](https://prized.dev/docs/exec#command-history)) |
| History reads                 | 200 records a page; 1 MiB of output per request                                                                                                                                                                                                                                                                          |
| Live streams                  | 4 open per token; each counts as one of the concurrent requests below, and ends with `reconnect` after 10 minutes                                                                                                                                                                                                        |
| Concurrent requests           | 8 per token and 8 per box                                                                                                                                                                                                                                                                                                |
| Request rate                  | 20 per second sustained, bursts of 40, per token and per box; over it answers `429 rate_limited` with `Retry-After`                                                                                                                                                                                                      |
| JSON request body             | 64 KiB on most `/api/v1` routes; 128 KiB on the secrets routes; 2 MiB on the environment routes                                                                                                                                                                                                                          |
| Dashboard Files tab           | 1 MiB in the inline editor; 1 GiB per upload or download; one operation at a time per tab; a folder listing shows 2,000 entries and marks itself truncated past that                                                                                                                                                     |

## Prompting an agent remotely [#prompting-an-agent-remotely]

| Limit                             | Value                                                                                                                                                                                                                                                                                                    |
| --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Prompt                            | 512 KiB ([Prompt an agent remotely](https://prized.dev/docs/remote-agents))                                                                                                                                                                                                                                                |
| Runs in progress per box          | One per 2 GB of memory, from 1 to 16: Nano 1, Micro 2, Extra Small 4, Small 8, Medium and larger 16. Beyond it a new run answers `409 prompt_limit_reached`; `~/.prized/prompts/max-runs` on the box sets another number from 1 to 64 ([Parallel runs](https://prized.dev/docs/remote-agents#parallel-runs-and-the-queue)) |
| Runs in progress per conversation | 1; another prompt answers `409 prompt_in_progress` unless it asks to be queued                                                                                                                                                                                                                           |
| Runs listed                       | 50, newest first; older run directories stay on the box                                                                                                                                                                                                                                                  |
| Conversations listed              | 50, most recently active first                                                                                                                                                                                                                                                                           |
| Events per page                   | 200 by default, 1,000 at most, or 1 MiB, whichever comes first; one event of any size is always delivered                                                                                                                                                                                                |
| Event text                        | 8 KiB per event (the `raw` line is kept whole); a single event over 32 MiB cannot be delivered                                                                                                                                                                                                           |
| Requests                          | As for commands and files above                                                                                                                                                                                                                                                                          |

## Sync, sessions, and ports [#sync-sessions-and-ports]

| Limit                         | Value                                                                                                                                                                                                                                    |
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| File size in a synced project | 256 MB; larger files are skipped and named by `prized sync ls` ([Sync](https://prized.dev/docs/sync#add-a-project))                                                                                                                                        |
| First sync                    | Up to 3 minutes for the box to install the sync agent and move the first bytes before it is called broken                                                                                                                                |
| Drag-and-drop upload          | 512 MB per drop, one file or several; drops older than 7 days are cleaned out ([Sessions](https://prized.dev/docs/sessions#drag-files-in))                                                                                                                 |
| Mirrored ports                | 3000 through 9999 by default; never below 1024, never 22 or 7377; 5900 off by default; TCP only ([Ports](https://prized.dev/docs/ports#limits))                                                                                                            |
| Shared port links             | One link per port; up to 10 live anyone and public links per workspace, each expiring after 5 minutes to 30 days (7 by default); a link's visitors open it a limited number of times a minute ([Share a port](https://prized.dev/docs/ports#share-a-port)) |

## Desktop [#desktop]

| Limit                | Value                                                                |
| -------------------- | -------------------------------------------------------------------- |
| Per box              | One desktop and one browser window ([Desktop](https://prized.dev/docs/desktop#limits)) |
| Screen               | 1920x1080, scaled to your window; VNC, no audio, no GPU              |
| Browser profile name | Letters, digits, `-` and `_`, up to 64 characters                    |

## Secrets and access [#secrets-and-access]

| Limit                        | Value                                                                                                                              |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| Secrets per workspace        | 100 ([Secrets for agents](https://prized.dev/docs/credentials#secrets-for-agents))                                                                   |
| Secret name and value        | The name is `SCREAMING_SNAKE`, a letter first, up to 128 characters; the value up to 16 KiB                                        |
| Allowlisted hosts per secret | 32                                                                                                                                 |
| Secret grants                | Each names one box or one member ([Scoped secrets](https://prized.dev/docs/teams#scoped-secrets))                                                    |
| Secret usage                 | The usage read returns up to 1,000 rows ([Usage](https://prized.dev/docs/teams#usage))                                                               |
| SSH certificates             | 15 minutes each, minted for you as you connect                                                                                     |
| Phone access password        | One per box, no expiry; generating a new one, or revoking, replaces it everywhere ([From your phone](https://prized.dev/docs/codex#from-your-phone)) |
| Phone access gateway         | 8 connections per box at once; a connection with nothing running on it closes after 15 idle minutes                                |

## Workspace [#workspace]

| Limit                   | Value                                                                                                                                                                                                                         |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| API keys                | No cap; revoke any from **Dashboard → Settings → API keys** ([API keys](https://prized.dev/docs/workspaces#api-keys))                                                                                                                           |
| Members                 | No cap                                                                                                                                                                                                                        |
| Invite link             | Does not expire; replaced by **New link** or by removing a member ([Invite people](https://prized.dev/docs/workspaces#invite-people))                                                                                                           |
| Workspace icon          | 1 MiB per upload                                                                                                                                                                                                              |
| Startup deal link       | 30 days ([Custom plans](https://prized.dev/docs/billing#custom-plans))                                                                                                                                                                          |
| Spend per member        | Off, or 1 to 1,000,000 whole dollars a billing cycle ([Policies](https://prized.dev/docs/teams#policies))                                                                                                                                       |
| Boxes per member        | Off, or 1 to 100 live boxes (running or paused)                                                                                                                                                                               |
| Largest size per member | Off, or any size                                                                                                                                                                                                              |
| Auto-pause floor        | Off, or 30 minutes to 7 days                                                                                                                                                                                                  |
| Quiet hours             | Off, or one `HH:MM` to `HH:MM` window a day in one IANA timezone, per weekday, with all-day days; a box woken inside it stays up 15 minutes ([Quiet hours](https://prized.dev/docs/teams#quiet-hours))                                          |
| Audit log retention     | 7 to 365 days, 90 by default ([Audit log](https://prized.dev/docs/teams#audit-log))                                                                                                                                                             |
| Audit log reads         | 100 rows a page by default, 1,000 at most per request; the CSV carries up to 50,000 rows                                                                                                                                      |
| Audit export            | An `https` URL of up to 2,048 characters on a public host, and a secret of 16 to 256 characters; 500 events a delivery, 20 deliveries an hourly pass, 10 seconds a request ([Scheduled export](https://prized.dev/docs/teams#scheduled-export)) |
| Reported audit detail   | 16 keys of up to 40 characters, strings up to 512 characters, a body up to 64 KiB                                                                                                                                             |

## Not allowed [#not-allowed]

Cryptocurrency mining, on the free credit or on any plan, in a box or a sandbox. A box or sandbox found mining pauses every box and every sandbox in its workspace. Creating, restoring, forking, waking, resizing, or moving a box, and creating, resuming, or forking a sandbox, then answer `409 workspace_held`; pausing and deleting still work. Nothing is deleted and no credit is taken; paying does not lift it, and neither does deleting the box or sandbox, so email the support address shown on https://prized.dev/docs/troubleshooting for a review.

## Retention [#retention]

| Record                       | Kept                                    |
| ---------------------------- | --------------------------------------- |
| Box metrics                  | 30 days                                 |
| Sign-in records              | 90 days                                 |
| CLI usage aggregates         | 90 days                                 |
| Audit rows                   | 90 days by default (7 to 365 by policy) |
| Command history              | 30 days                                 |
| Finished deletion operations | 30 days                                 |

The windows and their zero data retention variants are on [Data retention](https://prized.dev/docs/data-retention#telemetry-retention-windows).

## How limits fail [#how-limits-fail]

| Where         | What you see                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| The API       | The HTTP status and an `error` code, with a message that quotes the numbers: `409 box_limit`, `409 insufficient_balance`, `409 trial_no_auto_pause`, `429 snapshot_limit`, `402 secret_limit`, `400 invalid_name`, `400 invalid_auto_pause`, `400 invalid_pause_at`, `400 environment_too_large`, `400 too_many_repos`, `400 too_many_files`, `409 prompt_in_progress`, `413 payload_too_large`, `403 policy_denied` (with `rule` and `message`), `403 secret_not_granted`, `429 rate_limited` with `Retry-After` |
| The CLI       | The [exit code table](https://prized.dev/docs/cli#for-agents-and-scripts): a value outside a range is `USAGE` (2) before anything is sent; the box count, a taken name, or a balance that cannot run the box is `CONFLICT` (6); the snapshot limit and a refused lifecycle change are `CHECK_FAILED` (5) with the control plane's sentence. `--json` carries the same code and message in `error`                                                                                                                                   |
| The dashboard | The same sentence next to the control that asked, or the control is not offered: a size the balance cannot run cannot be picked, and the pause deadline is hidden on a paused box                                                                                                                                                                                                                                                                                                                                 |
