NewInfinite storage: a box whose storage grows as you write.Infinite storage is here.Read the post

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:

How many copies one fork starts, by the parent's size
ParentCopies, at most
1 vCPU, 2 GB31
2 vCPU, 4 GB15
4 vCPU, 8 GB7
8 vCPU, 16 GB3

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:

What a sandbox costs by shape
vCPUMemoryRunning, an hourPaused storage
1 vCPU2 GB$0.06612 GB
2 vCPU4 GB$0.13114 GB
4 vCPU8 GB$0.26118 GB
8 vCPU16 GB$0.52126 GB
32 vCPU128 GB$2.881138 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.