The best sandbox APIs for AI agents in 2026
A sandbox API gives an AI agent a fresh machine to run code in, away from your own: one call to create it, more to run commands and move files, one to throw it away. We compared seven that take new customers today (Daytona, E2B, Modal, Northflank, Prized, Upstash Box and Vercel Sandbox) and Runloop, which is winding down.
The short answer
- Pause with memory, and fork a running sandbox: E2B and Prized, and Daytona’s VM sandboxes (Linux and Windows). The rest keep files through a stop, not running processes.
- GPUs: Daytona, Modal or Northflank.
- Your own image: Daytona, E2B, Modal, Northflank and Vercel Sandbox. Prized has two fixed templates and Upstash Box has custom images planned.
- An agent that mostly waits on a model: Vercel Sandbox and Upstash Box bill CPU only while it is busy.
- A sandbox that runs around the clock, for the least: an Upstash Box kept alive, $8 a month flat for 2 vCPU and 4 GB (about $0.011 an hour). Billed by the hour, Northflank lists $0.067, then Prized $0.131.
- Regions outside the US, or your own cloud: Northflank, Vercel Sandbox, E2B, Daytona or Modal.
- No run time limit: Daytona and Northflank, and Upstash Box kept alive on a paid plan.
Start time
Every vendor says its sandboxes start fast, and each measures something different. The middle column is what each one says about itself. The right column is ComputeSDK’s burst test, one outside measurement: the time from the create request to the first command finishing, with 100 sandboxes started at once, run on November 6.
| What the vendor says | ComputeSDK median | |
|---|---|---|
| Daytona | Under 90 ms, code to execution | 595 ms |
| E2B | About 150 ms from a snapshot or template | 1,134 ms |
| Modal | Under one second | 796 ms |
| Northflank | 0.8 s with a cached image | No result (API errors) |
| Prized | 141 ms to first command (our test) | Not listed |
| Runloop | A few seconds to first command | Off the board since October 9 |
| Upstash Box | About 2.5 s to first command (from Europe) | 2,342 ms |
| Vercel Sandbox | “In milliseconds” | 533 ms |
ComputeSDK runs from one place (its docs put its runners in Northern Virginia), and providers start different sizes, so the gaps say as much about distance and setup as about the sandbox. Prized isn’t on the board.
How we measured ours
On November 6 we created 30 sandboxes one at a time, about four seconds apart so our pool of ready sandboxes had refilled, with our Python SDK, from a machine in the same AWS region as the sandboxes (US West, Oregon), and ran one command in each. From the create call to that command’s answer took 141 ms at the median and 187 ms at the 95th percentile, on the default shape (4 vCPU, 8 GB). Created back to back with no gap, the median was 232 ms, and on the template with Claude Code and Codex, 225 ms. A shape we don’t keep ready to start is slower: 2 vCPU with 1 GB took 3.4 s. These numbers don’t compare with the burst test above: one at a time, from the same region, is the easy case.
Pause, fork and run time
An agent that works for hours, or waits on a person, needs a sandbox that can stop paying for CPU without losing its place. What survives a pause decides that: files only, or the memory and running processes too.
| Pause keeps memory | Fork a running sandbox | Longest run without a pause | |
|---|---|---|---|
| Daytona | VM sandboxes only (Linux, Windows) | VM sandboxes, with memory | No limit |
| E2B | Yes, kept until deleted | Yes, with memory | 24 hours on Pro, 1 on Hobby; a pause resets it |
| Modal | No; memory snapshots in alpha | From a snapshot | 24 hours |
| Northflank | No; volume data survives | Not documented | No limit |
| Prized | Yes, kept until deleted (30 days after last use on the free tier) | Yes, with memory | 7 days (24 hours by default); a pause resets it once paid in |
| Runloop | No; disk only | Disk snapshots | 1 hour by default |
| Upstash Box | No; files only | From a disk snapshot | No cap; pauses when idle |
| Vercel Sandbox | No; files only | From its last saved files | 24 hours on Pro, 45 min on Hobby; a stop resets it |
Price, free use and regions
| 2 vCPU, 4 GB, an hour | Free use | Regions | |
|---|---|---|---|
| Daytona | $0.166 | $200 of compute, no card | US, EU |
| E2B | $0.166 | $100 once, no card | US, EU, Asia Pacific |
| Modal | $0.238 | $30 a month, card on file | US, EU, UK, Asia Pacific and more |
| Northflank | $0.067 | Up to $20 a month, no card | 17 regions, or your cloud |
| Prized | $0.131, disk included | $30 once, no card | US West (Oregon) |
| Runloop | $0.320, plus $250 a month on Pro | Winding down | Not named |
| Upstash Box | $0.20 at full CPU, $0 idle; $8 a month kept alive | 5 CPU-hours a month, no card | US East (Virginia) |
| Vercel Sandbox | $0.341 at full CPU, $0.085 idle | Hobby allowance, non-commercial | 19 regions |
List prices for a running sandbox, pay as you go, before plans and region surcharges. Daytona, E2B, Northflank, Prized and Runloop bill the vCPU and memory you ask for whether it is busy or not. Modal bills the larger of what you ask for and what you use. Vercel Sandbox bills CPU only while it is busy, and memory throughout. Upstash Box bills busy CPU only, with memory free, plus its disk by the month, or a flat monthly price for a box kept alive.
SDKs, MCP and what runs inside
| Isolation | SDKs | MCP server | GPUs | Own image | |
|---|---|---|---|---|---|
| Daytona | Container; VM optional | Python, TypeScript, Ruby, Go, Java | Yes | Yes | Yes |
| E2B | Firecracker microVM | Python, JavaScript | Gateway inside a sandbox | No | Yes |
| Modal | gVisor; VM optional | Python; JavaScript and Go in beta | Not listed | Yes | Yes |
| Northflank | microVM (Cloud Hypervisor) | JavaScript, Python | Platform-wide | Yes | Yes |
| Prized | Firecracker microVM | Python, TypeScript | Not yet; a skill | No | Not yet |
| Runloop | microVM with a container | Python, TypeScript | In its CLI | Optional | Yes |
| Upstash Box | Docker container | TypeScript, Python | Yes | No | Not yet |
| Vercel Sandbox | Firecracker microVM | TypeScript, Python | Yes | Not listed | Yes |
Each one, and when it fits
Daytona: GPUs, Windows and no time limit
Containers by default, with Linux VM, Windows and macOS sandboxes as options. The Linux VM and Windows sandboxes pause with their memory and fork; containers stop after 15 idle minutes by default and keep their files. It has the most SDK languages here, an MCP server, GPUs up to 8 per sandbox, and $200 of free compute with no card. Pick it for GPUs, Windows, or runs with no end time.
E2B: pause and fork, from your own image
Firecracker microVMs that pause with their memory and processes, kept with no time limit, and fork while running. Templates come from your own image, and Enterprise runs it in your own AWS, Google Cloud or Azure account; the runtime is open source. US West is the default region, and support turns on US East, EU and Asia Pacific. A session runs 1 hour on Hobby and 24 on Pro ($150 a month). It is the closest match to Prized’s model, with more regions and your own image.
Modal: GPUs and scale, in Python
gVisor sandboxes, or a VM runtime, from any image, with GPUs, in a region you choose per sandbox: the US, EU, UK, Canada, Asia Pacific, Japan, Australia, the Middle East, South America, Africa or Mexico. A sandbox runs up to 24 hours (5 minutes by default). There is no pause: a filesystem snapshot keeps files, and memory snapshots are in alpha and end the sandbox. The $30 a month free needs a card on file. Pick it for GPUs, or a Python stack already on Modal.
Northflank: a low hourly rate, any image, 17 regions
microVMs on Cloud Hypervisor from any OCI image, with GPUs, in 17 managed regions or your own cloud account, and no time limit. At $0.01667 a vCPU-hour and $0.00833 a GB-hour, its list price for 2 vCPU and 4 GB is about half of Prized’s. A pause ends the processes and keeps what is on an attached volume, and forking isn’t documented. Pick it for long-running sandboxes at a low rate, in many places.
Prized: pause with memory and fork, with a fast start
Firecracker microVMs that pause with their memory and processes, start in about 141 ms on the default shape in our test, and fork into as many as 256 live copies (as many as fit on the parent’s machine), billed by the second at $0.131 an hour for 2 vCPU and 4 GB. A paused sandbox is kept until you delete it, on the machine it ran on, and lost if that machine fails. A run lasts 24 hours by default and up to 7 days, extendable; on the free tier ($30 of credit, no card) each sandbox gets 60 minutes of running. An agent can make the account itself with your email and the code we send you.
Where it falls short: one region (Oregon), two fixed templates instead of your own image, no Docker or root inside a sandbox, no GPUs, and no MCP server yet; coding agents use the Prized skill instead. For a machine an agent keeps for weeks, with root and Docker, we sell boxes.
Upstash Box: coding agents built in, idle for free
A Docker container per box in AWS us-east-1, with Claude Code, Codex and other agents built in, plus a browser, schedules and git. It bills only busy CPU ($0.20 for two cores flat out for an hour), so a box that waits costs only its disk. A pause keeps files, not processes, and an idle box pauses after 1 hour on the free plan and 6 on paid ones unless kept alive: $8 a month for 2 vCPU and 4 GB, CPU and disk included, the lowest price here for a machine that never stops. The free tier renews every month: 10 boxes and 5 CPU-hours. Pick it for agents that mostly wait.
Vercel Sandbox: 19 regions, and idle CPU is free
Firecracker microVMs from your own image, with sudo, in 19 regions, billed for CPU only while it is busy. A stop saves the files, kept 30 days after last use by default, and a fork starts from that saved state, not live memory. Sessions run 45 minutes on Hobby, which is for non-commercial use, and 24 hours on Pro. It had the lowest burst median of the products here on ComputeSDK’s November 6 run. Pick it for apps already on Vercel, or agents that mostly wait on a model.
A note on Runloop
Runloop’s docs say it is winding down its services, with transition support for existing customers through November 13, 2026 at 11:59 PM PT (Runloop’s notice). Its guides point to Tensorlake, Modal and Freestyle, and to OpenAI’s Agents API for Reflex. Moving from it: Moving from Runloop maps its devbox calls to ours, and Runloop alternatives compares the options.
Try pause and fork in a minute
With the CLI signed in, this starts a loop that counts in memory, pauses the sandbox, resumes it, and forks it into two copies. We ran it on November 6:
pause-and-fork.shID=$(prized sandbox create --max-runtime 1h)prized sandbox exec $ID --detach -- 'n=0; while true; do n=$((n+1)); echo $n > count; sleep 1; done'sleep 5prized sandbox exec $ID -- cat count # 6prized sandbox pause $ID --waitsleep 20prized sandbox resume $IDprized sandbox exec $ID -- cat count # 7: the loop went on from 6COPIES=($(prized sandbox fork $ID --count 2))prized sandbox exec ${COPIES[0]} -- cat countprized sandbox rm $ID "${COPIES[@]}"The count was 6 before the pause and 7 after it: the same process carried on from where it stopped, rather than starting over at 1 or losing the 20 seconds we waited. Each copy of the fork carried the loop on from the parent’s count. Timed around each command, the create took 0.07 s, the pause 0.21 s, the resume 0.16 s, and the fork into two running copies 0.78 s. The same calls are in the Python and TypeScript SDKs and the API.
Common questions
Which sandbox starts fastest?
No one has measured all of them the same way. On ComputeSDK’s November 6 burst test, Vercel Sandbox had the lowest median of the products here, 533 ms, then Daytona at 595 ms; Prized isn’t on that board. Our own test, under easier conditions, is in How we measured ours.
Which sandboxes keep memory through a pause?
E2B, Prized, and Daytona’s VM sandboxes (Linux and Windows). Modal’s memory snapshots are in alpha. Northflank, Runloop, Upstash Box and Vercel Sandbox keep files, and the processes start again.
Which is cheapest?
Around the clock at 2 vCPU and 4 GB, an Upstash Box kept alive, $8 a month flat (a container, not a VM). By the hour, Northflank’s $0.067, then Prized at $0.131. For one that mostly waits, Upstash Box and Vercel Sandbox, which don’t bill idle CPU.
Which have an MCP server for creating sandboxes?
Daytona, Upstash Box and Vercel Sandbox (through Vercel’s MCP server), and Runloop’s CLI. Northflank’s MCP server covers its whole platform. E2B’s MCP gateway runs MCP tools inside a sandbox. Prized has a skill for coding agents and no MCP server yet.
Which have GPUs?
Daytona, Modal and Northflank. E2B, Prized and Upstash Box don’t.
More on Prized sandboxes
The Sandboxes docs cover every call and limit. For a side by side with fewer products in more depth, see Prized vs E2B, Daytona and Modal and E2B alternatives.
Sources
Every page here was read on November 6, 2026.
- ComputeSDK: burst benchmark, raw results, run November 6, 13:04 UTC, runner location.
- Daytona: home page, pricing, billing, sandboxes, GPU sandboxes, regions, MCP server.
- E2B: pricing, billing, start time, persistence, fork, sandbox lifetime, regions, MCP gateway, GPUs.
- Modal: Sandboxes, pricing, billing, sandbox guide, snapshots, regions, JavaScript and Go SDKs.
- Northflank: Sandboxes, pricing, pause, regions, MCP server.
- Runloop: transition notice, home page, devboxes, lifecycle, lifetime, pricing.
- Upstash Box: how it works, built-in agents, keep-alive, pricing, snapshots, MCP, Upstash’s own comparison.
- Vercel Sandbox: overview, pricing and limits, Hobby plan, persistence, forking, regions, MCP tools.
- Prized: Sandboxes, Billing, Limits; the start time and the demo are our own runs on November 6.