E2B vs Upstash Box
E2B gives each agent a Firecracker microVM that runs Docker and can pause with its memory, but stops after 24 hours on Pro. Upstash Box gives each agent a light container that bills only the CPU it uses and can stay on all month, but cannot run Docker inside.
The companies and products
E2B
E2B calls itself the AI agent cloud: an API that gives each agent session its own isolated Linux machine.
Every E2B sandbox is a Firecracker microVM that boots from a snapshot, so it starts fast and can be paused and resumed with its memory. You build custom sandboxes from templates based on a Docker image, and drive them from Python or JavaScript SDKs. It is built for teams that run many short code, data or agent jobs, and its runtime is open source.
- Isolation
- Firecracker microVM per sandbox
- Bring your own cloud
- Enterprise data plane in your AWS, GCP or Azure account
- Compliance
- SOC 2 Type II; HIPAA BAA on request
- Machine size
- 1 to 8 vCPU and 1 to 8 GiB RAM, CPU only
Upstash Box
Upstash Box is a cloud computer for AI agents from Upstash, the company known for serverless Redis, Vector and QStash.
Each box is a Docker container with its own filesystem, shell, git and an optional coding agent such as Claude Code, Codex or OpenCode, which you drive from TypeScript or Python SDKs. A box pauses when it sits idle, keeps its files, and you pay for the CPU it actually uses. Upstash built it to run its own Context7 service and opened it to everyone in March 2026.
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. “16th cheapest of 367” means 15 of the other 366 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 | E2B: price rank | Upstash Box: price rank | boat: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month A software factory needs Docker for databases and test services, which E2B runs inside its microVM and an Upstash box does not; boat adds /dev/kvm and no 24-hour cap. | 16th cheapest of 367 $4,143 a month | 61st of 367, with limits $464 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB An assistant that lives on its machine all month hits E2B's 24-hour cap, while an Upstash keep-alive box stays on; boat gives it a full machine with systemd and a desktop. | 51st of 366, with limits $5,348 a month | 103rd of 366, with limits $475 a month | 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 Both suit short code runs: an idle Upstash box costs no CPU, and a paused E2B sandbox comes back in about a second with its processes running. | 37th cheapest of 345 $421 a month | 10th cheapest of 345 $119 a month | 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 Both wake a user's paused sandbox on the next request; boat gives each user a full VM with Docker and hosting built in. | 23rd cheapest of 361 $2,354 a month | 2nd cheapest of 361 $222 a month | 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 E2B's memory forks and high start rate suit many short rollouts that branch from the same state, while Upstash snapshots keep files only. | 2nd cheapest of 360 $9,384 a month | 352nd of 360, with limits $8,068 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 | 78th cheapest of 364 $1,975 a month | 52nd cheapest of 364 $1,011 a month | 10th cheapest of 364 $200 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month | 337th of 377, with limits $1,429 a month | 120th cheapest of 377 $1,520 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB An Upstash keep-alive box at a flat monthly price makes a light dev box, while E2B's 24-hour cap gets in the way; boat's is a full VM with Docker and a 50 GB disk. | 192nd of 368, with limits $358 a month | 10th cheapest of 368 $20 a month | 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 E2B has a Linux desktop for computer use and Upstash has only a headless browser; boat streams its desktop at 60fps and can be embedded in your app. | 32nd cheapest of 369 $1,342 a month | 73rd of 369, with limits $76 a month | 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 Upstash ships a managed headless Chromium with AI page actions; E2B and boat give the agent a desktop browser it can see and click. | 100th of 367, with limits $746 a month | 49th of 367, with limits $38 a month | 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 | 57th cheapest of 346 $554 a month | 37th cheapest of 346 $400 a month | 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 | 227th of 338, with limits $9,223 a month | 200th of 338, with limits $8,000 a month | 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 | 11th cheapest of 360 $1,043 a month | 225th of 360, with limits $259 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 | E2B | Upstash Box | boat |
|---|---|---|---|
| Isolation | Firecracker microVM with its own kernel | Docker container per box on AWS | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| CPU benchmark (4 vCPU / 8 GB) | 12.61 runs/s | Not measured | 26.69 runs/s |
| Docker inside | Yes, Docker runs inside the microVM | Not documented; the box is itself a Docker container, and custom images are listed as coming soon | Yes, Docker and systemd run as on any Linux server |
| Nested virtualization | Not supported | No; boxes are containers with no VM support documented | Yes, /dev/kvm for Android emulators and VMs |
| Biggest machine | Up to 8 vCPU / 8 GiB self-serve, more on request | Large: 8 vCPU / 16 GB | Up to 16 vCPU / 32 GB on the $100 plan and above |
| Disk | 10 GiB on Hobby, 20 GiB on Pro, no self-serve extra disk | 5, 10 or 20 GB by size, billed per GB-month | 50 GB at the default 4 vCPU / 8 GB size, 12 to 251 GB by size |
| Session length | Up to 1 hour on Hobby, 24 hours on Pro; pausing resets the clock | No cap documented; a keep-alive box stays on all month | No cap on paid plans; you set the time to live |
| Pause and wake | Saves memory and disk; resumes in about 1 second with processes running, also on the next HTTP request or SDK call | Pauses itself when idle and keeps its files; a request to its public URL wakes it; storage keeps billing while paused | Disk saved every minute and on stop; a stopped sandbox costs nothing and is started again by API |
| Fork | Fork a running sandbox with its memory, up to 20 copies per call | Snapshot a running box and start many new boxes from it | Fork a running sandbox with its disk |
| Desktop and browser | Linux desktop for computer use | Managed headless Chromium with AI page actions and CDP; no desktop | Linux desktop streamed at 60fps, Chromium and computer-use tools, embeddable in your app |
| Inbound access | HTTPS URL per port, public by default unless you turn on a token; no dedicated IP | HTTPS URL per port, public unless you add a token or basic auth; SSH through a gateway; no raw TCP | HTTPS URLs for up to 50 ports, token-protected by default; raw TCP; dedicated IPv4 or IPv6 |
| Outbound rules | Allow and deny lists by IP, CIDR or domain | Allow all, deny all, or allow and deny by domain and CIDR, changeable on a running box | Open internet, no provider-side allowlist |
| Keeping API keys out of the sandbox | Secrets injected into outbound HTTPS headers (private beta) | Host proxy injects headers into outbound HTTPS on port 443; set when the box is created | Credentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out |
| Regions and self-hosting | US by default, EU and APAC on Pro; open-source runtime and bring your own cloud on Enterprise | US only (AWS us-east-1); no self-hosting | EU only (Germany, Finland, France); no self-hosting |
Every feature Battleships tracks (43)
| Feature | E2B | Upstash Box | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | No | Yes |
| Docker inside | Yes | No | Yes |
| Nested virtualization | No | No | Yes |
| Root | Yes | Not published | Yes |
| Systemd | Yes | Not published | Yes |
| Desktop GUI | Yes | No | Yes |
| Browser | Yes | Yes | Yes |
| Computer-use API | Yes | No | Yes |
| SSH | Yes | Yes | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | Yes | Yes | Yes |
| Automatic snapshots | Yes | No | Yes |
| Fork/clone | Yes | Yes | Yes |
| Live fork (no pause) | Yes | Yes | Yes |
| Memory fork | Yes | No | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | Yes | Yes | Yes |
| Idle auto-stop | Yes | Yes | No |
| Wake on request | Yes | Yes | No |
| HTTPS preview URLs | Yes | Yes | Yes |
| Raw TCP inbound | No | No | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | Yes | Yes | No |
| Secret proxy | Yes | Yes | Yes |
| Secret proxy for any API | Yes | Yes | Yes |
| Preinstalled agents | Yes | Yes | Yes |
| Agent harness API | No | Yes | Yes |
| MCP server | Yes | Yes | No |
| GPU | No | No | No |
| Windows | No | No | No |
| Arm64 | No | Yes | No |
| Self-hosting | Yes | No | No |
| BYOC | Yes | No | No |
| Open source | Yes | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Yes | Not published | Yes |
| Usage per sandbox (API) | No | Yes | Yes |
| Audit logs | Not published | Not published | No |
| SSO | No | No | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | Yes | No | No |
| EU data residency | Yes | No | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
E2B and boat were measured in the same StarSling hpc-sandbox-benchmarks run, a Node.js build-and-test loop at 4 vCPU / 8 GB. E2B did 12.61 runs per second and boat did 26.69, about twice as much CPU work in the same time. Upstash Box has no result in that test, so there is no comparable measurement for it.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Upstash Box has no published run in this suite yet, so there is no like-for-like number to compare.
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 | E2B, a month | Upstash Box, a month | boat, 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 | $202 · Pro | $21 · Pay as You Go | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $368 · Pro · with limits | $21 · Pay as You Go | $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,773 · Pro | $900 · Pay as You Go · 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 | $1,395 · Pro+ (600 concurrent) | $306 · Pay as You Go | $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 | $2,797 · Pro++ (1,100 concurrent) | $1,822 · Pay as You Go | $2,000 · $2000/mo · with limits |
E2B: E2B bills per second for the vCPU and RAM you set, idle time included, until you pause or kill the sandbox. Pro costs $150 a month for higher limits with no usage credit, and more concurrency costs $500 a month per 500 slots.
Upstash Box: A standard box is billed for the CPU it actually uses, at $0.10, $0.20 or $0.40 per active CPU hour for Small, Medium and Large, plus $0.10 per GB-month of storage, and RAM is free. A keep-alive box costs a flat $8, $16 or $32 a month, busy or not.
Upstash Box: Plans start at $20 a month, and the whole fee is usage credit. You pay per second while a sandbox runs, and a stopped sandbox costs nothing and keeps its disk.
Limits in those scenarios
E2B caps a session at 24 hours on Pro, so it does not fit the agent that never stops, and Pro includes 20 GiB of disk. Upstash cannot run Docker inside a box, so the 50 agents in parallel do not fit there, and its disks stop at 5, 10 or 20 GB by size. For 1,000 short jobs at once, E2B Pro++ queues bursts above 300 starts a minute and Upstash starts them all, while boat's $2,000 plan caps starts per hour and per day.
| Scenario | E2B | Upstash Box | boat |
|---|---|---|---|
| One coding agent, workdays |
|
| None that bite |
| One agent that never stops |
|
| None that bite |
| 50 agents in parallel |
|
| None that bite |
| Sandboxes for your users |
|
| None that bite |
| 1,000 short jobs at once |
|
|
|
Which one should you use?
Use E2B when
you run many short jobs that pause between requests and need Docker, memory forks, or regions in the US, EU and APAC.
- Memory pause and memory forks. For short jobs that sleep between requests: a paused sandbox comes back in about a second with its processes still running.
- Docker and a desktop in a microVM. Each sandbox has its own kernel, runs Docker and has a Linux desktop, which an Upstash container does not offer.
- More regions and open source. It runs in the US, EU and APAC, its runtime is open source, and Enterprise can run in your own cloud.
Use Upstash Box when
your agents mostly wait, should cost nothing while idle, must stay on all month at a flat price, and do not need Docker.
- Idle costs no CPU. For agents that wait a lot: Upstash bills only the CPU a box actually uses, and RAM is not billed at all.
- Stays on all month. A keep-alive box runs all month at a flat price, while E2B stops a session after 24 hours on Pro.
- Agents with webhooks and schedules. Claude Code, Codex and OpenCode are built in, with run and stream APIs, webhooks and scheduled prompts.
Where boat fits
If your agents do real work for hours, installs, builds, Docker, emulators and a browser, look at boat. It gives each agent a full VM on a fast CPU with no session cap, which neither E2B nor Upstash Box offers in one place.
Docker and emulators both work
On Upstash an agent cannot start Docker inside its box, so the 50-agent scenario does not fit. E2B runs Docker but has no nested virtualization, so Android emulators and VMs cannot start. boat has Docker, systemd and /dev/kvm.
Twice the CPU, no cutoff
E2B did 12.61 runs per second on the CPU test and boat did 26.69, and E2B stops after 24 hours unless your code pauses and resumes it. Upstash has no measured score and tops out at 20 GB of disk.
Ports and keys handled for you
Both give one public-by-default HTTPS URL per port, with no raw TCP or dedicated IP. boat protects up to 50 ports with a token, opens raw TCP, and keeps keys for any HTTPS API in a proxy that can switch accounts.
Use boat when your agents need a real machine for hours: Docker, emulators, a 60fps desktop, a big disk and a fast CPU, with no session cap. Compare it one to one: boat vs E2B and boat vs Upstash Box.
Questions people ask
Is E2B cheaper than Upstash Box?
No. Upstash Box costs less in all five scenarios on this page: one coding agent on workdays is $202 on E2B against $21 on Upstash. Upstash's 50-agent price does not count as a fit, though, because its boxes cannot run Docker.
Which is faster, E2B or Upstash Box?
E2B did 12.61 runs per second on the hpc-sandbox-benchmarks CPU test at 4 vCPU / 8 GB, and Upstash Box has no result in it. boat did 26.69 runs per second in the same run.
Can E2B and Upstash Box run Docker?
E2B runs Docker inside its microVM, but has no nested virtualization for emulators or VMs. Upstash's docs do not offer Docker inside a box, which is itself a Docker container. boat runs Docker, systemd and /dev/kvm.
Can a sandbox run for days on E2B or Upstash Box?
On E2B, not in one session: it stops after 24 hours on Pro and 1 hour on Hobby, though pausing resets the clock. Upstash documents no cap, and a keep-alive box stays on all month. boat has no session cap on paid plans.
Does either have a desktop for computer use?
E2B has a Linux desktop for computer-use agents. Upstash gives a headless Chromium with AI page actions and no desktop. boat streams a full Linux desktop at 60fps that you can embed in your app.
Where do E2B and Upstash Box run?
E2B runs in the US by default, with EU and APAC on Pro and above. Upstash Box runs only in AWS us-east-1, with more regions planned. boat runs in the EU, in Germany, Finland and France.
Try boat
Install the CLI, then run boat new.
7-day free trial