Vercel Sandbox vs Modal VM Sandboxes
Both run each sandbox in its own VM with its own kernel, and both stop a session within 24 hours. Vercel Sandbox is a Firecracker microVM that saves its files on every stop and runs in 19 regions, while Modal VM Sandboxes run on Cloud Hypervisor with systemd and nested virtualization, next to Modal's inference and training.
The companies and products
Vercel Sandbox
Vercel is a cloud platform for web apps and agents, and Vercel Sandbox is its product for running untrusted or agent-written code in isolated Linux microVMs.
Each sandbox is a Firecracker microVM with its own kernel, started from a Vercel image, your own OCI image, or a saved snapshot. You drive it with the JavaScript or Python SDK or the sandbox CLI: run commands, move files, open ports, and set network rules. It is aimed at code interpreters, app builders, test runs and agent tools, and Vercel's docs say it is not meant to run nonstop.
Modal VM Sandboxes
Modal is a serverless cloud for AI work, and VM Sandboxes are the version of its sandboxes that run in a virtual machine with their own Linux kernel.
You create a VM Sandbox from Python, TypeScript or Go code with runtime="vm", run commands in it, and terminate it when the job is done. Modal built the runtime on the Rust-based Cloud Hypervisor, so Docker, FUSE, systemd and nested cgroups work, with the same API, images and prices as its gVisor sandboxes. It became generally available on 1 October 2026 and suits teams that want many short-lived agent machines next to Modal's inference and training.
- Funding
- Over $466M raised
- Generally available
- 1 October 2026; early customers launched over 20 million VMs before that
- Session length
- Default 5 minutes, maximum 24 hours
- Compliance
- SOC 2 on every plan; HIPAA on Enterprise
Which use cases each one fits
For each use case, Battleships prices every sandbox provider on the same workload and sorts them from the cheapest monthly bill up. “22nd cheapest of 345” means 21 of the other 344 providers run that workload, with every feature it needs, for less. “With limits” means the provider runs it but misses something, so it is listed after every full match. Open a use case for its whole ranking and what each provider misses.
| Use case and its workload | Vercel Sandbox: price rank | Modal VM Sandboxes: price rank | bochka: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month Neither has a desktop to check the app an agent built, and both stop at 24 hours; Modal VM Sandboxes rank 84th, Vercel Sandbox 244th, and bochka ranks 3rd. | 244th of 367, with limits $3,351 a month | 84th of 367, with limits $759 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB Both stop each session at 24 hours, so an agent that lives on its machine all month fits neither; bochka has no session cap on paid plans. | 257th of 366, with limits $3,657 a month | Can't run it | 5th cheapest of 366 $657 a month |
| Code interpreter bursts 100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month Short code bursts fit Vercel Sandbox well because it bills CPU only while code uses it; bochka's start limits slow very large bursts. | 22nd cheapest of 345 $216 a month | Can't run it | 186th of 345, with limits $2,000 a month |
| Sandboxes for your users 300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month Vercel Sandbox ranks 15th for sandboxes you hand to your users, and bochka ranks 1st for the same work. | 15th cheapest of 361 $1,267 a month | Can't run it | Cheapest of 361 $209 a month |
| RL rollouts 1,000 at once · 2 vCPU / 4 GB · 1,000,000 sessions of 3 min a month Huge bursts of short rollouts suit Vercel Sandbox best here: it ranks 3rd, against 171st for Modal VM Sandboxes and 34th for bochka. | 3rd cheapest of 360 $15,761 a month | 171st of 360, with limits $16,322 a month | 34th of 360, with limits $2,000 a month |
| Agent evals 250 at once · 4 vCPU / 8 GB · 15,000 sessions of 20 min a month | 69th cheapest of 364 $1,508 a month | Can't run it | 10th cheapest of 364 $200 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month Both run Docker builds; Vercel Sandbox ranks 107th and Modal VM Sandboxes 188th, while bochka ranks 4th with /dev/kvm on every plan. | 107th cheapest of 377 $1,144 a month | 188th of 377, with limits $1,064 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB | 276th of 368, with limits $145 a month | Can't run it | 18th cheapest of 368 $26 a month |
| Computer-use agents 50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month Neither ships a desktop or browser, so you build one yourself; bochka streams a 60fps desktop with a computer-use API. | 235th of 369, with limits $952 a month | Can't run it | 6th cheapest of 369 $200 a month |
| Browser-use agents 50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month | 259th of 367, with limits $486 a month | Can't run it | 7th cheapest of 367 $200 a month |
| Scraping & bots (startup scale) 50 at once · 1 vCPU / 2 GB · 100,000 sessions of 3 min a month | 277th of 346, with limits $468 a month | Can't run it | 6th cheapest of 346 $90 a month |
| Mass scraping & bots (undetectable) 1,000 at once · 1 vCPU / 2 GB · 3,000,000 sessions of 2 min a month | 234th of 338, with limits $9,960 a month | Can't run it | 71st of 338, with limits $1,800 a month |
| Parallel red teaming 200 at once · 2 vCPU / 4 GB · 5,000 sessions of 30 min a month Both are a compromise for many parallel attack machines, at 283rd for Vercel and 294th for Modal, while bochka ranks 2nd. | 283rd of 360, with limits $554 a month | 294th of 360, with limits $642 a month | 2nd cheapest of 360 $200 a month |
| GPU eval jobs 10 at once · 8 vCPU / 32 GB · 500 sessions of 30 min a month | Can't run it | Can't run it | Can't run it |
| macOS agents 5 at once · 4 vCPU / 8 GB · 1,000 sessions of 20 min a month | Can't run it | Can't run it | Can't run it |
Key features
| Feature | Vercel Sandbox | Modal VM Sandboxes | bochka |
|---|---|---|---|
| Isolation | Firecracker microVM with its own kernel | VM with its own Linux kernel on Cloud Hypervisor | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| CPU benchmark (4 vCPU / 8 GB) | 12.96 runs/s | 15.54 runs/s | 26.69 runs/s |
| Longest session | 24 hours on Pro and Enterprise, 45 minutes on Hobby | 24 hours, default 5 minutes | No cap on paid plans; you set the time to live |
| Saving files | Filesystem snapshot on every stop, kept 30 days after last use; the sandbox resumes from it | No paused state; only Volumes and snapshots you take keep files | Disk saved every minute and on stop; a stopped sandbox costs nothing |
| Memory snapshots | No; processes start over on every resume | Yes, in alpha: snapshotting ends the sandbox and snapshots expire after 7 days | No; resume boots the VM again with its disk |
| Docker and systemd | Docker with sudo | Docker, systemd and FUSE; start dockerd yourself | Docker, root and systemd in every sandbox |
| Nested virtualization | No | Team and Enterprise plans only, on request | Yes, /dev/kvm on every plan |
| Desktop, browser, computer use | None; headless Linux only | Not offered; an example shows how to set up Xvfb and VNC yourself | 60fps desktop, Chromium, computer-use and browser-control APIs |
| Coding agents | Claude Code, Codex, OpenCode and pi preinstalled; you start them as commands | Examples only; you install the agent yourself | Claude Code, Codex and others preinstalled, with an API to prompt, steer and stream events |
| Keys kept outside the sandbox | Credentials brokering injects headers for any HTTPS domain you allow | Secrets are environment variables, or you run your own proxy in a sidecar | Credentials proxy for model providers and any HTTPS API; switch to another account when one runs out |
| Inbound access | Public URLs for up to 15 ports, no built-in auth; no raw TCP | Encrypted and raw TCP tunnels, connect tokens, inbound IP allowlist | HTTPS URLs for up to 50 ports, token-protected by default, plus raw TCP |
| Outbound network rules | Deny-all or a domain and CIDR allowlist, changeable while running | Block all, IP-range allowlist, domain allowlist (beta) | Open internet, no provider-side allowlist; firewall inside the VM |
| Custom images | Your own OCI images from a Dockerfile, via Vercel Container Registry | Custom images through the same API as Modal's other sandboxes | Named snapshots (templates), shareable by code; no Dockerfile builds |
| Regions | 19 regions across the US, Europe, Asia, South America, Africa and Australia | US, EU and Asia-Pacific; pinning a region costs 1.15x to 1.75x | EU only: Germany, Finland, France |
Every feature Battleships tracks (43)
| Feature | Vercel Sandbox | Modal VM Sandboxes | bochka |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | No | Yes | Yes |
| Root | Yes | Yes | Yes |
| Systemd | Not published | Yes | Yes |
| Desktop GUI | No | No | Yes |
| Browser | No | No | Yes |
| Computer-use API | No | No | Yes |
| SSH | No | Yes | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | Yes | No | Yes |
| Automatic snapshots | Yes | No | Yes |
| Fork/clone | Yes | Yes | Yes |
| Live fork (no pause) | Yes | Yes | Yes |
| Memory fork | No | Yes | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | Yes | Yes | Yes |
| Idle auto-stop | No | Yes | No |
| Wake on request | No | No | No |
| HTTPS preview URLs | Yes | Yes | Yes |
| Raw TCP inbound | No | Yes | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | Yes | Yes | No |
| Secret proxy | Yes | No | Yes |
| Secret proxy for any API | Yes | No | Yes |
| Preinstalled agents | Yes | No | Yes |
| Agent harness API | No | No | Yes |
| MCP server | Yes | No | No |
| GPU | No | No | No |
| Windows | No | No | No |
| Arm64 | No | No | No |
| Self-hosting | No | No | No |
| BYOC | No | No | No |
| Open source | No | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Yes | Not published | Yes |
| Usage per sandbox (API) | No | Not published | Yes |
| Audit logs | Not published | Yes | No |
| SSO | Yes | Yes | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | Yes | Yes | No |
| EU data residency | Yes | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
All three ran the same hpc-sandbox-benchmarks Node.js build-and-test loop at 4 vCPU / 8 GB on 29 September 2026. Modal VM Sandboxes did 15.54 runs per second and Vercel Sandbox did 12.96, so Modal did about 1.2 times the CPU work. bochka did 26.69, about 1.7 times Modal and about twice Vercel; this measures CPU speed only, not start time.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Modal VM Sandboxes measured on: VM Sandbox, request = size.
Pricing in five scenarios
Each bill is priced from the providers' public price lists by the open Battleships engine, with the cheapest plan that runs the scenario.
| Scenario | Vercel Sandbox, a month | Modal VM Sandboxes, a month | bochka, a month |
|---|---|---|---|
| One coding agent, workdays 4 vCPU / 8 GB, 50 GB disk, 8 hours a day, 22 days a month, files kept between days | $57 · Pro | $15 · Starter · with limits | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $236 · Pro · with limits | $178 · Starter · with limits | $26 · $20/mo |
| 50 agents in parallel 50 machines of 4 vCPU / 8 GB at once, 8-hour sessions, 1,100 sessions a month, Docker inside | $2,884 · Pro | $2,229 · Starter · with limits | $317 · $20/mo × 3 seats |
| Sandboxes for your users 2 vCPU / 4 GB, 30,000 sessions of 10 minutes a month, up to 300 at once | $828 · Pro | $792 · Team | $200 · $100/mo × 2 seats |
| 1,000 short jobs at once 2 vCPU / 4 GB, 1,000 at once, 3 minutes each, 200,000 jobs a month | $3,152 · Pro | $3,193 · Team · with limits | $2,000 · $2000/mo · with limits |
Vercel Sandbox: Vercel charges for CPU only while your code uses it, but for memory the whole time the sandbox runs, plus a small fee per sandbox created and a monthly fee per GB of snapshots. The $20 Pro credit is shared with your other Vercel usage.
Modal VM Sandboxes: Modal bills by the second for whichever is higher, the CPU and memory you request or what you use, until the sandbox ends. Starter is free with $30 of monthly credit, Team is $250 a month with $100 of credit, and pinning a region multiplies the price.
Modal VM Sandboxes: bochka charges one hourly rate per machine size, by the second, only while the sandbox runs. Plans start at $20 a month and the whole fee becomes usage credit; a stopped sandbox costs nothing and keeps its disk.
Limits in those scenarios
For one agent that never stops, both end each session at 24 hours: Vercel resumes from its snapshot with processes restarted, and Modal keeps only what is in a Volume or a snapshot. That Volume rule is also why Modal does not fit the workday and 50-agent scenarios, where installed packages reset. For 1,000 short jobs at once, Vercel fits, while Modal's Team price uses shared vCPUs that other tenants can slow, and bochka's $2,000 plan hits its start limits of 600 an hour and 2,400 a day.
| Scenario | Vercel Sandbox | Modal VM Sandboxes | bochka |
|---|---|---|---|
| One coding agent, workdays | None that bite |
| None that bite |
| One agent that never stops |
|
| None that bite |
| 50 agents in parallel | None that bite |
| None that bite |
| Sandboxes for your users | None that bite | None that bite | None that bite |
| 1,000 short jobs at once | None that bite |
|
|
Which one should you use?
Use Vercel Sandbox when
you run many short bursts of untrusted code close to users around the world, want files saved on every stop without extra code, or already deploy on Vercel.
- Regions all over the world. Useful if your users are spread out: Vercel Sandbox runs in 19 regions, from Virginia to Tokyo, Sydney and Cape Town.
- Files come back on their own. Every stop saves a filesystem snapshot and the next session resumes from it, with no Volume code to write.
- Dockerfile images and brokered keys. Useful if you already have a Dockerfile: boot sandboxes straight into it, and inject API keys for allowed domains from outside.
Use Modal VM Sandboxes when
you need systemd, raw TCP or memory snapshots in short-lived VMs, or already run your models and GPUs on Modal.
- A fuller Linux kernel. Useful for agents that need systemd, FUSE, raw TCP or SSH, and nested virtualization on Team and Enterprise.
- Memory snapshots and big bursts. Modal can clone a sandbox with its processes still running (alpha) and runs 5,000 containers at once on Team.
- One platform with inference and training. Useful if you already serve or train models on Modal: sandboxes and models sit on one account and one bill.
Where bochka fits
Vercel Sandbox and Modal VM Sandboxes are both built for short jobs that end within a day. If your agents work for hours or days on one machine, with builds, Docker, emulators and a browser to check their work, look at bochka. It gives each agent a full VM with no session cap on paid plans, on a faster CPU.
Agents that run past a day
Both stop each session at 24 hours, so a long agent task is cut off. Vercel resumes from a snapshot but restarts every process; on Modal you write snapshot or Volume code yourself. bochka has no session cap and saves its disk every minute.
A desktop and a browser built in
Neither has a screen, so an agent cannot open the app it built to see if it works. On Modal you set up Xvfb and VNC yourself, and on Vercel you build it from scratch. bochka streams a 60fps desktop with Chromium and computer-use APIs.
Faster CPU and /dev/kvm everywhere
Installs, builds and tests are billed while they wait. bochka did 26.69 runs/s against 15.54 for Modal and 12.96 for Vercel, and gives /dev/kvm on every plan; Vercel has no nested virtualization and Modal only on request.
Use bochka when your agents work for hours or days on one machine: builds, Docker, emulators and a desktop with a browser, on a faster VM that keeps its disk, with an API to drive the agents inside from outside. Compare it one to one: bochka vs Vercel Sandbox and bochka vs Modal VM Sandboxes.
Questions people ask
Is Vercel Sandbox cheaper than Modal VM Sandboxes?
Usually not. Modal costs less in four of our five scenarios, for example $178 against $236 for one agent that never stops and $2,229 against $2,884 for 50 parallel agents, but in three of those its files reset outside a Volume. For 1,000 short jobs at once Vercel is a little cheaper at $3,152 against $3,193, and bochka costs $26 a month for the always-on agent.
Which is faster, Vercel Sandbox or Modal VM Sandboxes?
On the hpc-sandbox-benchmarks CPU test at 4 vCPU / 8 GB, Modal VM Sandboxes did 15.54 runs per second and Vercel Sandbox did 12.96. bochka did 26.69 in the same run. This measures CPU speed only, not start time.
Can Vercel Sandbox and Modal VM Sandboxes run Docker?
Yes, both run Docker inside their VM: Vercel with sudo, and Modal with systemd, where you start dockerd yourself. Vercel has no nested virtualization, and Modal offers it on Team and Enterprise after you ask support. bochka runs Docker and exposes /dev/kvm on every plan.
Can either run 24/7?
Not as one session. Vercel Sandbox stops after 24 hours on Pro and Enterprise and resumes from its filesystem snapshot with processes restarted. Modal VM Sandboxes also end within 24 hours, and only Volumes and snapshots keep files. bochka has no session cap on paid plans.
Do they have a desktop or browser for computer use?
No. Vercel Sandbox is headless Linux only, and Modal shows an example of setting up Xvfb and VNC yourself. bochka includes a 60fps desktop, Chromium, and computer-use and browser-control APIs.
Try bochka
Install the CLI, then run bochka new.
Product preview
More comparisons
- bochka vs Vercel Sandbox
- bochka vs Modal VM Sandboxes
- E2B vs Vercel Sandbox
- Daytona vs Vercel Sandbox
- Modal vs Vercel Sandbox
- Vercel Sandbox vs Cloudflare Sandbox
- Vercel Sandbox vs Blaxel
- Vercel Sandbox vs Runloop
- Vercel Sandbox vs Tensorlake
- Vercel Sandbox vs Morph Cloud
- Vercel Sandbox vs CodeSandbox SDK
- Vercel Sandbox vs Northflank