Machines your code starts, forks and throws away.
Sandboxes are microVMs you create through the API or the CLI. Each one boots from a template in seconds, runs your commands, and pauses for the price of its storage.
Sandboxes are in beta. Your free credit runs them, billed per second.
API=https://api.prized.dev/api/v1
KEY="Authorization: Bearer $PRIZED_API_KEY"
ID=$(curl -sS $API/sandboxes -H "$KEY" -H 'content-type: application/json' \
-d '{"template":"prized-base-v1","resources":{"vcpu":2,"memoryMb":4096}}' \
| jq -er '.sandbox.id // error(.error)') # or why it was refused
state() { curl -sS $API/sandboxes/$ID -H "$KEY" | jq -r .sandbox.state; }
for _ in $(seq 60); do # up to a minute
case "$(state)" in running|error|deleted|null) break ;; esac; sleep 1
done
curl -sS --retry 5 --retry-all-errors --fail-with-body -H "$KEY" \
-H 'content-type: application/json' -d '{"command":"python3 --version"}' \
https://term.prized.dev/v1/sandbox/$ID/process/execute
curl -sS -X DELETE $API/sandboxes/$ID -H "$KEY"# prized login first, or set PRIZED_API_KEY
ID=$(prized sandbox create)
prized sandbox exec $ID -- "python3 -c 'print(6 * 7)'"
COPIES=$(prized sandbox fork $ID --count 3) # three live copies
prized sandbox rm $ID $COPIESA whole Linux machine for every run.
Each sandbox is a Firecracker microVM with its own kernel, made by your code in one request and gone when the job is done.
- Boots from a template in seconds.
prized-base-v1is Ubuntu with Node, Python and git.prized-agent-v1adds coding agents that sign in with your own credentials. - Runs commands and moves files.Run a command with its own directory, environment and timeout, and get its output and exit code back. Upload and download files over the same API.
- Pauses for the price of storage.A paused sandbox keeps its memory and disk and pays only to store them. Resume it and it carries on where it stopped.
- Forks into live copies.Fork a running sandbox into several, each one with every process of the parent still running.
- Cleans up after itself.Have it pause when it sits idle, delete itself once it has been paused a while, and stop at a lifetime you set.
- Lives in your Prized account.The same workspace, balance, API keys and dashboard as your boxes. Watch any sandbox live from the dashboard.
Boxes are for you. Sandboxes are for your code.
A box is the machine you work on, there whenever you come back to it. A sandbox is a machine your code makes for one job. Both live in one workspace and draw on one balance.
| Boxes | Sandboxes | |
|---|---|---|
| Made by | You, in the dashboard or the CLI | Your code, through the API or the CLI |
| Lives | Until you delete it | Until your code deletes it, or its time is up |
| Starts | Usually in under a minute | In seconds |
| Billed | By the hour, at its size’s rate | By the second, for the vCPU, memory and disk it holds |
| Paused | Pays for its disk | Pays for its disk and saved memory |
Per second, no minimum.
A running sandbox pays for the vCPU, memory and disk it holds. A paused one pays only to keep its disk and memory. Free credit is enough to start.
How billing works- vCPU
- $0.04per vCPU-hour
- Memory
- $0.0125per GB-hour
- Disk
- $0.0001per GB-hour
Paused, a sandbox pays only to keep its disk and saved memory, at $0.0001 per GB-hour. No compute.
| Shape, 10 GB disk | Running | Paused |
|---|---|---|
| 1 vCPU · 2 GB | $0.066/hr | $0.0012/hr |
| 2 vCPU · 4 GB | $0.131/hr | $0.0014/hr |
| 4 vCPU · 8 GB | $0.261/hr | $0.0018/hr |
| 8 vCPU · 16 GB | $0.521/hr | $0.0026/hr |
Billed per second with no minimum, from the same balance as your boxes. Up to 8 vCPU and 16 GB of memory per sandbox. Free credit runs them too, within the free tier: up to 4 at a time, each up to 2 vCPU and 4 GB for 60 minutes. A top-up raises those limits.
Your first sandbox is one request away.
Make one from the dashboard to try it, then an API key to make them from your code. The docs go from the first request to a fork.