Daytona vs Unikraft Cloud
Daytona is built for running agent code: containers by default, with Linux VM, Windows and GPU classes, billed per second from a wallet. Unikraft Cloud turns a Dockerfile into a tiny Firecracker microVM that sleeps when idle and wakes in milliseconds, sold as flat pools of running capacity.
The companies and products
Daytona
Daytona is a cloud for running AI-generated code: you create sandboxes from code through its API and SDKs.
By default a Daytona sandbox is a Linux container with its own namespaces and reserved vCPU, memory and disk. You can also pick a Linux VM class (pause, fork, memory snapshots, /dev/kvm), a Windows VM class, or a GPU class with Nvidia and AMD cards. It is built for teams that run agent code, code interpreters and evals through Python, TypeScript, Ruby, Go or Java SDKs.
- Founded
- 2023
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. “15th cheapest of 367” means 14 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 | Daytona: price rank | Unikraft Cloud: price rank | bochka: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month Daytona fits a software factory with Docker in every class; Unikraft builds your Dockerfile into the VM itself and documents no container runtime inside, and bochka adds /dev/kvm and a desktop on every machine. | 15th cheapest of 367 $4,111 a month | Can't run it | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB Daytona fits an assistant that lives on its machine all month, while Unikraft's Team pool is 8 GiB of memory shared by every running instance. | 24th cheapest of 366 $6,104 a month | Can't run it | 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 Short code runs suit both: Daytona creates hundreds of sandboxes a minute with no plan fee, and Unikraft sleeps between calls but caps self-serve plans at 24 running instances. | 25th cheapest of 345 $271 a month | Can't run it | 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 Neither fits 300 active users self-serve: Daytona's Tier 4 pool is 500 vCPU and Unikraft Pro runs only 24 instances, while bochka fits on its own plans. | 154th of 361, with limits $2,000 a month | Can't run it | 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 | 130th of 360, with limits $8,261 a month | Can't run it | 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 | 189th of 364, with limits $2,000 a month | Can't run it | 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 jobs that build images or run emulators need Docker and /dev/kvm; Daytona has KVM only on its Linux VM class, Unikraft only on Enterprise, and bochka on every plan. | 308th of 377, with limits $805 a month | Can't run it | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB Both can keep a box all month; Daytona has SSH, while Unikraft has no SSH yet and works through its CLI and sandbox plugin. | 183rd of 368, with limits $245 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 Daytona has a VNC desktop and a computer-use API on Linux and Windows; Unikraft has no desktop built in, and bochka streams one at 60fps. | 26th cheapest of 369 $1,198 a month | Can't run it | 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 | 93rd of 367, with limits $598 a month | Can't run it | 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 | 38th cheapest of 346 $404 a month | Can't run it | 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 | 202nd of 338, with limits $8,073 a month | Can't run it | 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 | 12th cheapest of 360 $2,000 a month | Can't run it | 2nd cheapest of 360 $200 a month |
| GPU eval jobs 10 at once · 8 vCPU / 32 GB · 500 sessions of 30 min a month Daytona rents Nvidia and AMD GPUs by the hour; Unikraft offers GPUs only on Enterprise, and bochka has none. | 20th cheapest of 98 $1,190 a month | 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 | Daytona | Unikraft Cloud | bochka |
|---|---|---|---|
| Isolation | Container by default; Linux VM and Windows VM classes have their own kernel | Minimal Linux microVM per instance on a customized Firecracker VMM | Every sandbox is a full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| CPU speed (Node.js build-and-test, 4 vCPU / 8 GB) | 21.52 runs/s on the Linux VM class | Not measured | 26.69 runs/s |
| Machine size | Up to 4 vCPU / 8 GiB per sandbox by default, raisable per region | Plan pool shared by all running instances: 2 vCPU / 4 GiB, 8 vCPU / 8 GiB or 24 vCPU / 32 GiB | 4 vCPU / 8 GB by default, up to 16 vCPU / 32 GB per sandbox on the $100 plan and above |
| Docker inside | Yes, in all classes | The Dockerfile becomes the VM image; no container runtime inside documented | Docker, systemd and root, like any Ubuntu machine |
| Nested virtualization | /dev/kvm on the Linux VM class, once KVM is turned on for your organization | Enterprise only, with a per-instance flag and permission | /dev/kvm on every plan |
| Desktop and computer use | VNC desktop (xfce4) and a computer-use API on Linux and Windows | None built in; you can run your own headless browser from a Dockerfile | 60fps desktop and Chromium, computer use and browser control, embeddable stream |
| Idle and wake | Idle auto-stop after 15 minutes for containers, auto-pause after 60 for VMs; started again by API | Standby after a 1 second idle cooldown by default; incoming traffic wakes it in milliseconds | Disk saved every minute and on stop; a stopped sandbox costs nothing and is started by API |
| Pause, fork and checkpoints | Linux VM and Windows: pause, resume and fork with memory kept; containers: no pause or fork | Checkpoint memory and volumes of a running microVM, then start new instances from it | Fork a running sandbox with its disk; resume reboots from disk (no memory snapshots) |
| Inbound access | HTTPS preview URLs on any port, token-protected or public; no raw TCP or public IP | Load balancer services: HTTP on 80, HTTPS on 443, TLS-wrapped TCP on other ports; no public IP per instance | HTTPS URLs for up to 50 ports, token-protected; raw TCP; dedicated IPv4 or IPv6 |
| Outbound internet | Tier 1 and 2 reach only registries, git and AI APIs; Tier 3 and up get open internet plus domain or CIDR allowlists | Open internet; network shield filtering is Enterprise only, in limited access | Open internet on every plan; no provider-side allowlist |
| Keeping keys out of the sandbox | Secrets proxy swaps placeholders in HTTPS request headers for allowed hosts | Network shield can inject secrets into traffic, Enterprise only | Credentials proxy for model providers and any HTTPS API on every plan; switch to another account when credits run out |
| Coding agents | Guides install agents and run them through process exec | None preinstalled; you bring the agent in your own image | Claude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API |
| GPUs and Windows | Nvidia and AMD GPUs by the hour; Windows VM sandboxes | NVIDIA GPUs on Enterprise; no Windows | No GPUs; no Windows guests (Wine for Windows apps) |
| Regions | US and EU, plus dedicated regions or your own machines | Dallas, Frankfurt, San Francisco, Singapore and Washington DC; on-prem and your own cloud on Enterprise | EU only: Germany, Finland, France |
Every feature Battleships tracks (43)
| Feature | Daytona | Unikraft Cloud | bochka |
|---|---|---|---|
| Full VM (own kernel) | No | Yes | Yes |
| Docker inside | Yes | No | Yes |
| Nested virtualization | Yes | Yes | Yes |
| Root | Yes | Yes | Yes |
| Systemd | Not published | 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) | No | Yes | 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 | No | Yes | No |
| HTTPS preview URLs | Yes | Yes | Yes |
| Raw TCP inbound | No | Not published | 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 | No | Yes |
| Agent harness API | No | No | Yes |
| MCP server | Yes | No | No |
| GPU | Yes | Yes | No |
| Windows | Yes | No | No |
| Arm64 | No | Yes | No |
| Self-hosting | No | Yes | No |
| BYOC | Yes | Yes | No |
| Open source | No | No | No |
| Scoped API keys | Yes | Not published | Yes |
| Spend limits | Not published | Not published | Yes |
| Usage per sandbox (API) | Yes | No | Yes |
| Audit logs | Yes | Yes | No |
| SSO | Yes | No | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | Yes | Yes | No |
| EU data residency | Yes | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
In StarSling's public run of 2026-09-29 at 4 vCPU / 8 GB, bochka did 26.69 Node.js build-and-test runs per second and Daytona's Linux VM class did 21.52. Unikraft Cloud was not in that run, so there is no comparable CPU number for it. Its stated cold start under 10 ms 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. Daytona measured on: Linux VM sandbox (same rates; KVM / nested virt per-org feature). 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.
| Scenario | Daytona, a month | Unikraft Cloud, 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 | $56 · Tier 3 ($500 top-up) | $39 · Hobby | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $245 · Tier 3 ($500 top-up) | $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,682 · Tier 3 ($500 top-up) | Can'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 | $2,000 · Tier 4 ($2,000 top-up every 30 days) · with limits | 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,000 · Tier 4 ($2,000 top-up every 30 days) · with limits | Can't run it | $2,000 · $2000/mo · with limits |
Daytona: Daytona bills per second for the vCPU, memory and disk you reserve, and keeps billing the disk while a sandbox is stopped. You pay from a prepaid wallet: open internet needs a $500 top-up (Tier 3), and the biggest pool needs $2,000 every 30 days (Tier 4).
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 or egress rate, so anything bigger is an Enterprise quote.
Unikraft Cloud: Plans start at $20 a month, and the whole fee is usage credit spent per second on running sandboxes. A stopped sandbox costs nothing and keeps its disk.
Limits in those scenarios
Daytona limits the total vCPU and memory running at once, up to 500 vCPU on Tier 4, so 300 user sandboxes (600 vCPU) and 1,000 short jobs (2,000 vCPU) need a custom limit. Unikraft's pools are far smaller: one 4 vCPU / 8 GB agent fills the Team pool, so 50 agents, user sandboxes and the burst need Enterprise. bochka fits 50 agents and the user sandboxes on its plans, but its start limits queue the 1,000-job burst.
| Scenario | Daytona | Unikraft Cloud | bochka |
|---|---|---|---|
| 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 Daytona when
your agents need GPUs or Windows, pay-per-second sandboxes created by the hundred from an SDK, or SSH and per-sandbox network rules.
- GPUs and Windows, self-serve. Useful if your agents test models or need Windows: Daytona rents Nvidia and AMD GPUs by the hour and runs Windows VM sandboxes.
- Pay per second, scale by pool. Daytona bills only what you reserve per second and runs up to 500 vCPU at once on Tier 4, with no Enterprise contract.
- SSH and outbound rules. You can SSH into a Daytona sandbox, and from Tier 3 each one can be limited to chosen domains or IP ranges.
Use Unikraft Cloud when
you run many small services or headless browsers that sleep most of the time and must wake in milliseconds, or need Singapore, on-prem or your own cloud.
- Millisecond wake and scale-to-zero. Best for many small services that sleep most of the time and must answer the next request in milliseconds.
- Checkpoints of a running VM. Unikraft can snapshot memory and volumes of a running microVM and start new instances from it, with warm caches.
- Asia region and your own hardware. Unikraft runs in Singapore as well as the US and Frankfurt, and Enterprise adds on-prem, your own cloud and arm64.
Where bochka fits
If your agents do long, heavy work such as installs, builds, Docker and emulators, look at bochka. Daytona gives that full machine only on its Linux VM class, and Unikraft keeps nested virtualization and big fleets for Enterprise. bochka gives every sandbox a whole VM, and fleets of them, on self-serve plans.
A full VM with /dev/kvm on every sandbox
Agents run docker compose and Android emulators. On Daytona that means picking the VM class and getting KVM turned on for your organization; on Unikraft there is no container runtime inside and nested virtualization needs Enterprise.
Fifty full-size agents without a sales call
Fifty 4 vCPU / 8 GB agents fit on bochka's self-serve plans. Unikraft's largest self-serve pool is 24 vCPU / 32 GiB, and Daytona caps one sandbox at 4 vCPU / 8 GiB unless you ask for more.
Agents and keys handled from outside
bochka preinstalls coding agents you prompt and steer through one API, and keeps real keys in a proxy on every plan. Daytona and Unikraft leave you to install and drive the agent, and Unikraft's secret injection is Enterprise only.
Use bochka when your agents need a real machine to work in: Docker, emulators, a desktop and coding agents you drive from outside, on a faster full VM, in fleets without a sales call. Compare it one to one: bochka vs Daytona and bochka vs Unikraft Cloud.
Questions people ask
Is Daytona cheaper than Unikraft Cloud?
For one agent, Unikraft's $39 Team pool is cheaper: one agent running all month is $245 on Daytona and $39 on Unikraft, and $26 on bochka. For 50 agents in parallel, Daytona comes to $2,682 and no self-serve Unikraft plan is big enough; bochka comes to $317.
Which is faster, Daytona or Unikraft Cloud?
Unikraft starts faster: its microVMs cold boot in milliseconds and wake on the next request. For CPU speed there is no comparable number for Unikraft; Daytona's Linux VM class did 21.52 runs per second in StarSling's test, and bochka did 26.69.
Can Daytona or Unikraft Cloud run Docker inside?
Daytona runs Docker in all its classes. Unikraft uses your Dockerfile to build the VM itself, and its docs do not describe running a container runtime inside an instance. A bochka sandbox has Docker, systemd and /dev/kvm ready.
Can I SSH into Daytona or Unikraft Cloud?
Daytona sandboxes support SSH. Unikraft has no SSH yet; you run commands and move files through its sandbox plugin and CLI. Every bochka sandbox has SSH as well as an API.
Do Daytona and Unikraft Cloud have GPUs?
Daytona rents Nvidia and AMD GPUs by the hour, from RTX 4090 to B300, on demand or preemptible. Unikraft offers NVIDIA GPUs only on Enterprise. bochka has no GPUs.
Where do Daytona and Unikraft Cloud run?
Daytona runs in the US and EU, plus dedicated regions and your own machines. Unikraft runs in Dallas, Frankfurt, San Francisco, Singapore and Washington DC, with on-prem and your own cloud on Enterprise. bochka runs only in the EU, with EU data residency.
Try bochka
Install the CLI, then run bochka new.
Product preview