Tensorlake vs Unikraft Cloud

Both run each workload in its own Firecracker microVM. Tensorlake is built as an agent sandbox you create through an API and fan out into warm clones, while Unikraft Cloud turns a Dockerfile into a tiny microVM that sleeps when idle and wakes on the next request.

The companies and products

Tensorlake

Tensorlake is a San Francisco company that sells infrastructure for AI agents, with sandboxes as its main product.

Tensorlake Sandboxes are microVMs, backed by Firecracker and Cloud Hypervisor, that you create through an API and that boot in a few hundred milliseconds. Named sandboxes suspend when idle and keep their memory and running processes, and you can copy a running sandbox into several warm clones. Around them Tensorlake sells versioned file systems, hosted Git, an orchestration layer and a bring-your-own-cloud option, aimed at teams running coding agents, evals and RL rollouts.

Headquarters
San Francisco

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. “5th cheapest of 367” means 4 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 workloadTensorlake: price rankUnikraft Cloud: price rankboat: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
Tensorlake fits a software factory with Docker inside; Unikraft builds your Dockerfile into the VM itself and documents no container runtime inside it, and boat adds /dev/kvm and preinstalled coding agents.
5th cheapest of 367
$1,010 a month
Can't run it3rd cheapest of 367
$634 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
Tensorlake keeps an agent's files and memory while it sleeps; Unikraft's Team pool is 8 GiB of memory shared by every running instance, which one 4 vCPU / 8 GB agent fills.
9th cheapest of 366
$1,381 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, but Unikraft's self-serve plans cap you at 24 running instances while Tensorlake Pro allows 1,000 at once.
24th cheapest of 345
$250 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
Tensorlake Pro creates a sandbox per user at hundreds at once; Unikraft Pro holds 5,000 sleeping instances but only 24 running ones, so this needs an Enterprise contract.
5th cheapest of 361
$471 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
Tensorlake is built for RL rollouts at a thousand at a time from one warm state, which no self-serve Unikraft plan can hold.
Cheapest of 360
$5,637 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
24th cheapest of 364
$506 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 Docker images or run emulators need a container runtime and /dev/kvm; Tensorlake has Docker but no /dev/kvm, Unikraft keeps nested virtualization for Enterprise, and boat has both on every plan.
54th cheapest of 377
$424 a month
Can't run it4th cheapest of 377
$86 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
Both are a compromise for a box that stays on all day: Tensorlake suspends idle sandboxes and Unikraft has no SSH yet, while boat stays on with no session cap.
185th of 368, with limits
$250 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
Tensorlake ships an XFCE desktop with Firefox over VNC; Unikraft has no desktop built in, and boat streams one at 60fps.
9th cheapest of 369
$294 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
13th cheapest of 367
$250 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
22nd cheapest of 346
$250 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
121st of 338, with limits
$3,484 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
4th cheapest of 360
$250 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

FeatureTensorlakeUnikraft Cloudboat
IsolationFirecracker and Cloud Hypervisor microVMs with their own kernel; GPU sandboxes use gVisorMinimal Linux microVM on a customized Firecracker VMM; full VMs on EnterpriseFull VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts
Machine sizeFixed when the sandbox is created; up to 16 vCPU, 64 GB RAM and 100 GB root disk on ProPlan 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
Running at once, self-serveUp to 1,000 sandboxes on Pro2, 8 or 24 running instances; more needs Enterprise100 to 2,000 sandboxes on paid plans
Docker insideYes, on the tensorlake/ubuntu-systemd imageThe Dockerfile becomes the VM image; no container runtime inside documentedYes, with root and systemd on every sandbox
Nested virtualizationNo: sandboxes set SANDBOX_KVM_AVAILABLE=0Yes, with a per-instance flag and permission, Enterprise onlyYes, /dev/kvm for Android emulators and VMs on every plan
Idle and standbyIdle timeout of 600 s by default; named sandboxes suspend with memory, billed as snapshot storageStandby after a 1 second idle cooldown by default; stateful mode snapshots memory, and sleeping instances do not count against the poolDisk saved every minute and on stop; a stopped sandbox costs nothing and boots again on start
Clone a running sandboxCopy a running or suspended sandbox into N warm clones with memoryCheckpoint memory and volumes of a running microVM, then start new instances from itFork a running sandbox with its disk
Desktop and computer useXFCE desktop with Firefox over VNC, with screenshot, mouse and keyboard callsNone built in; you can run your own headless browser from a DockerfileLinux desktop streamed at 60fps, Chromium, computer-use and browser control
Coding agentsYou bring and run your own agent; managed images are plain OS basesNone preinstalled; you bring the agent in your own imageClaude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API
Keeping API keys out of the sandboxNo: stored secrets are injected into the sandboxNetwork shield can inject secrets into traffic, Enterprise only, limited accessCredentials proxy for model providers and any HTTPS API, on every plan
Inbound accessHTTP, WebSocket and gRPC through an authenticated proxy on exposed portsServices on its load balancer: HTTP, HTTPS and TLS-wrapped TCP; no public IP per instanceHTTPS URLs for up to 50 ports, token-protected; raw TCP and a dedicated IP per machine
Outbound rulesallow_out and deny_out lists by domain, IP or CIDR, or no internet at allNetwork shield filters traffic, Enterprise only, limited accessNo provider-side allowlist; you set your own firewall as root
GPUs and your own cloudGPU sandboxes by request; BYOC on AWS, GCP, Azure, CoreWeave, Nebius and bare metalNVIDIA GPUs, arm64, dedicated hosts, on-prem and BYOC on EnterpriseNo GPUs and no self-hosting
RegionsUS and EUDallas, Frankfurt, San Francisco, Singapore and Washington DC, more on requestEU only: Germany, Finland, France
Every feature Battleships tracks (43)
FeatureTensorlakeUnikraft Cloudboat
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 proxyNoYesYes
Secret proxy for any APINoYesYes
Preinstalled agentsNoNoYes
Agent harness APINoNoYes
MCP serverNoNoNo
GPUYesYesNo
WindowsNoNoNo
Arm64NoYesNo
Self-hostingNoYesNo
BYOCYesYesNo
Open sourceNoNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsNot publishedNot publishedYes
Usage per sandbox (API)NoNoYes
Audit logsNot publishedYesNo
SSOYesNoNo
SOC 2YesYesNo
HIPAAYesYesNo
EU data residencyYesYesYes
Zero data retentionYesNot publishedYes

Performance

TensorlakeNot measured
Unikraft CloudNot measured
boat26.69 runs/s

Neither Tensorlake nor Unikraft Cloud has a result on the hpc-sandbox-benchmarks run, so there is no comparable CPU measurement between them. boat scores 26.69 runs/s on that Node.js build-and-test loop at 4 vCPU / 8 GB, the fastest result measured. Unikraft states cold starts under 10 ms and Tensorlake says its default image starts in a few hundred milliseconds; both are their own start-time figures, 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. Tensorlake 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.

ScenarioTensorlake, a monthUnikraft Cloud, a monthboat, 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
$250 · Pro$39 · Hobby$20 · $20/mo
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$250 · Pro$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,030 · 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
$293 · ProCan'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,127 · ProCan't run it$2,000 · $2000/mo · with limits

Tensorlake: Tensorlake Pro is $250 per billing cycle, which includes $250 of usage, then $0.01 per CU. CPU is billed only while active, RAM and disk on what you allocate while running, and suspended sandboxes pay snapshot storage; prepaid packs from $5 suit very small workloads.

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. 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 shared by every running instance: Team has 8 vCPU and 8 GiB in total, so one 4 vCPU / 8 GB agent fills it, and the 50-agent, user-sandbox and burst scenarios fit no self-serve plan. Tensorlake Pro fits all five scenarios, with 1,000 sandboxes at once, but an ephemeral sandbox ends after 10 idle minutes by default and its prepaid plan caps sessions at 24 hours. boat fits four of the five; at 1,000 short jobs at once its start limits queue new machines.

ScenarioTensorlakeUnikraft Cloudboat
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 usersNone that bite
  • 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 onceNone that bite
  • 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 Tensorlake when

you fan out hundreds or a thousand agent sandboxes from one warm state, need outbound rules, GPUs or your own cloud account, and want it all self-serve.

  • Warm clones from one state. Useful for evals and RL: Tensorlake saves a sandbox's memory and copies it into many clones that start warm.
  • Big fleets without a sales call. Tensorlake Pro runs up to 1,000 sandboxes at once, each up to 16 vCPU and 64 GB, where Unikraft self-serve stops at 24.
  • A working machine with outbound rules. Tensorlake sandboxes run Docker, offer a desktop for computer use, and filter outbound traffic by domain, IP or CIDR on self-serve plans.

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 regions in the US and Asia.

  • Millisecond starts and scale-to-zero. Best for many small services that sleep after a second of idle and must answer the next request in milliseconds.
  • A free tier and flat plans. Unikraft has a free Hobby plan and flat monthly pools, and sleeping instances do not count against them.
  • Regions in the US and Asia. Unikraft runs in Dallas, San Francisco, Washington DC and Singapore as well as Frankfurt, with more metros on request.

Where boat fits

Both Tensorlake and Unikraft Cloud are microVM platforms you build your agent setup on. If your agents do long, real work, like installs, builds, Docker, emulators and a desktop, boat gives each one a full VM with coding agents built in and keys kept outside. It runs on dedicated AMD Ryzen 9 9950X hosts, scores 26.69 runs/s on the CPU benchmark, and has no session cap on paid plans.

Emulators and VMs run inside

Tensorlake sandboxes have no /dev/kvm, so an Android emulator or a VM does not start. Unikraft offers nested virtualization only on Enterprise. boat exposes /dev/kvm on every plan.

Keys stay outside the machine

Tensorlake injects stored secrets into the sandbox the agent controls, where one prompt injection can leak them. Unikraft's secret injection is Enterprise only and in limited access. boat's credentials proxy keeps real keys outside on every plan.

Reach it like a server

Tensorlake's proxy carries only HTTP, WebSocket and gRPC, and Unikraft has no SSH yet and no public IP per instance. A boat sandbox gets SSH, HTTPS URLs for up to 50 ports, raw TCP and its own IP.

Use boat 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, and keys kept outside the machine. Compare it one to one: boat vs Tensorlake and boat vs Unikraft Cloud.

Questions people ask

Is Tensorlake cheaper than Unikraft Cloud?

For one agent, no: one coding agent on workdays is $39 a month on Unikraft's Team pool and $250 on Tensorlake Pro. For 50 agents, sandboxes for your users or 1,000 short jobs, no self-serve Unikraft plan is big enough, while Tensorlake Pro prices them at $1,030, $293 and $1,127 a month. On boat the workday agent, 50 agents and user sandboxes are $20, $317 and $200 a month, and 1,000 short jobs at once does not fit.

Which is faster, Tensorlake or Unikraft Cloud?

Neither has a CPU result on the benchmark we use, so we cannot compare their speed. Unikraft says its microVMs cold boot in under 10 ms, and Tensorlake says its default image starts in a few hundred milliseconds. boat scores 26.69 runs/s, the fastest result measured.

Can I run Docker inside Tensorlake or Unikraft Cloud?

Tensorlake, yes, on its tensorlake/ubuntu-systemd image. Unikraft uses your Dockerfile to build the VM's filesystem and does not document a container runtime inside a running instance. boat runs Docker with root and systemd in every sandbox.

Can I SSH into them?

Tensorlake documents remote access into its sandboxes. Unikraft does not have SSH yet; you run commands and move files through its sandbox plugin and CLI. You can SSH into every boat sandbox.

Do they support nested virtualization?

Tensorlake does not: its sandboxes set SANDBOX_KVM_AVAILABLE=0. Unikraft supports it with a per-instance flag, on Enterprise only. boat exposes /dev/kvm on every plan, so Android emulators and VMs run inside.

Try boat

Install the CLI, then run boat new.

7-day free trial

More comparisons