Runloop vs Koyeb
Runloop is built around coding agents: devboxes from Dockerfile blueprints, agent gateways, Axons and hostname egress rules. Koyeb runs sandboxes as serverless services that sleep when idle, wake on a request, run on GPUs and live in the EU, US and Asia.
The companies and products
Runloop
Runloop is a US platform of sandboxes, called devboxes, for building, running and testing AI coding agents.
You get Linux devboxes built from Dockerfile-style blueprints, disk snapshots, HTTPS tunnels, agent gateways that hide API keys, and Axons, event streams that drive agents such as Claude Code. Each devbox runs in a micro-VM on Runloop's own bare-metal hypervisor, with a container layer inside. It is built for teams shipping coding agents, plus evaluation and RL fine-tuning work on the Enterprise plan.
- Compliance
- SOC 2 Type 2
- Architectures
- x86_64 and arm64 base blueprints
- Own-cloud deploy
- Deploy to VPC on AWS, GCP and Azure (Enterprise)
- Regions
- Not documented or selectable
- Company
- Runloop AI, Inc.
Koyeb
Koyeb is a serverless cloud for apps, inference and sandboxes, and in February 2026 it agreed to join Mistral AI.
A Koyeb sandbox is a Koyeb service: a microVM started from any Docker image and driven from Python or JavaScript SDKs that run commands, read files and expose a port. It can scale to zero when idle and wake on the next request, and it can run on CPU or GPU instance types. It is built for teams that run AI agents or untrusted code next to apps they already host on Koyeb.
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. “20th cheapest of 367” means 19 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 | Runloop: price rank | Koyeb: price rank | bochka: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month Runloop fits a software factory fully, while Koyeb is a compromise because its local disk is lost on redeploy; bochka ranks 3rd and keeps the disk on every plan. | 20th cheapest of 367 $8,152 a month | 54th of 367, with limits $366 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB | 32nd cheapest of 366 $10,194 a month | 135th of 366, with limits $923 a month | 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 Koyeb ranks 4th for short code runs, with small instances that scale to zero and wake on the next request; Runloop ranks 44th. | 44th cheapest of 345 $525 a month | 4th cheapest of 345 $66 a month | 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 Koyeb ranks 6th and Runloop 26th for sandboxes you hand to your users; bochka ranks 1st, with up to 50 HTTPS ports per sandbox. | 26th cheapest of 361 $3,301 a month | 6th cheapest of 361 $495 a month | 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 Runloop ranks 4th for RL rollouts, starting large waves without published start limits; Koyeb is a compromise here. | 4th cheapest of 360 $15,922 a month | 237th of 360, with limits $1,631 a month | 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 Koyeb ranks 19th and Runloop 81st for agent evals; bochka ranks 10th. | 81st cheapest of 364 $2,562 a month | 19th cheapest of 364 $429 a month | 10th cheapest of 364 $200 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month | 121st cheapest of 377 $1,554 a month | 142nd of 377, with limits $88 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB | 113th cheapest of 368 $410 a month | 217th of 368, with limits $37 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 Runloop ships a desktop and a browser your agent can control, and Koyeb sandboxes have none; bochka streams its desktop at 60fps. | 39th cheapest of 369 $2,306 a month | 81st of 369, with limits $123 a month | 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 | 40th cheapest of 367 $1,153 a month | 172nd of 367, with limits $123 a month | 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 | 68th cheapest of 346 $781 a month | 172nd of 346, with limits $89 a month | 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 | 266th of 338, with limits $15,611 a month | 65th of 338, with limits $1,683 a month | 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 Runloop ranks 10th and can lock each devbox to a hostname allowlist; Koyeb is a compromise, and bochka ranks 2nd. | 10th cheapest of 360 $770 a month | 233rd of 360, with limits $299 a month | 2nd cheapest of 360 $200 a month |
| GPU eval jobs 10 at once · 8 vCPU / 32 GB · 500 sessions of 30 min a month Koyeb ranks 3rd for GPU eval jobs, with cards from RTX 4000 up to H100 and H200; Runloop and bochka have no GPUs. | Can't run it | 3rd cheapest of 98 $628 a month | 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 | Runloop | Koyeb | bochka |
|---|---|---|---|
| Isolation | Micro-VM on a custom bare-metal hypervisor, plus a container layer | MicroVM per instance | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| CPU speed | 8.29 runs/s on the Node.js build-and-test benchmark at 4 vCPU / 8 GB | Not benchmarked; at least 0.25 dedicated vCPU per GB of memory, bursting to all cores | 26.69 runs/s on the same benchmark |
| Nested virtualization | Not documented; Docker-in-Docker blueprints only | Not documented | Yes: /dev/kvm for Android emulators and VMs inside |
| Images | Blueprints built from Dockerfiles, x86_64 or arm64, plus disk snapshots | Starts from any Docker image | Templates from named snapshots, no Dockerfile builds |
| Keeping files | Disk kept through suspend (Pro plan) or disk snapshots; shutdown ends the devbox | Local disk lost on redeploy; volumes in preview (1 to 10 GB, two regions) or experimental SDK snapshots | Disk saved every minute and on stop, on every plan; resume with the same files |
| Long runs | Fixed lifetime 1 hour by default, 48 hours max; an idle policy replaces it | No forced cap; optional auto-delete timers you set | No session cap on paid plans; default TTL 1 hour, changeable |
| Sleep and wake | Suspend after idle, wake on an HTTP request to the tunnel (Pro) | Scale to zero after 5 idle minutes, wake on the next request; Light Sleep wakes in about 200 ms | Stop and start by API; a stopped sandbox costs nothing and keeps its disk |
| Inbound access | One HTTPS tunnel per devbox covering its ports; SSH through a TLS proxy; no public IP | One exposed HTTPS port at a time, plus an optional TCP proxy to one port; no dedicated IP | HTTPS URLs for up to 50 ports, token-protected by default; raw TCP; dedicated IPv4 or IPv6 |
| Outbound rules | Hostname allowlist with wildcards, or block all | Block all, or allow only listed IPs and CIDRs | Open internet, no provider-side allowlist |
| Keeping API keys out | Agent gateways for any API endpoint with bearer, header or basic auth | Secrets set as environment variables inside the service | Credentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out |
| Coding agents | Claude Code, Codex, OpenCode, Gemini CLI, DeepAgents, driven through Axons and Broker | Tutorials that run agents through the command API; an MCP server lets agents manage Koyeb | Seven agents preinstalled, with a prompt, steer and events API |
| Desktop and browser | Desktop and browser your agent can control | No desktop or browser in the sandbox SDK | 60fps Linux desktop with Chromium and computer use, embeddable in your app |
| GPUs | No | RTX 4000 SFF Ada up to H100, H200 and multi-GPU | No |
| Where it runs | Regions not documented; Deploy to VPC on AWS, GCP or Azure (Enterprise) | EU, US and Asia; edge and on-premise for Enterprise on request | EU only (Germany, Finland, France), EU data residency |
Every feature Battleships tracks (43)
| Feature | Runloop | Koyeb | bochka |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | No | No | Yes |
| Root | Yes | Not published | 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) | Yes | Not published | Yes |
| Memory fork | No | 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 | Yes | Yes | No |
| HTTPS preview URLs | Yes | Yes | Yes |
| Raw TCP inbound | No | Yes | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | Yes | Yes | No |
| Secret proxy | Yes | No | Yes |
| Secret proxy for any API | Yes | No | Yes |
| Preinstalled agents | Yes | Yes | Yes |
| Agent harness API | Yes | No | Yes |
| MCP server | Yes | Yes | No |
| GPU | No | Yes | No |
| Windows | No | No | No |
| Arm64 | Yes | No | 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 | No | Yes |
| Usage per sandbox (API) | No | No | Yes |
| Audit logs | Not published | Yes | No |
| SSO | Yes | Yes | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | Not published | No | No |
| EU data residency | No | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
On the hpc-sandbox-benchmarks Node.js build-and-test loop at 4 vCPU / 8 GB (run 36498291449, 2026-09-29), bochka scored 26.69 runs a second and Runloop 8.29, about 3.2 times apart. Koyeb was not part of that run, so there is no comparable measurement for it. Koyeb publishes a CPU share of at least 0.25 dedicated vCPU per GB of memory, bursting to all cores, so its speed depends on how busy the host is.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Koyeb 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 | Runloop, a month | Koyeb, 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 | $113 · Basic | $29 · Pro | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $429 · Basic | $57 · Pro | $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 | $5,268 · Basic | $475 · Pro | $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 | $1,441 · Basic | $329 · Scale | $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 | $3,184 · Basic | $485 · Scale · with limits | $2,000 · $2000/mo · with limits |
Runloop: Runloop bills per second for the CPU and memory you allocate while a devbox starts, runs, suspends or resumes, and bills its disk for the devbox's whole life. Basic has no plan fee; Pro adds $250 a month that is not usage credit and unlocks suspend and resume.
Koyeb: Koyeb bills each instance per second from the moment it starts, at a fixed price per instance type, and Deep Sleep costs nothing. Pro costs $29 a month with $10 of usage included and Scale $299 a month with $100 included; bandwidth above 1 TB is extra.
Koyeb: Plans start at $20 a month and the whole fee is usage credit, billed per second while a sandbox runs. A stopped sandbox costs nothing and keeps its disk.
Limits in those scenarios
Runloop publishes no egress price and no concurrency cap for paid plans, and its fixed lifetime tops out at 48 hours unless an idle policy replaces it. Koyeb's priced shape is eco-xlarge, with a 20 GiB disk, no published price for more, and only half of each vCPU guaranteed. For 1,000 short jobs at once, Runloop fits at $3,184 a month, while Koyeb's burstable CPU throttles under load and bochka's $2,000 plan queues starts above 90 a minute.
| Scenario | Runloop | Koyeb | bochka |
|---|---|---|---|
| One coding agent, workdays |
|
| None that bite |
| One agent that never stops |
|
| None that bite |
| 50 agents in parallel |
| None that bite | None that bite |
| Sandboxes for your users |
| None that bite | None that bite |
| 1,000 short jobs at once |
|
|
|
Which one should you use?
Use Runloop when
you ship coding agents and want Dockerfile blueprints, arm64, hostname egress rules, very large bursts of short jobs, or devboxes inside your own AWS, GCP or Azure account.
- Built around coding agents. For teams shipping coding agents: Runloop drives Claude Code, Codex and others through Axons, hides keys in agent gateways and ships a desktop.
- Hostname egress rules. Useful if a devbox must reach only a fixed list of sites: Runloop allows listed hostnames, with wildcards, or blocks everything.
- Dockerfiles, arm64 and your own cloud. Runloop builds blueprints from Dockerfiles, offers arm64, and on Enterprise runs devboxes inside your own AWS, GCP or Azure account.
Use Koyeb when
your sandboxes need GPUs, sleep most of the time and must wake on a request, or have to run in the US or Asia next to apps you already host there.
- GPUs in the same platform. Useful when an agent or eval needs a GPU: Koyeb runs instances from RTX 4000 cards up to H100 and H200.
- Sleep when idle, wake on request. Good for sandboxes that sit idle between requests: Koyeb scales to zero after 5 minutes and wakes on the next request.
- Regions in the EU, US and Asia. Koyeb runs in Frankfurt, Paris, Washington D.C., Singapore, Tokyo and more, for users who need a sandbox close by.
Where bochka fits
If your agents work for hours on one machine, installing, building, running Docker and serving previews, look at bochka. Each sandbox is a full VM on dedicated AMD Ryzen 9 9950X hosts that keeps its disk on every plan, with coding agents, a 60fps desktop and hosting built in. Pick Runloop or Koyeb instead if you need hostname egress rules, arm64, GPUs or regions outside the EU.
A disk that stays on every plan
On Runloop a devbox is gone at shutdown, so keeping work means the Pro plan's fee for suspend or snapshot code you maintain. On Koyeb the local disk is lost on redeploy and volumes are a 1 to 10 GB preview.
A whole machine with /dev/kvm and open ports
Neither Runloop nor Koyeb documents nested virtualization, so Android emulators and VMs do not start. Runloop reaches devboxes through HTTPS tunnels only, and Koyeb exposes one HTTPS port at a time; bochka opens 50 ports plus raw TCP.
About three times Runloop's CPU speed
bochka ran 26.69 runs a second on the Node.js benchmark and Runloop 8.29, so every install, build and test waits about three times longer there. Koyeb was not measured, and its eco instances guarantee only half of each vCPU.
Use bochka when your agents do real work for hours on a machine that keeps its disk: builds, Docker, emulators, a desktop browser and preview servers, on CPUs about three times faster than Runloop's. Compare it one to one: bochka vs Runloop and bochka vs Koyeb.
Questions people ask
Is Runloop cheaper than Koyeb?
No, Koyeb costs less in every scenario on this page. One agent that never stops costs $429 a month on Runloop and $57 on Koyeb, and 50 agents in parallel cost $5,268 against $475. For 1,000 short jobs at once, only Runloop fits as priced, at $3,184 a month.
Which is faster, Runloop or Koyeb?
Only Runloop was measured: 8.29 runs a second on the Node.js build-and-test benchmark at 4 vCPU / 8 GB. Koyeb has no comparable score. bochka ran 26.69 on the same benchmark.
Can Runloop or Koyeb run Docker and Android emulators?
Runloop runs Docker inside its Docker-in-Docker blueprints as root, and Koyeb sandboxes start from any Docker image. Neither documents nested virtualization or /dev/kvm, so Android emulators and VMs are out. bochka exposes /dev/kvm and runs Docker with root and systemd.
Do Runloop and Koyeb sandboxes keep their files?
Runloop keeps a devbox's disk through suspend on the Pro plan or in disk snapshots; shutdown ends it. Koyeb's local disk is lost on redeploy, so lasting files need a volume (in preview) or an experimental SDK snapshot. bochka saves the disk every minute and on stop, on every plan.
Does Runloop or Koyeb have GPUs?
Koyeb does, from an RTX 4000 SFF Ada up to H100 and H200, billed per second. Runloop and bochka are CPU only.
Can I limit which sites a sandbox can reach?
Yes on both. Runloop allows only hostnames you list, with wildcards, or blocks everything, and Koyeb blocks all outbound traffic or allows listed IPs and CIDRs. bochka has no provider-side allowlist, so you filter inside the VM.
Try bochka
Install the CLI, then run bochka new.
Product preview