Upstash Box vs Unikraft Cloud

Both let work sleep when idle and wake when it is needed. Upstash Box gives each agent a light container with coding agents built in and bills the CPU it uses, while Unikraft Cloud turns a Dockerfile into a microVM that wakes in milliseconds inside a flat monthly pool.

The companies and products

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.

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 345” means 9 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 workloadUpstash Box: price rankUnikraft Cloud: price rankbochka: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
A software factory runs databases and test services in Docker, which neither an Upstash container nor a Unikraft microVM documents, while bochka runs Docker in every sandbox.
61st of 367, with limits
$464 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 fits an Upstash keep-alive box better than Unikraft's Team pool, where 8 GiB of memory is shared by every running instance.
103rd of 366, with limits
$475 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 suit both designs, and Upstash Box ranks 10th because an idle box costs no CPU, while Unikraft's running pool caps how many runs happen at once.
10th cheapest of 345
$119 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
Upstash Box ranks 2nd here, just behind bochka, because a user's paused box wakes on the next request; Unikraft's self-serve plans hold only 24 running instances, so hundreds of active users need Enterprise.
2nd cheapest of 361
$222 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
352nd of 360, with limits
$8,068 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
52nd cheapest of 364
$1,011 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 images or boot Android emulators need Docker and /dev/kvm; Upstash offers neither, Unikraft keeps nested virtualization for Enterprise, and bochka has both on every plan.
120th cheapest of 377
$1,520 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 on all month: Upstash Box ranks 10th with a flat keep-alive box, bochka ranks 18th with a full VM, and Unikraft ranks 219th because a 4 vCPU / 8 GB box fills its whole Team pool.
10th cheapest of 368
$20 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
Computer-use agents need a screen to look at; Upstash's browser is headless, Unikraft has none built in, and bochka streams a Linux desktop at 60fps.
73rd of 369, with limits
$76 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
Upstash ships a managed headless Chromium with AI page actions, on Unikraft you build your own browser into the image, and bochka gives the agent a real desktop browser.
49th of 367, with limits
$38 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
37th cheapest of 346
$400 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
200th of 338, with limits
$8,000 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
225th of 360, with limits
$259 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

FeatureUpstash BoxUnikraft Cloudbochka
IsolationOne Docker container per box on AWSMinimal Linux microVM on a customized Firecracker VMMFull VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts
Machine sizeSmall 2 vCPU / 4 GB, Medium 4 vCPU / 8 GB, Large 8 vCPU / 16 GB per boxOne pool shared by all running instances: 2 vCPU / 4 GiB, 8 vCPU / 8 GiB or 24 vCPU / 32 GiB by plan4 vCPU / 8 GB by default, up to 16 vCPU / 32 GB per sandbox on the $100 plan and above
Docker insideNot documented; the box is itself a Docker container, and custom images are listed as coming soonYour Dockerfile becomes the VM image; no container runtime inside is documentedYes, Docker, systemd and root, like any Ubuntu machine
Nested virtualizationNo VM support documentedYes, with a per-instance flag, Enterprise onlyYes, /dev/kvm for Android emulators and VMs on every plan
SSHYes, through a gatewayNot yet; commands and files go through the sandbox plugin and CLIYes, into every sandbox
Idle behaviorAn idle box costs no CPU and pauses itself, keeping its files; storage keeps billingStandby after a 1 second idle cooldown by default; stateful mode snapshots memory and resumes with warm cachesDisk saved every minute and on stop; a stopped sandbox costs nothing
Wake on requestYes; a request to a public URL resumes a paused boxYes; incoming traffic wakes a sleeping instance in millisecondsNo; a stopped sandbox is started by API
Fork and snapshotsSnapshot a running box's files and start many new boxes from itCheckpoint memory and volumes of a running microVM, then start new instances from itFork a running sandbox with its disk; snapshots every minute
Desktop and browserManaged headless Chromium with AI page actions and CDP; no desktopNone built in; you can run your own headless browser from a DockerfileLinux desktop streamed at 60fps, Chromium and computer-use tools
Inbound accessHTTPS URL per port, public unless you add a token or basic auth; no raw TCPServices 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 all, deny all, or allow and deny by domain and CIDR, changeable on a running boxNetwork shield filters traffic, Enterprise only, limited accessOpen internet, no provider-side allowlist
Keeping API keys out of the sandboxHost proxy injects headers into outbound HTTPS on port 443, set when the box is createdNetwork 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, Codex and OpenCode built in, with run and stream APIs, webhooks and scheduled promptsNone preinstalled; you bring the agent in your own imageSeven agents preinstalled, including Claude Code and Codex, with a prompt, steer and events API
RegionsUS only (AWS us-east-1)Dallas, Frankfurt, San Francisco, Singapore and Washington DC, more on requestEU only (Germany, Finland, France)
Every feature Battleships tracks (43)
FeatureUpstash BoxUnikraft Cloudbochka
Full VM (own kernel)NoYesYes
Docker insideNoNoYes
Nested virtualizationNoYesYes
RootNot publishedYesYes
SystemdNot publishedNot publishedYes
Desktop GUINoNoYes
BrowserYesNoYes
Computer-use APINoNoYes
SSHYesNoYes
Persistent diskYesYesYes
Pause/resumeYesYesYes
Automatic snapshotsNoYesYes
Fork/cloneYesYesYes
Live fork (no pause)YesYesYes
Memory forkNoYesNo
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 APIYesNoYes
MCP serverYesNoNo
GPUNoYesNo
WindowsNoNoNo
Arm64YesYesNo
Self-hostingNoYesNo
BYOCNoYesNo
Open sourceNoNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsNot publishedNot publishedYes
Usage per sandbox (API)YesNoYes
Audit logsNot publishedYesNo
SSONoNoNo
SOC 2YesYesNo
HIPAANoYesNo
EU data residencyNoYesYes
Zero data retentionNot publishedNot publishedYes

Performance

Upstash BoxNot measured
Unikraft CloudNot measured
bochka26.69 runs/s

Neither Upstash Box nor Unikraft Cloud has a result in the hpc-sandbox-benchmarks CPU test, so there is no comparable measurement for either. bochka did 26.69 runs per second on that Node.js build-and-test loop at 4 vCPU / 8 GB. Unikraft states cold starts under 10 ms, which is its own figure and 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. Upstash Box and Unikraft Cloud have 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.

ScenarioUpstash Box, 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
$21 · Pay as You Go$39 · Hobby$20 · $20/mo
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$21 · Pay as You Go$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
$900 · Pay as You Go · with limitsCan'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
$306 · Pay as You GoCan'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
$1,822 · Pay as You GoCan't run it$2,000 · $2000/mo · with limits

Upstash Box: Upstash bills the CPU a box 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 with CPU and storage included.

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

Unikraft's limit is its shared pool: on Team, one 4 vCPU / 8 GB agent fills all 8 GiB, so the 50-agent, user-sandbox and burst scenarios fit no self-serve plan. Upstash prices those at $306 a month for user sandboxes and $1,822 a month for the burst, but it cannot run Docker inside a box, so the 50-agent scenario does not fit, and disks stop at 5, 10 or 20 GB. Neither publishes an egress price. bochka runs the 50 agents for $317 a month, but queues the 1,000-job burst at 90 starts per minute.

ScenarioUpstash BoxUnikraft Cloudbochka
One coding agent, workdays
  • flat pool: the tier is billed whether used or not
  • 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
  • flat pool: the tier is billed whether used or not
  • 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
  • missing Docker inside
  • flat pool: the tier is billed whether used or not
  • 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
  • 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 Upstash Box when

you want coding agents built in, pay only for CPU actually used, need many light boxes at once or a strict outbound allowlist, and are fine running in the US.

  • Coding agents ready to go. For teams that want Claude Code, Codex or OpenCode in a box today, with run and stream APIs, webhooks and scheduled prompts.
  • Pay for the CPU you use, at fleet scale. For bursty agent fleets: no monthly fee, RAM is not billed, and Pay as You Go runs 1,000 boxes at once by default.
  • Outbound rules without a contract. For agents that may only reach a short list of domains or IP ranges, with rules you can change on a running box.

Use Unikraft Cloud when

you run many small services or headless browsers that sleep most of the time and must wake in milliseconds, need US, EU or Asia regions, or want GPUs or on-prem under Enterprise.

  • Millisecond starts with warm memory. For many small services that sleep most of the time and must answer the next request in milliseconds, caches intact.
  • A microVM, not a container. For teams that want each instance in its own VM, built straight from the Dockerfile they already have.
  • Regions and hardware to grow into. For US, EU and Asia users, with GPUs, arm64, dedicated hosts, on-prem or your own cloud on Enterprise.

Where bochka fits

Upstash Box and Unikraft Cloud are both built around work that sleeps and wakes. If your agents instead need a whole machine to work in for hours, with Docker, emulators, a desktop and full-size fleets, bochka gives each one a full VM with its own kernel on every plan.

Docker and /dev/kvm inside

An Upstash box is itself a container with no Docker inside, and Unikraft bakes your Dockerfile into the image with nested virtualization on Enterprise only. Agents that run docker compose or an Android emulator get stuck on both.

A desktop the agent can see

Upstash gives a headless Chromium with no desktop, and Unikraft has no browser built in. A computer-use agent on either is limited to web pages, while bochka streams a Linux desktop at 60fps.

Fifty full machines without a sales call

Fifty agents at 4 vCPU / 8 GB need 200 vCPU and 400 GiB at once. Upstash can run the boxes but not Docker inside them, and that is above every Unikraft self-serve pool, so it means an Enterprise quote.

Use bochka when your agents need a real machine to work in: Docker, emulators, a desktop, coding agents you drive from outside, and fleets of full-size sandboxes without a sales call. Compare it one to one: bochka vs Upstash Box and bochka vs Unikraft Cloud.

Questions people ask

Is Upstash Box cheaper than Unikraft Cloud?

For one 4 vCPU / 8 GB agent, yes: $21 a month on Upstash against $39 on Unikraft, whether it runs on workdays or never stops. For 50 agents, user sandboxes or 1,000 short jobs, no Unikraft self-serve plan is big enough, so the price is an Enterprise quote. bochka costs $20 and $26 for the two single-agent cases.

Which is faster, Upstash Box or Unikraft Cloud?

Neither has a CPU result in the hpc-sandbox-benchmarks test, so there is no fair speed comparison. For start time, Unikraft states cold boots under 10 ms and wakes instances on the next request. bochka measured 26.69 runs per second at 4 vCPU / 8 GB.

Can Upstash Box or Unikraft Cloud run Docker inside?

Neither documents it. An Upstash box is itself a Docker container, and Unikraft uses your Dockerfile to build the VM image without a container runtime inside. A bochka sandbox is a full Ubuntu VM with Docker, systemd and /dev/kvm ready to use.

Can I SSH into Upstash Box or Unikraft Cloud?

Upstash Box offers SSH through a gateway. Unikraft has not shipped SSH yet, so you run commands and move files through its sandbox plugin and CLI. You can SSH into every bochka sandbox.

Where do Upstash Box and Unikraft Cloud run?

Upstash Box runs only in AWS us-east-1, with more regions planned. Unikraft runs in Dallas, Frankfurt, San Francisco, Singapore and Washington DC, with more metros on request. bochka runs in the EU, in Germany, Finland and France.

Which one comes with coding agents?

Upstash Box has Claude Code, Codex and OpenCode built in, with run and stream APIs. Unikraft has none preinstalled, so you put the agent in your own image. bochka preinstalls seven agents that you prompt and steer from outside through one API.

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.