Blaxel vs Unikraft Cloud

Both run each workload in a Firecracker microVM that sleeps when idle and wakes in milliseconds. Blaxel is an agent sandbox billed per active second with up to 200 at once, while Unikraft Cloud is a general microVM cloud sold as small flat pools of running capacity.

The companies and products

Blaxel

Blaxel is a San Francisco company that runs cloud infrastructure for AI agents, and since September 2026 it is part of Baseten.

You get sandboxes, batch jobs, MCP server hosting and a model gateway. Each sandbox is a Firecracker microVM with its own kernel that drops to standby when nothing is connected and resumes in under 25 ms with its memory and running processes. It is built for agent products that start many sandboxes and want them asleep most of the time.

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. “10th cheapest of 367” means 9 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 workloadBlaxel: price rankUnikraft Cloud: price rankbochka: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
Blaxel fits a software factory with Docker inside its sandboxes, while Unikraft has no self-serve pool big enough for it; bochka adds /dev/kvm and a real disk.
10th cheapest of 367
$2,373 a month
Can't run it3rd cheapest of 367
$634 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
12th cheapest of 366
$2,832 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 runs that sleep right away suit both, and Blaxel can run many more at once on a self-serve tier than Unikraft's 24 running instances.
14th cheapest of 345
$144 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
Blaxel's self-serve tiers stop at 200 sandboxes at once and Unikraft Pro at 24 running ones, so 300 active users need sales on both; bochka fits them on a self-serve plan.
101st of 361, with limits
$926 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
77th of 360, with limits
$4,378 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
136th of 364, with limits
$704 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 that builds Docker images works on Blaxel but not on Unikraft, which documents no container runtime inside; neither gives /dev/kvm on self-serve, and bochka does.
57th cheapest of 377
$431 a month
Can't run it4th cheapest of 377
$86 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
All three can keep a box around all month: Unikraft's Team pool is $39 a month flat, Blaxel bills every active second, and bochka is a plain machine you SSH into.
265th of 368, with limits
$114 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
Blaxel runs a desktop and a browser for computer use, Unikraft has none built in, and bochka streams a 60fps desktop you can embed.
14th cheapest of 369
$634 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
Blaxel gives sandboxes a browser to drive, while on Unikraft you build headless Chrome into your own image.
16th cheapest of 367
$317 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
16th cheapest of 346
$215 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
147th of 338, with limits
$4,292 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
Blaxel and bochka both fit parallel red teaming on a self-serve plan, and Unikraft's pools are too small for a fleet.
3rd cheapest of 360
$217 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

FeatureBlaxelUnikraft Cloudbochka
IsolationFirecracker microVM with its own kernelMinimal Linux microVM on a customized Firecracker VMM; full VMs on EnterpriseFull VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts
Machine sizeSized by RAM, with CPU included (8 GB comes with 4 cores); up to 256 GB on CustomPlan 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
Docker and systemd insideDocker with a Docker-in-sandbox image; no systemdRuns as root; the Dockerfile becomes the VM image, with no container runtime inside documentedDocker, systemd and root, like any Ubuntu machine
Nested virtualizationNo: Firecracker guests do not get /dev/kvmYes, with a per-instance flag and permission, Enterprise onlyYes, /dev/kvm for Android emulators and VMs on every plan
SSHNo native SSH; a terminal through the bl connect commandNot yet; commands and files go through the sandbox plugin and CLIReal SSH into every sandbox
Desktop and browserDesktop, browser and computer use supportedNone built in; you can run your own headless browser from a DockerfileLinux desktop streamed at 60fps, Chromium, and a computer-use agent
Sleep and wakeStandby a few seconds after the last connection, wakes in under 25 ms with memory and processes; standby sandboxes count toward the concurrency limitStandby after a 1 second idle cooldown by default, wakes on the next request in milliseconds; standby instances do not count toward the running poolStop keeps the disk and costs nothing; a stopped sandbox is started by API and boots again
DiskFiles live in memory (about half the RAM); one block volume can be attached at creationVolumes you attach; standby storage included in the plan (8 GiB, 15 GiB or 1 TiB)A real disk that stays, snapshotted every minute and on stop
Fork and checkpointsFork with memory and running processes (private preview)Checkpoint memory and volumes of a running microVM with a pause of a few milliseconds, then start new instances from itFork a running sandbox with its disk; snapshots every minute
Inbound accessPreview URL per port, public or token-protected; no raw TCP or public 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 rulesDomain allow and deny lists, method and path rules, static egress IPsNetwork shield filters traffic, Enterprise only, limited accessOpen internet; filter inside the VM with nftables
Keeping API keys out of the sandboxProxy fills secrets into outbound HTTPS requests (public preview)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 agentsClaude Code image you drive from its terminal or your own harnessNone preinstalled; you bring the agent in your own imageSeven agents preinstalled, driven from outside with a prompt, steer and events API
RegionsOregon, North Virginia, London, FrankfurtDallas, Frankfurt, San Francisco, Singapore, Washington DC; more metros on requestEU only: Germany, Finland, France
Every feature Battleships tracks (43)
FeatureBlaxelUnikraft Cloudbochka
Full VM (own kernel)YesYesYes
Docker insideYesNoYes
Nested virtualizationNoYesYes
RootYesYesYes
SystemdNoNot publishedYes
Desktop GUIYesNoYes
BrowserYesNoYes
Computer-use APIYesNoYes
SSHNoNoYes
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-hostingNoYesNo
BYOCYesYesNo
Open sourceNoNoNo
Scoped API keysYesNot publishedYes
Spend limitsNoNot publishedYes
Usage per sandbox (API)YesNoYes
Audit logsNot publishedYesNo
SSOYesNoNo
SOC 2YesYesNo
HIPAAYesYesNo
EU data residencyYesYesYes
Zero data retentionYesNot publishedYes

Performance

Blaxel19.48 runs/s
Unikraft CloudNot measured
bochka26.69 runs/s

In the same hpc-sandbox-benchmarks Node.js build-and-test run at 4 vCPU / 8 GB on September 29, 2026, bochka did 26.69 runs per second and Blaxel 19.48, so bochka got through about 1.4 times the work in the same time. Unikraft Cloud has no comparable measurement: it was not in that run, and its stated cold starts under 10 ms measure 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. Blaxel measured on: Sandbox (active time, RAM-only pricing, CPU bundled). 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.

ScenarioBlaxel, 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
$33 · Pay-as-you-go Tier 1$39 · Hobby$20 · $20/mo
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$120 · Pay-as-you-go Tier 1$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
$1,489 · Pay-as-you-go Tier 1Can'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
$396 · Pay-as-you-go Tier 2 · with limitsCan'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
$876 · Pay-as-you-go Tier 2 · with limitsCan't run it$2,000 · $2000/mo · with limits

Blaxel: Blaxel charges for allocated RAM per second while a sandbox is active, with CPU included. In standby you pay only snapshot storage, and volumes are billed on their full size.

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 and $199 for 24 vCPU / 32 GiB. 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

Unikraft's limits are pools that every running instance shares: one 4 vCPU / 8 GB agent fills the Team pool's memory, so the 50-agent, user-sandbox and burst scenarios fit no self-serve plan. Blaxel fits 50 agents, but its tiers allow 10, 50 or 200 sandboxes at once with standby ones counted, so 300 users or 1,000 jobs at once need a sales tier, and Tier 0 and 1 delete sandboxes after 7 or 30 days. bochka runs 100 to 2,000 sandboxes at once on its plans, but it limits starts per minute, so 1,000 jobs at the same moment get queued.

ScenarioBlaxelUnikraft Cloudbochka
One coding agent, workdaysNone that bite
  • 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 stopsNone that bite
  • 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 parallelNone that bite
  • no pool tier with 200 vCPU / 400 GiB for 50 VMs
  • no published per-resource rate
None that bite
Sandboxes for your users
  • Pay-as-you-go Tier 2: max 200 concurrent
  • 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
  • Pay-as-you-go Tier 2: max 200 concurrent
  • 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 Blaxel when

you build an agent product that starts many sandboxes, wants Docker, a browser and network rules inside them, and needs them asleep most of the time.

  • Fleets of agent sandboxes, self-serve. For agent products that start many sandboxes: self-serve tiers run up to 200 at once, billed per active second.
  • Agent tools out of the box. For teams that want Docker inside, a desktop and browser, a Claude Code image and a secret proxy without building images first.
  • Network rules without a contract. For locked-down agents: domain allow lists, method and path rules and static egress IPs, where Unikraft keeps egress filtering for Enterprise.

Use Unikraft Cloud when

you run a few small services or headless browsers that sleep most of the time on a flat fee, need Singapore or more US metros, or want GPUs, on-prem or your own cloud under Enterprise.

  • A flat fee for small, steady work. For one small service or agent that runs all month: the Team pool is a flat $39, and sleeping instances do not count.
  • Regions in the US and Asia. For users far from Europe and the US coasts: Dallas, San Francisco, Washington DC and Singapore as well as Frankfurt.
  • GPUs, arm64 and your own hardware. For Enterprise buyers who need NVIDIA GPUs, arm64 hosts, nested virtualization, dedicated hosts, on-prem or their own cloud.

Where bochka fits

Blaxel and Unikraft Cloud are both built around microVMs that sleep in seconds and wake in milliseconds. If your agents instead work for hours on builds, tests, Docker and emulators, bochka gives each one a whole Linux machine with a real disk, a faster CPU than Blaxel measured, and the agents already installed.

A whole machine the agent can work in

bochka has Docker, systemd, SSH and /dev/kvm on every plan. Blaxel has no /dev/kvm or native SSH, and Unikraft documents no container runtime inside, has no SSH yet and keeps nested virtualization for Enterprise.

Big fleets of full-size sandboxes

Fifty 4 vCPU / 8 GB agents fit bochka's self-serve plans. Unikraft's biggest pool holds 24 running instances on 32 GiB in total, and Blaxel's tiers stop at 200 at once with sleeping sandboxes counted.

Agents and keys built in

Seven coding agents come installed, driven from outside through one API, and real keys stay in a credentials proxy. On Blaxel you build the harness yourself and the secret proxy is in preview; on Unikraft both need your own image or Enterprise.

Use bochka when your agents need a real machine to work in for hours: Docker, emulators, SSH, a desktop, a faster CPU, agents driven from outside, and fleets without a sales call. Compare it one to one: bochka vs Blaxel and bochka vs Unikraft Cloud.

Questions people ask

Is Blaxel cheaper than Unikraft Cloud?

For one agent on workdays Blaxel is a little cheaper ($33 against $39), and for one that never stops Unikraft's flat Team pool wins ($39 against $120 on Blaxel). For 50 agents in parallel Blaxel costs $1,489 a month, while no self-serve Unikraft plan is big enough. bochka costs $20, $26 and $317 for those three.

Which is faster, Blaxel or Unikraft Cloud?

For CPU work only Blaxel has a comparable measurement: 19.48 runs per second at 4 vCPU / 8 GB, against 26.69 for bochka. Both wake from standby in milliseconds, and Unikraft states cold starts under 10 ms.

Can Blaxel or Unikraft Cloud run Docker?

Blaxel can, with its Docker-in-sandbox image. Unikraft uses your Dockerfile to build the VM itself and documents no container runtime inside a running instance. A bochka sandbox has Docker, systemd and /dev/kvm ready to use.

Can I SSH into Blaxel or Unikraft Cloud?

Neither has native SSH today. Blaxel gives you a terminal through bl connect, and Unikraft runs commands and moves files through its sandbox plugin and CLI. You can SSH into every bochka sandbox.

Can I run an Android emulator on either?

An emulator needs /dev/kvm. Blaxel's Firecracker guests do not get it, and Unikraft offers nested virtualization only on Enterprise. bochka exposes /dev/kvm inside every sandbox on every plan.

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.