E2B vs Unikraft Cloud

Both run each workload in its own Firecracker-based microVM. E2B is an API that hands each agent a sandbox with SDKs, a desktop and memory pause, billed per second, while Unikraft Cloud turns a Dockerfile into a tiny microVM that wakes in milliseconds and sells flat pools of running capacity.

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.

Unikraft Cloud

Unikraft Cloud is a microVM cloud from Unikraft Inc. that runs any Dockerfile-based workload as a minimal Linux microVM with millisecond cold starts and scale-to-zero.

Your Dockerfile becomes the VM image at build time, and each instance runs on a heavily customized Firecracker VMM, so it boots in milliseconds and can go into standby when no traffic arrives. It is a general compute platform built for dense, bursty work such as HTTP services, headless browsers and agent fleets, sold as flat self-serve plans plus Enterprise dedicated hosts, on-prem and bring your own cloud. It is not a dev machine you log into: instances are reached through services, the CLI and a sandbox plugin for commands and files.

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 workloadE2B: price rankUnikraft Cloud: price rankbochka: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
E2B fits a software factory with Docker inside each sandbox; Unikraft documents no container runtime inside an instance, and bochka adds /dev/kvm and about twice E2B's CPU speed.
16th cheapest of 367
$4,143 a month
Can't run it3rd 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 session cap, and Unikraft's Team pool gives every running instance 8 GiB of memory to share; bochka simply keeps running.
51st of 366, with limits
$5,348 a month
Can't run it5th 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 runs that sleep between calls suit both: E2B pauses with memory and wakes on the next call, and Unikraft wakes in milliseconds, though its self-serve plans cap you at 24 running instances.
37th cheapest of 345
$421 a month
Can't run it186th 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
E2B scales to hundreds of running user sandboxes on self-serve plans, while Unikraft Pro holds 5,000 sleeping instances but only 24 running ones.
23rd cheapest of 361
$2,354 a month
Can't run itCheapest 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; Unikraft has no self-serve pool big enough for that many at once.
2nd cheapest of 360
$9,384 a month
Can't run it34th 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
Can't run it10th cheapest of 364
$200 a month
CI runners
40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month
CI jobs that build Android apps or VM images need /dev/kvm, which E2B does not support and Unikraft keeps for Enterprise; bochka has it on every plan.
337th of 377, with limits
$1,429 a month
Can't run it4th cheapest of 377
$86 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
Unikraft's Team pool keeps a box around all month with no session cap but no SSH, E2B stops sessions at 24 hours on Pro, and bochka has neither limit.
192nd of 368, with limits
$358 a month
219th of 368, with limits
$39 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 Unikraft has none built in; bochka streams its desktop at 60fps.
32nd cheapest of 369
$1,342 a month
Can't run it6th 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
Can't run it7th 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
Can't run it6th 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
Can't run it71st 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
Can't run it2nd 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 itCan't run itCan't run it
macOS agents
5 at once · 4 vCPU / 8 GB · 1,000 sessions of 20 min a month
Can't run itCan't run itCan't run it

Key features

FeatureE2BUnikraft Cloudbochka
IsolationFirecracker microVM with its own kernelMinimal Linux microVM on a customized Firecracker VMMFull VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts
CPU benchmark (4 vCPU / 8 GB)12.61 runs/sNot measured26.69 runs/s
Machine size1 to 8 vCPU and 1 to 8 GiB per sandbox, more on requestPlan pool shared by all running instances: 2 vCPU / 4 GiB, 8 vCPU / 8 GiB or 24 vCPU / 32 GiB4 vCPU / 8 GB by default, up to 16 vCPU / 32 GB per sandbox on the $100 plan and above
Session lengthUp to 1 hour on Hobby, 24 hours on Pro; pausing resets the clockNo published session cap; instances run until stopped or put in standbyNo cap on paid plans; you set the time to live
Docker insideYes, Docker runs inside the sandboxThe Dockerfile becomes the VM image; no container runtime inside documentedYes, Docker, systemd and root, like any Ubuntu machine
Nested virtualizationNot supportedYes, Enterprise onlyYes, /dev/kvm for Android emulators and VMs on every plan
Pause and wakePauses with memory and resumes in about 1 second; can wake on the next requestStandby after a 1 second idle cooldown; traffic wakes it in milliseconds, with memory in stateful modeDisk saved every minute and on stop; a stopped sandbox costs nothing and is started again by API
ForkFork a running sandbox with its memory, up to 20 copies per callCheckpoint memory and volumes of a running microVM, then start new instances from itFork a running sandbox with its disk
Desktop and computer useLinux desktop for computer-use agentsNone built in; you can run your own headless browser from a DockerfileLinux desktop streamed at 60fps, Chromium, and a computer-use agent
Inbound accessHTTPS URL per port, public by default unless you turn on a token; no dedicated IPServices on its load balancer: HTTP on 80, HTTPS on 443, TLS-wrapped TCP on other ports; no public IP per instanceHTTPS URLs for up to 50 ports, token-protected by default; raw TCP; dedicated IPv4 or IPv6
Outbound rulesAllow and deny lists by IP, CIDR or domainNetwork shield filters traffic, Enterprise only, limited accessOpen internet, no provider-side allowlist
Keeping API keys out of the sandboxSecrets injected into outbound HTTPS headers (private beta)Network shield can inject secrets into traffic, Enterprise only, limited accessCredentials proxy for model providers and any HTTPS API, on every plan; switch a credential to another account when credits run out
Coding agentsTemplates and guides for many agents, run through the command APINone preinstalled; you bring the agent in your own imageSeven agents preinstalled, with a prompt, steer and events API
Regions and self-hostingUS by default, EU and APAC on Pro; open-source runtime and bring your own cloud on EnterpriseDallas, Frankfurt, San Francisco, Singapore, Washington DC; dedicated hosts, on-prem and your own cloud on EnterpriseEU only (Germany, Finland, France); no self-hosting
Every feature Battleships tracks (43)
FeatureE2BUnikraft Cloudbochka
Full VM (own kernel)YesYesYes
Docker insideYesNoYes
Nested virtualizationNoYesYes
RootYesYesYes
SystemdYesNot publishedYes
Desktop GUIYesNoYes
BrowserYesNoYes
Computer-use APIYesNoYes
SSHYesNoYes
Persistent diskYesYesYes
Pause/resumeYesYesYes
Automatic snapshotsYesYesYes
Fork/cloneYesYesYes
Live fork (no pause)YesYesYes
Memory forkYesYesNo
Custom image (Docker or snapshot)YesYesYes
≥24 h sessionsYesYesYes
Idle auto-stopYesYesNo
Wake on requestYesYesNo
HTTPS preview URLsYesYesYes
Raw TCP inboundNoNot publishedYes
Public IPv4NoNoNo
Egress allowlistYesYesNo
Secret proxyYesYesYes
Secret proxy for any APIYesYesYes
Preinstalled agentsYesNoYes
Agent harness APINoNoYes
MCP serverYesNoNo
GPUNoYesNo
WindowsNoNoNo
Arm64NoYesNo
Self-hostingYesYesNo
BYOCYesYesNo
Open sourceYesNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsYesNot publishedYes
Usage per sandbox (API)NoNoYes
Audit logsNot publishedYesNo
SSONoNoNo
SOC 2YesYesNo
HIPAAYesYesNo
EU data residencyYesYesYes
Zero data retentionNot publishedNot publishedYes

Performance

E2B12.61 runs/s
Unikraft CloudNot measured
bochka26.69 runs/s

On the StarSling hpc-sandbox-benchmarks Node.js build-and-test loop at 4 vCPU / 8 GB, bochka did 26.69 runs per second and E2B did 12.61, so bochka finished about twice as much CPU work in the same time. Unikraft Cloud has no comparable measurement. Its own figure is cold starts under 10 ms, which measures start time, not CPU speed.

Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Unikraft Cloud 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.

ScenarioE2B, a monthUnikraft Cloud, a monthbochka, 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$39 · Hobby$20 · $20/mo
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$368 · Pro · with limits$39 · Hobby$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 · ProCan't run it$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)Can't run it$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)Can't run it$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.

Unikraft Cloud: Unikraft charges a flat monthly fee for a pool of running capacity: free for 2 vCPU / 4 GiB, $39 for 8 vCPU / 8 GiB, $199 for 24 vCPU / 32 GiB, with sleeping instances not counted. It publishes no per-hour rate, so anything bigger is an Enterprise quote.

Unikraft Cloud: 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. Unikraft's limits are pools every running instance shares: one 4 vCPU / 8 GB agent fills the Team plan, so the 50-agent, user-sandbox and burst scenarios fit no self-serve plan. bochka has no session cap, but at 1,000 short jobs at once its start limits are lower than E2B Pro++, which only queues bursts above 300 starts a minute.

ScenarioE2BUnikraft Cloudbochka
One coding agent, workdays
  • disk beyond 20 GiB: price unknown
  • egress price not published
  • flat pool: the tier is billed whether used or not
  • disk beyond 0 GiB: price unknown
  • egress price not published
None that bite
One agent that never stops
  • Pro: sessions capped at 24 h
  • disk beyond 20 GiB: price unknown
  • egress price not published
  • flat pool: the tier is billed whether used or not
  • disk beyond 0 GiB: price unknown
  • egress price not published
None that bite
50 agents in parallel
  • egress price not published
  • no pool tier with 200 vCPU / 400 GiB for 50 VMs
  • no published per-resource rate
None that bite
Sandboxes for your users
  • egress price not published
  • no pool tier with 600 vCPU / 1,200 GiB for 300 VMs
  • no published per-resource rate
None that bite
1,000 short jobs at once
  • egress price not published
  • bursts above 300 starts/min are queued (a burst of 333 takes ~2 min to start)
  • no pool tier with 2,000 vCPU / 4,000 GiB for 1,000 VMs
  • no published per-resource rate
  • max 2,400 starts/day (needs ~6,667)
  • max 600 starts/hour (needs ~1,000)
  • bursts above 90 starts/min are queued (a burst of 333 takes ~4 min to start)

Which one should you use?

Use E2B when

you run many short agent or code jobs that pause between requests, need hundreds of sandboxes at once on a self-serve plan, or want an open-source runtime.

  • Bigger fleets without a sales call. E2B's self-serve plans run 100 to 1,100 sandboxes at once, while Unikraft's largest self-serve pool holds 24 running instances.
  • Built for agent sessions. Python and JavaScript SDKs, Docker inside, a Linux desktop and agent templates help teams handing each agent its own sandbox.
  • Open-source runtime. E2B's runtime is Apache-2.0 and can run on your own Linux host with KVM, which suits teams that want to self-host.

Use Unikraft Cloud when

you run many small services or headless browsers that sleep most of the time and must wake in milliseconds, or want GPUs, on-prem or your own cloud under an Enterprise contract.

  • Millisecond starts and scale-to-zero. Best for many small services that sleep most of the time and must answer the next request in milliseconds.
  • No session clock. An instance can keep running all month with no published session cap, so long-lived services need no pause and resume logic.
  • GPUs, arm64 and your own hardware. Enterprise customers can get NVIDIA GPUs, arm64 hosts, dedicated hosts, on-prem or their own cloud.

Where bochka fits

If your agents do real work for hours, like installs, builds, tests, Docker, emulators and a browser, look at bochka. E2B cuts sessions off at 24 hours and Unikraft keeps nested virtualization, egress rules and secret injection for Enterprise, while bochka gives every sandbox a full VM with these on self-serve plans.

A whole machine with /dev/kvm

E2B does not support nested virtualization and Unikraft keeps it for Enterprise, so Android emulators and VMs need a contract or cannot start. Unikraft also documents no Docker inside an instance. bochka gives root, systemd, Docker and /dev/kvm on every plan.

Runs as long as the task does

On E2B Pro a session stops at 24 hours, so your code has to pause and resume long agents. Unikraft has no clock, but its Team pool is 8 GiB shared by every running instance. bochka has no session cap on paid plans.

Faster CPU and agents driven from outside

bochka did 26.69 runs per second on the CPU benchmark against E2B's 12.61, and Unikraft was not measured. Seven coding agents come preinstalled, driven from outside, with real keys kept in a credentials proxy instead of a private beta or Enterprise feature.

Use bochka when your agents need a real machine to work in for hours: Docker, emulators, a desktop and a browser, coding agents you drive from outside, on a fast CPU with no session cap. Compare it one to one: bochka vs E2B and bochka vs Unikraft Cloud.

Questions people ask

Is E2B cheaper than Unikraft Cloud?

For one agent, no: one coding agent on workdays or one that never stops costs less on Unikraft's Team pool than on E2B. For 50 agents, sandboxes for your users or 1,000 short jobs, no self-serve Unikraft plan is big enough, so E2B has a published price and Unikraft needs an Enterprise quote.

Which is faster, E2B or Unikraft Cloud?

Unikraft starts faster: its microVMs cold boot in milliseconds and wake on the next request. For CPU work there is no comparable Unikraft measurement; E2B did 12.61 runs per second on the hpc-sandbox-benchmarks test, and bochka did 26.69.

Can E2B and Unikraft Cloud run Docker?

E2B runs Docker inside the sandbox. Unikraft uses your Dockerfile to build the VM's filesystem, and its docs do not describe a container runtime inside a running instance. bochka runs Docker, systemd and /dev/kvm in every sandbox.

Can a sandbox run for days on E2B or Unikraft Cloud?

Not in one E2B session: it stops after 24 hours on Pro and 1 hour on Hobby, though pausing resets the clock. Unikraft publishes no session cap, so an instance runs until stopped. bochka has no session cap on paid plans.

Can I SSH into Unikraft Cloud?

Not yet. Today you run commands and move files through its sandbox plugin and CLI. You can SSH into every bochka sandbox or drive it through its API.

Is bochka SOC 2 compliant?

SOC 2 is in progress. We're open about where we stand: live status at status.bochka.xyz and our data retention policy at docs.bochka.xyz/data-retention.

Try bochka

Install the CLI, then run bochka new.

Product preview

More comparisons

Bochka product preview · Pricing, benchmarks and commands are illustrative. Sandbox provisioning is not connected.