Railway vs Unikraft Cloud

Railway is an app platform that added sandbox VMs you create, use and destroy next to your apps and databases. Unikraft Cloud turns a Dockerfile into a small microVM that boots in milliseconds, sleeps when traffic stops and wakes on the next request.

The companies and products

Railway

Railway is a cloud platform for deploying web apps, servers and databases, which now also sells sandboxes and cloud agents.

Railway's main product is app hosting: you deploy services and databases as containers on its own hardware. In 2026 it added Sandboxes, isolated Linux VMs you create from the CLI or a TypeScript SDK, run commands in and destroy, and Cloud Agents, a personal VM for running a coding agent, in early access. It suits teams already hosting on Railway who want throwaway machines next to their apps.

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 366” means 15 of the other 365 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 workloadRailway: price rankUnikraft Cloud: price rankboat: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
A software factory needs machines that keep work and run Docker; Railway sandboxes are destroyed when idle and Unikraft bakes everything into the image up front.
51st of 367, with limits
$342 a month
Can't run it3rd cheapest of 367
$634 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
Railway fits an always-on assistant if you set the idle timeout to 0; Unikraft's Team pool has 8 GiB of memory shared by every running instance, so it has no fit here.
16th cheapest of 366
$3,977 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
Railway bills short code runs for CPU used and destroys the sandbox after; Unikraft is built for this shape too, but self-serve plans cap you at 24 running instances.
36th cheapest of 345
$413 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
Railway allows 100 sandboxes per environment on Pro, and Unikraft Pro holds only 24 running instances, so hundreds of active users need more environments or an Enterprise contract.
42nd of 361, with limits
$290 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
78th of 360, with limits
$4,450 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
Railway can fork a running sandbox and boot many from one checkpoint, while Unikraft's self-serve pools are too small for wide eval runs.
108th of 364, with limits
$364 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 need Docker, which Railway's sandbox docs do not mention and Unikraft documents no runtime for; boat has Docker on every machine.
113th cheapest of 377
$1,210 a month
Can't run it4th cheapest of 377
$86 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
Only this use case has a fit on both: Unikraft's $39 Team pool counts as a compromise, Railway fits at about $89 a month, and boat at $26.
66th cheapest of 368
$89 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
Both are headless with no desktop to stream, so computer-use agents are at best a compromise on Railway and have no fit on Unikraft; boat streams a 60fps desktop.
77th of 369, with limits
$103 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
53rd of 367, with limits
$93 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
60th cheapest of 346
$570 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
109th of 338, with limits
$2,988 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
43rd of 360, with limits
$574 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

FeatureRailwayUnikraft Cloudboat
IsolationSandboxes are isolated Linux VMs; app services are containersMinimal Linux microVM on a customized Firecracker VMMFull VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts
Machine size8 vCPU / 8 GB on Hobby, 32 vCPU / 32 GB on Pro, per sandboxPlan 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 from the $100 plan
Running at once50 sandboxes per environment on Hobby, 100 on Pro2, 8 or 24 running instances by plan; standby instances do not count100 to 2,000 sandboxes by plan
When it goes idleDestroyed after the idle timeout (30 minutes by default); files survive only in checkpoints you takeStandby after a 1 second idle cooldown; stateful mode snapshots memory and resumes with warm cachesYou stop it; the disk is saved every minute and on stop, and a stopped sandbox costs nothing
Wake on requestNo; a destroyed sandbox is gone, and you boot a new one from a checkpointYes; incoming traffic wakes a sleeping instance in millisecondsNo; a stopped sandbox is started by API
Docker and systemd insideRoot shell on Ubuntu; the sandbox docs do not mention DockerRuns as root; the Dockerfile becomes the VM image, with no container runtime inside documentedDocker, systemd and root, like any Ubuntu machine
Nested virtualizationNot mentioned in the sandbox docsPer-instance flag and permission, Enterprise only/dev/kvm on every plan, for Android emulators and VMs
SSHYes, with port forwardingNot yet; commands and files go through the sandbox plugin and CLIYes, into every sandbox
Fork and checkpointsFork a running sandbox's filesystem; named disk checkpoints (no memory)Checkpoint memory and volumes of a running microVM with a pause of a few millisecondsFork a running sandbox with its disk; snapshots every minute (disk only)
Inbound accessUp to 10 public HTTPS domains, set only at creationServices on its load balancer: HTTP on 80, HTTPS on 443, TLS-wrapped TCP on other portsHTTPS URLs for up to 50 ports, token-protected; raw TCP; dedicated IPv4 or IPv6
Coding agentsClaude Code, Codex, OpenCode and Pi preinstalled; you run them headless through execNone preinstalled; you bring the agent in your own imageSeven agents preinstalled, with a prompt, steer and events API
Keeping API keys out of the sandboxSecrets go into the sandbox as environment variablesNetwork shield can inject secrets into traffic, Enterprise only, limited accessCredentials proxy for model providers and any HTTPS API on every plan; switch accounts when credits run out
Desktop and computer useHeadless: terminal, exec and SSH onlyNone built in; you can run your own headless browser from a Dockerfile60fps desktop with Chromium, computer use and browser control
Apps and databases nearbyPostgres, Redis and services in the same project; a sandbox can join their private networkGeneral compute for HTTP services and headless browsers; no hosted databases listedNo hosted databases or app services; host your own inside a sandbox
RegionsCalifornia, Virginia, Amsterdam and SingaporeDallas, Frankfurt, San Francisco, Singapore and Washington DC, more on requestEU only: Germany, Finland, France
Every feature Battleships tracks (43)
FeatureRailwayUnikraft Cloudboat
Full VM (own kernel)YesYesYes
Docker insideNot publishedNoYes
Nested virtualizationNoYesYes
RootYesYesYes
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 requestNoYesNo
HTTPS preview URLsYesYesYes
Raw TCP inboundNoNot publishedYes
Public IPv4NoNoNo
Egress allowlistNoYesNo
Secret proxyNoYesYes
Secret proxy for any APINoYesYes
Preinstalled agentsYesNoYes
Agent harness APIYesNoYes
MCP serverYesNoNo
GPUNoYesNo
WindowsNoNoNo
Arm64NoYesNo
Self-hostingNoYesNo
BYOCYesYesNo
Open sourceNoNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsYesNot publishedYes
Usage per sandbox (API)NoNoYes
Audit logsYesYesNo
SSOYesNoNo
SOC 2YesYesNo
HIPAAYesYesNo
EU data residencyYesYesYes
Zero data retentionNot publishedNot publishedYes

Performance

RailwayNot measured
Unikraft CloudNot measured
boat26.69 runs/s

There is no comparable measurement for Railway or Unikraft Cloud: neither is in the StarSling hpc-sandbox-benchmarks run that measured boat at 26.69 Node.js build-and-test runs per second 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. Railway 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.

ScenarioRailway, 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
$16 · Hobby · with limits$39 · Hobby$20 · $20/mo
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$70 · Hobby · 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
$739 · Hobby · 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
$223 · Pro · 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
$781 · Pro · with limitsCan't run it$2,000 · $2000/mo · with limits

Railway: Railway bills sandboxes per second at $50 per vCPU-month on CPU used and $50 per GB-month on memory in use, plus $0.05 per GB out, with the Hobby ($5) and Pro ($20) fees counting toward usage. Memory keeps billing while a sandbox waits, and sandbox disk has no published price, so our bills leave it out.

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, and sleeping instances do not count. It publishes no per-hour or egress rate, so anything bigger is an Enterprise quote.

Limits in those scenarios

Railway is marked not a clean fit in every scenario because it is an app platform first and does not price sandbox disk, and its cap is 100 sandboxes per environment on Pro, so 300 user sandboxes or 1,000 jobs at once need several environments. Unikraft fits one agent on its $39 Team pool, but that pool is 8 vCPU and 8 GiB in total, so 50 agents, user sandboxes and the burst need Enterprise. boat fits all but the 1,000-job burst, where its $2,000 plan queues starts above 90 a minute.

ScenarioRailwayUnikraft Cloudboat
One coding agent, workdays
  • different kind of product: app platform
  • disk beyond 0 GiB: price unknown
  • 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
  • different kind of product: app platform
  • disk beyond 0 GiB: price unknown
  • 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
  • not confirmed: Docker inside
  • different kind of product: app platform
  • disk beyond 0 GiB: price unknown
  • no pool tier with 200 vCPU / 400 GiB for 50 VMs
  • no published per-resource rate
None that bite
Sandboxes for your users
  • Pro: max 100 concurrent
  • different kind of product: app platform
  • disk beyond 0 GiB: price unknown
  • 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
  • Pro: max 100 concurrent
  • different kind of product: app platform
  • disk beyond 0 GiB: price unknown
  • 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 Railway when

your app and databases already live on Railway and you want short-lived sandbox VMs on the same private network, bigger single machines, or 100 at once without a sales call.

  • Sandboxes next to your apps. Useful if your app already runs on Railway: sandboxes can join the same private network as your Postgres and services.
  • Bigger single sandboxes, more of them. A Pro sandbox can reach 32 vCPU / 32 GB, and 100 can run per environment without a sales call.
  • Coding agents in the image. Claude Code, Codex, OpenCode and Pi come preinstalled, so you can run an agent headless with one exec call.

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 Enterprise.

  • 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.
  • Memory checkpoints. Stateful standby and checkpoints keep memory, so an instance comes back with warm caches instead of booting again.
  • GPUs and your own hardware. Enterprise customers can get NVIDIA GPUs, arm64 hosts, dedicated hosts, on-prem or their own cloud.

Where boat fits

Both Railway and Unikraft Cloud are built around short-lived or sleeping workloads. If what you are really running is agents that work for hours, install tools, run Docker and need a screen, look at boat: every sandbox is a full VM that keeps its disk, with a desktop and coding agents you drive from outside.

A whole machine with Docker and KVM

Agents run docker compose and boot emulators. Railway's sandbox docs do not mention Docker or /dev/kvm, and Unikraft documents no container runtime and keeps nested virtualization for Enterprise. boat has Docker, systemd and /dev/kvm on every plan.

Work that is kept, not lost

A Railway sandbox is destroyed after 30 idle minutes unless you set the timeout to 0, and then memory bills until you destroy it. Unikraft keeps state but has no SSH. boat saves the disk every minute and a stopped sandbox costs nothing.

Agents, keys and a desktop built in

On Railway agent keys sit inside the VM as environment variables; Unikraft's secret injection is Enterprise only. Neither has a desktop. boat's credentials proxy keeps keys outside on every plan, and a 60fps desktop lets agents use a real browser.

Use boat when your agents need a real machine for hours or days: Docker and /dev/kvm, a disk that is kept, a desktop, and coding agents you drive from outside while their keys stay outside. Compare it one to one: boat vs Railway and boat vs Unikraft Cloud.

Questions people ask

Is Railway cheaper than Unikraft Cloud?

For one coding agent on workdays, Railway comes to $16 against $39 for Unikraft's Team pool, though Railway's number leaves out disk. For one agent running all month, Unikraft's flat $39 beats Railway's $70. For 50 agents or hundreds of user sandboxes, no self-serve Unikraft plan is big enough, so it is an Enterprise quote.

Which is faster, Railway or Unikraft Cloud?

Neither has a CPU result in the benchmark we use, so we cannot say which runs code faster. Unikraft starts faster: its microVMs cold boot in milliseconds and wake on the next request. boat measured 26.69 runs per second at 4 vCPU / 8 GB.

Can Railway or Unikraft Cloud run Docker inside?

Railway's sandbox docs do not mention Docker, and Unikraft uses your Dockerfile to build the VM image with no container runtime inside documented. A boat sandbox is a full Ubuntu VM with Docker, systemd and /dev/kvm ready to use.

Can I SSH into them?

Railway sandboxes support SSH and port forwarding. Unikraft has no SSH yet, so you run commands and move files through its sandbox plugin and CLI. You can SSH into every boat sandbox too.

What happens when a sandbox goes idle?

Railway destroys it after the idle timeout, 30 minutes by default, and only checkpoints you took survive. Unikraft puts it in standby after a short cooldown and wakes it on the next request. boat stops it, keeps its disk, and charges nothing while it is stopped.

Where do they run?

Railway runs in California, Virginia, Amsterdam and Singapore. Unikraft runs in Dallas, Frankfurt, San Francisco, Singapore and Washington DC, with more metros on request. boat runs only in the EU, in Germany, Finland and France.

Try boat

Install the CLI, then run boat new.

7-day free trial

More comparisons