Sandboxes are in beta
Boxes are the machines you work on. Sandboxes are for your code and agents: Linux microVMs they create through the API or the CLI, one job at a time.
Each sandbox is its own microVM, with its own kernel. It lives in your workspace next to your boxes, draws on the same balance, and answers to the same API keys.
What a sandbox is for
Run code you did not write or have not read, such as an agent's tool call or a user's snippet. Give each request or test run a clean machine. Fan one job out across many copies, or run anything that should be gone afterwards.
A sandbox boots from a template. prized-base-v1 is Ubuntu 24.04 with build tools, git, Python 3 and Node.js 22. prized-agent-v1 adds Claude Code and Codex, which sign in with keys you pass in.
Commands run as the user prized, without sudo. A sandbox can reach the internet. Nothing reaches it from the internet, and sandboxes have no direct network path to each other.
Try it
Open Sandboxes. New to Prized, that signs you up with the free credit. Click Create API key and export the key:
export PRIZED_API_KEY=dcp_…From a shell, with the CLI at v0.21.0 or later. To install it, run this, then the reload line it prints:
curl -fsSL https://prized.dev/install.sh | sh# prized login first, or set PRIZED_API_KEYID=$(prized sandbox create)prized sandbox exec $ID -- "python3 -c 'print(6 * 7)'"COPIES=($(prized sandbox fork $ID --count 3)) # three live copiesprized sandbox rm $ID "${COPIES[@]}"Over the HTTP API, with curl and jq. The create asks for an hour of run time, so a sandbox the paste leaves behind deletes itself:
API=https://api.prized.dev/api/v1AUTH="Authorization: Bearer $PRIZED_API_KEY"ID=$(curl -sS $API/sandboxes -H @<(echo "$AUTH") \ -H 'content-type: application/json' \ -d '{"template":"prized-base-v1","maxRuntimeMin":60, "resources":{"vcpu":2,"memoryMb":4096}}' \ | jq -er '.sandbox.id // error(.error)') # or why it was refusedstate() { curl -sS $API/sandboxes/$ID -H @<(echo "$AUTH") \ | jq -r .sandbox.state; }for _ in $(seq 180); do # up to 3 minutes case "$(state)" in running|error|deleted|null) break ;; esac; sleep 1doneBASE=$(curl -sSf --retry 5 $API/sandboxes/$ID -H @<(echo "$AUTH") \ | jq -er .sandbox.toolboxBase) # where its commands gocurl -sS $BASE/process/execute -H @<(echo "$AUTH") \ -H 'content-type: application/json' -d '{"command":"python3 --version"}'curl -sS -X DELETE $API/sandboxes/$ID -H @<(echo "$AUTH")Every field of a create is in the Sandbox API docs. The dashboard's Sandboxes page lists every sandbox with what it costs an hour, and you can create, pause, resume and delete from there.
Pause and resume
A paused sandbox keeps its memory as well as its disk. On resume, every process carries on where it stopped. A command, upload or download sent to a paused sandbox resumes it first.
Paused, it pays no compute. Its disk and saved memory count toward the workspace's paused storage: the first 20 GB are included, then $0.05 per GB-month.
A sandbox runs for 24 hours unless you set its run time, up to 7 days, and you can extend it anytime. autoPauseMin pauses it after a stretch with no activity, and autoDeleteMin deletes it once it has been paused that long.
Fork
A fork turns one running or paused sandbox into live copies. Each copy has the parent's memory, disk and every process as they were at the fork, and starts running. The copies are ordinary sandboxes with their own ids, billed and counted like any other. The CLI sample above forks three.
Set a sandbox up once, pause it, and fork it days or weeks later. Copies start on the parent's machine, which holds at most:
| Parent | Copies, at most |
|---|---|
| 1 vCPU, 2 GB | 31 |
| 2 vCPU, 4 GB | 15 |
| 4 vCPU, 8 GB | 7 |
| 8 vCPU, 16 GB | 3 |
More memory or disk, or a busy machine, fits fewer.
What it costs
Sandboxes bill by the second, with no minimum, from the same balance as your boxes. Running, a sandbox costs $0.04 per vCPU-hour, $0.0125 per GB-hour of memory and $0.0001 per GB-hour of disk. With a 10 GB disk:
| vCPU | Memory | Running, an hour | Paused storage |
|---|---|---|---|
| 1 vCPU | 2 GB | $0.066 | 12 GB |
| 2 vCPU | 4 GB | $0.131 | 14 GB |
| 4 vCPU | 8 GB | $0.261 | 18 GB |
| 8 vCPU | 16 GB | $0.521 | 26 GB |
| 32 vCPU | 128 GB | $2.881 | 138 GB |
The last column is what a paused one counts toward the workspace's paused storage. On the free credit alone, a workspace runs up to 10 sandboxes at once, each up to 2 vCPU and 4 GB, with 60 minutes of running in all. A plan or a top-up lifts it to the full quotas.
In the docs
Sandboxes covers states, templates, limits and the free tier. The Sandbox API and the CLI pages list every call, and Billing shows how sandboxes are metered. The overview is at prized.dev/sandboxes.