E2B vs Koyeb
Both give each sandbox its own microVM and wake it on the next request. E2B is built for short agent jobs that pause with their memory and fork, while Koyeb is a wider cloud with GPUs, bigger machines and no session cap.
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
Koyeb
Koyeb is a serverless cloud for apps, inference and sandboxes, and in February 2026 it agreed to join Mistral AI.
A Koyeb sandbox is a Koyeb service: a microVM started from any Docker image and driven from Python or JavaScript SDKs that run commands, read files and expose a port. It can scale to zero when idle and wake on the next request, and it can run on CPU or GPU instance types. It is built for teams that run AI agents or untrusted code next to apps they already host on Koyeb.
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 | Koyeb: price rank | bochka: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month E2B stops a session at 24 hours on Pro and Koyeb loses its local disk on redeploy, while bochka keeps its disk and has no session cap. | 16th cheapest of 367 $4,143 a month | 54th of 367, with limits $366 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB An assistant that runs all month hits E2B's 24-hour cap, and on Koyeb a deep sleep throws away the VM; bochka simply keeps running. | 51st of 366, with limits $5,348 a month | 135th of 366, with limits $923 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 that wake on a request; Koyeb's small instances and scale to zero make it the stronger fit here. | 37th cheapest of 345 $421 a month | 4th cheapest of 345 $66 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 sleeping sandbox on the next request; Koyeb runs in more regions, and bochka gives each user a fuller machine with up to 50 HTTPS ports. | 23rd cheapest of 361 $2,354 a month | 6th cheapest of 361 $495 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. | 2nd cheapest of 360 $9,384 a month | 237th of 360, with limits $1,631 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 | 19th cheapest of 364 $429 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 CI that builds Android apps or VM images needs /dev/kvm, which neither E2B nor Koyeb offers and bochka does. | 337th of 377, with limits $1,429 a month | 142nd of 377, with limits $88 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB | 192nd of 368, with limits $358 a month | 217th of 368, with limits $37 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 Koyeb sandboxes have none; bochka streams its desktop at 60fps. | 32nd cheapest of 369 $1,342 a month | 81st of 369, with limits $123 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 | 100th of 367, with limits $746 a month | 172nd of 367, with limits $123 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 | 172nd of 346, with limits $89 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 | 65th of 338, with limits $1,683 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 | 233rd of 360, with limits $299 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 Koyeb runs GPU instances up to H100 and H200, while E2B and bochka are CPU only. | Can't run it | 3rd cheapest of 98 $628 a month | 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 | Koyeb | bochka |
|---|---|---|---|
| Isolation | Firecracker microVM with its own kernel | MicroVM per instance | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| CPU benchmark (4 vCPU / 8 GB) | 12.61 runs/s | Not benchmarked; at least 0.25 dedicated vCPU per GB, bursting to all cores | 26.69 runs/s |
| Biggest machine | Up to 8 vCPU / 8 GiB self-serve, more on request | Up to 40 vCPU / 128 GB, and GPU types far larger | Up to 16 vCPU / 32 GB on the $100 plan and above |
| Session length | Up to 1 hour on Hobby, 24 hours on Pro; pausing resets the clock | No forced cap; auto-delete timers are optional | No cap on paid plans; you set the time to live |
| Disk that survives | Paused sandboxes keep memory and disk; 20 GiB on Pro | Local disk is lost on redeploy; volumes are in preview at 1 to 10 GB | Disk kept across stops and saved every minute, with snapshots |
| Pause and wake | Pauses with memory, resumes in about 1 second, can wake on the next request | Scales to zero after 5 idle minutes and wakes on the next request; Light Sleep wakes in about 200 ms | Stop and start by API; a stopped sandbox costs nothing and keeps its disk |
| Fork | Fork a running sandbox with its memory, up to 20 copies per call | SDK snapshots, with running processes, then new sandboxes from them (experimental) | Fork a running sandbox with its disk |
| Nested virtualization | Not supported | Not documented | Yes, /dev/kvm for Android emulators and VMs |
| Inbound access | HTTPS URL per port, public by default; no dedicated IP | One exposed HTTPS port at a time, plus an optional TCP proxy; no dedicated IP | 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 | Block all outbound traffic, or allow listed IPs and CIDRs | Open internet, no provider-side allowlist |
| Desktop and browser | Linux desktop for computer use | No desktop or browser in the sandbox SDK | 60fps Linux desktop with Chromium and computer use |
| Coding agents | Templates and guides, run through the command API | Tutorials that run agents through the command API | Seven agents preinstalled, with a prompt, steer and events API |
| Keeping API keys out of the sandbox | Secrets injected into outbound HTTPS headers (private beta) | Secrets set as environment variables inside the service | Credentials proxy for model providers and any HTTPS API, with account switching when credits run out |
| GPUs and regions | CPU only; US, EU and APAC | RTX 4000 up to H100 and H200; EU, US and Asia | CPU only; EU only (Germany, Finland, France) |
Every feature Battleships tracks (43)
| Feature | E2B | Koyeb | bochka |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | No | No | Yes |
| Root | Yes | Not published | Yes |
| Systemd | Yes | Not published | Yes |
| Desktop GUI | Yes | No | Yes |
| Browser | Yes | No | Yes |
| Computer-use API | Yes | No | Yes |
| SSH | Yes | No | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | Yes | Yes | Yes |
| Automatic snapshots | Yes | Yes | Yes |
| Fork/clone | Yes | Yes | Yes |
| Live fork (no pause) | Yes | Not published | Yes |
| Memory fork | Yes | Yes | 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 | 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 | Yes | Yes |
| Agent harness API | No | No | Yes |
| MCP server | Yes | Yes | No |
| GPU | No | Yes | No |
| Windows | No | No | No |
| Arm64 | No | No | No |
| Self-hosting | Yes | Yes | No |
| BYOC | Yes | Yes | No |
| Open source | Yes | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Yes | No | Yes |
| Usage per sandbox (API) | No | No | Yes |
| Audit logs | Not published | Yes | No |
| SSO | No | Yes | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | Yes | No | No |
| EU data residency | Yes | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
On the hpc-sandbox-benchmarks Node.js build-and-test loop at 4 vCPU / 8 GB, E2B did 12.61 runs per second and bochka did 26.69, about twice the CPU work in the same time. Koyeb has no comparable measurement: it was not in that run. Koyeb publishes a CPU share of at least 0.25 dedicated vCPU per GB of memory, bursting to all cores, so its speed depends on how busy the host is.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Koyeb 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 | Koyeb, 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 | $202 · Pro | $29 · Pro | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $368 · Pro · with limits | $57 · Pro | $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 | $475 · Pro | $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) | $329 · Scale | $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) | $485 · Scale · with limits | $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.
Koyeb: Koyeb bills each instance per second at a fixed price per instance type, and Deep Sleep costs nothing. Pro costs $29 a month with $10 of usage included and Scale $299 a month with $100 included; bandwidth above 1 TB is extra.
Koyeb: 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, which is why it does not fit the always-on scenario, and its Pro plan includes 20 GiB of disk. Koyeb's priced eco-xlarge shape also has a 20 GiB disk with no published price for more, and eco instances guarantee only half of each vCPU. At 1,000 short jobs at once, E2B Pro++ fits and only queues bursts above 300 starts a minute, while Koyeb's burstable CPU throttles under load and bochka's $2,000 plan caps starts per hour and per day.
| Scenario | E2B | Koyeb | bochka |
|---|---|---|---|
| One coding agent, workdays |
|
| 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 |
| 1,000 short jobs at once |
|
|
|
Which one should you use?
Use E2B when
you run many short jobs that pause with their memory, fork from the same state, or need domain-level outbound rules.
- Memory pause and fork. For short jobs that sleep between requests, E2B resumes in about a second with processes running and forks with memory.
- Fine outbound rules. E2B can allow or block outbound traffic by domain as well as IP, so an agent only reaches the hosts you pick.
- Open source runtime. Teams that want to read or run the code themselves get an Apache-2.0 runtime, plus their own cloud on Enterprise.
Use Koyeb when
your sandboxes need GPUs, big machines or long sessions, or should sleep when idle next to apps you already host there.
- GPUs on the same platform. When an agent or eval needs a GPU, Koyeb runs instances from RTX 4000 cards up to H100 and H200.
- Bigger machines, no session cap. Koyeb goes up to 40 vCPU / 128 GB and does not force a session length, so long jobs are not cut off.
- Apps and sandboxes together. Teams already hosting apps on Koyeb can run sandboxes next to them, in regions across the EU, US and Asia.
Where bochka fits
If your agents do real work for hours, like installs, builds, Docker, emulators and a browser, look at bochka. It gives each agent a full VM that keeps its disk, has no session cap, and comes with agents, keys and hosting built in.
A full machine that keeps its disk
E2B stops a session at 24 hours on Pro, so your code must pause and resume it. Koyeb loses its local disk on redeploy unless you add a preview volume. bochka keeps the disk and saves it every minute.
/dev/kvm and faster CPUs
Neither E2B nor Koyeb offers nested virtualization, so Android emulators and VMs must run elsewhere. bochka exposes /dev/kvm and did 26.69 runs/s on the CPU benchmark against E2B's 12.61.
Agents, desktop and ports built in
On both you build the agent harness on top of exec. Koyeb exposes one port at a time and has no desktop, and E2B keeps key injection in private beta. bochka has seven agents, a credentials proxy, a 60fps desktop and 50 HTTPS ports.
Use bochka when your agents do real work for hours on a fast machine that keeps its disk: builds, Docker, emulators, a desktop browser and preview servers, with agents and keys handled for you. Compare it one to one: bochka vs E2B and bochka vs Koyeb.
Questions people ask
Is E2B cheaper than Koyeb?
No, Koyeb's price is lower in all five scenarios on this page, though it does not fit 1,000 short jobs at once. For example it is $57 against $368 a month for one agent that never stops, and $475 against $2,773 for 50 agents in parallel. bochka costs less than both in the four scenarios it fits.
Which is faster, E2B or Koyeb?
Only E2B was measured: 12.61 runs per second on the hpc-sandbox-benchmarks CPU test at 4 vCPU / 8 GB, against 26.69 for bochka. Koyeb was not in that run, and its eco instances guarantee only half of each vCPU.
Can an E2B or Koyeb sandbox run for days?
E2B stops a session after 24 hours on Pro and 1 hour on Hobby, though pausing resets the clock. Koyeb has no forced cap; its auto-delete timers are optional. bochka has no session cap on paid plans.
Can E2B and Koyeb run Docker and Android emulators?
Both run Docker inside the sandbox. Neither offers nested virtualization, so Android emulators and VMs will not start; bochka exposes /dev/kvm for them.
Does Koyeb or E2B have GPUs?
Koyeb does, from an RTX 4000 SFF Ada up to H100 and H200, billed per second. E2B and bochka are CPU only.
Do they keep files when a sandbox sleeps?
A paused E2B sandbox keeps its memory and disk. On Koyeb a deep sleep discards the VM, so lasting files need a preview volume or an SDK snapshot. bochka keeps its disk across stops and saves it every minute.
Try bochka
Install the CLI, then run bochka new.
Product preview