Koyeb vs Beam
Both are serverless clouds with GPUs that also sell sandboxes for AI agents. Koyeb puts each sandbox in a microVM that can sleep when idle and wake on a request, in the EU, US and Asia, while Beam starts gVisor containers in a second or two, adds separate CPU VMs, runs in the US and is open source.
The companies and products
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.
Beam
Beam is a serverless cloud for GPU inference, sandboxes and background jobs, built on its open-source runtime Beta9.
Beam runs functions, REST endpoints, task queues, pods, sandboxes and VMs on CPUs and GPUs, all from a Python or TypeScript SDK. A sandbox is a container isolated with gVisor that starts in a second or two, lives until you terminate it or its time to live runs out, and can be saved as a filesystem image or a memory snapshot. Beam VMs are a separate CPU product: a microVM with its own kernel, systemd and a root disk that stays when it stops. Much of Beam is a GPU serverless platform for AI teams.
- Bring your own cloud
- Management fee per vCPU and GB of RAM, on top of your own cloud bill
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. “4th cheapest of 345” means 3 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 workload | Koyeb: price rank | Beam: price rank | bochka: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month A software factory needs Docker, systemd and a disk that stays; Koyeb loses its local disk on redeploy and Beam sandboxes end with their time to live, while bochka keeps the disk and adds /dev/kvm. | 54th of 367, with limits $366 a month | 69th of 367, with limits $551 a month | 3rd 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 needs its files to stay; a Beam VM keeps its root disk, a Koyeb deep sleep throws the VM away, and bochka keeps the disk on every sandbox. | 135th of 366, with limits $923 a month | 115th of 366, with limits $651 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 Both fit short code runs well: Koyeb sleeps after 5 idle minutes and wakes on a request, and Beam sandboxes start in a second or two and end on a timer. | 4th cheapest of 345 $66 a month | 8th cheapest of 345 $117 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 Both fit; Beam gives each user a quick container, Koyeb a microVM that wakes on request in more regions, and bochka a full VM with up to 50 HTTPS ports. | 6th cheapest of 361 $495 a month | 3rd cheapest of 361 $290 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 | 237th of 360, with limits $1,631 a month | 341st of 360, with limits $939 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 | 19th cheapest of 364 $429 a month | 13th cheapest of 364 $251 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 Beam fits CI with Docker inside its sandboxes, while Koyeb's cheap eco shape only guarantees half of each vCPU; neither documents /dev/kvm for Android or VM builds, which bochka has. | 142nd of 377, with limits $88 a month | 12th cheapest of 377 $171 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB A Beam VM keeps a 50 GiB root disk while stopped, which suits a dev box; on Koyeb lasting files need a volume, which is in preview. | 217th of 368, with limits $37 a month | 13th cheapest of 368 $21 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 Neither Koyeb nor Beam has a desktop or browser in its sandboxes, so you build that yourself; bochka streams a 60fps Linux desktop with Chromium. | 81st of 369, with limits $123 a month | 111th of 369, with limits $237 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 | 172nd of 367, with limits $123 a month | 195th of 367, with limits $176 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 | 172nd of 346, with limits $89 a month | 200th of 346, with limits $131 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 | 65th of 338, with limits $1,683 a month | 42nd of 338, with limits $923 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 | 233rd of 360, with limits $299 a month | 175th of 360, with limits $155 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 Both run GPUs: Koyeb from RTX 4000 cards up to H100 and H200, Beam from RTX 4090 up to H100, H200 and B200; bochka has no GPUs. | 3rd cheapest of 98 $628 a month | Cheapest of 98 $458 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 | Koyeb | Beam | bochka |
|---|---|---|---|
| Isolation | MicroVM per instance | gVisor container by default; separate Beam VMs are CPU microVMs with their own kernel | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Docker and systemd | Starts from any Docker image; systemd not documented | Docker inside sandboxes with docker_enabled; systemd only in Beam VMs | Docker, systemd and root, like a normal Ubuntu server |
| Nested virtualization | Not documented | Not documented | Yes, /dev/kvm for Android emulators and VMs |
| Disk between runs | Local disk is lost on redeploy; volumes (preview, 1 to 10 GB, two regions) persist | A sandbox ends with its time to live unless you save an image or use a volume; a Beam VM keeps a 50 GiB root disk | Disk is saved every minute and on stop, and a stopped sandbox keeps it for free |
| Sleep and wake | Scales to zero after 5 idle minutes and wakes on the next request; Light Sleep wakes in about 200 ms | No wake on request; a sandbox runs until you terminate it or its time to live ends (10 minutes by default) | Stop and start by API; a stopped sandbox costs nothing and keeps its disk |
| Snapshots and fork | SDK snapshots of the filesystem or running processes, then new sandboxes from them (experimental) | Memory snapshot of a running sandbox with its processes, restored into new sandboxes | Fork a running sandbox with its disk |
| GPUs | RTX 4000 SFF Ada up to H100, H200 and multi-GPU | GPU sandboxes and serverless GPUs up to H100, H200 and B200 | No, CPU only |
| Inbound access | One exposed HTTPS port at a time, plus an optional TCP proxy to one port | A public HTTPS URL per exposed port with no built-in auth; no raw TCP | HTTPS URLs for up to 50 ports, token-protected by default; raw TCP; dedicated IPv4 or IPv6 |
| Outbound rules | Block all outbound traffic, or allow only listed IPs and CIDRs | Block all outbound traffic, or allow up to 10 CIDR ranges, changeable while running | Open internet, no provider-side allowlist |
| Desktop and browser | No desktop or browser in the sandbox SDK | No desktop or browser product | 60fps Linux desktop with Chromium and computer use |
| Coding agents | Tutorials that run agents through the command API | None preinstalled; you install and run them through process exec | Seven agents preinstalled, with a prompt, steer and events API |
| Keeping API keys out of the sandbox | Secrets are set as environment variables inside the service | Secrets are exposed as environment variables inside the sandbox | Credentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out |
| Regions | EU, US and Asia | US only; no other region is listed | EU only (Germany, Finland, France) |
| Self-hosting | Edge and on-premise deployments for Enterprise, on request | Beta9 runtime is AGPL-3.0 and free to self-host; bring your own cloud for a fee | No |
Every feature Battleships tracks (43)
| Feature | Koyeb | Beam | bochka |
|---|---|---|---|
| Full VM (own kernel) | Yes | No | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | No | No | Yes |
| Root | Not published | Yes | Yes |
| Systemd | Not published | No | Yes |
| Desktop GUI | No | No | Yes |
| Browser | No | No | Yes |
| Computer-use API | No | No | Yes |
| SSH | No | Yes | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | Yes | No | Yes |
| Automatic snapshots | Yes | No | Yes |
| Fork/clone | Yes | Yes | Yes |
| Live fork (no pause) | Not published | 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 | No | No |
| Wake on request | Yes | No | No |
| HTTPS preview URLs | Yes | Yes | Yes |
| Raw TCP inbound | Yes | No | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | Yes | Yes | No |
| Secret proxy | No | No | Yes |
| Secret proxy for any API | No | No | Yes |
| Preinstalled agents | Yes | No | Yes |
| Agent harness API | No | No | Yes |
| MCP server | Yes | Yes | No |
| GPU | Yes | Yes | No |
| Windows | No | No | No |
| Arm64 | No | No | No |
| Self-hosting | Yes | Yes | No |
| BYOC | Yes | Yes | No |
| Open source | No | Yes | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | No | Not published | Yes |
| Usage per sandbox (API) | No | No | Yes |
| Audit logs | Yes | Not published | No |
| SSO | Yes | No | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | No | Yes | No |
| EU data residency | Yes | Not published | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
There is no comparable measurement for Koyeb or Beam: neither was part of the StarSling hpc-sandbox-benchmarks CPU run, so we cannot say which is faster. bochka did 26.69 runs per second on that Node.js test at 4 vCPU / 8 GB. Koyeb publishes a CPU share of at least 0.25 dedicated vCPU per GB of memory, and Beam's guide says its sandboxes cold-boot in 1 to 3 seconds.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Koyeb and Beam 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.
| Scenario | Koyeb, a month | Beam, 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 | $29 · Pro | $5 · Developer | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $57 · Pro | $22 · Developer | $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 | $475 · Pro | $410 · Team | $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 | $329 · Scale | $191 · Team | $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 | $485 · Scale · with limits | $259 · Team | $2,000 · $2000/mo · with limits |
Koyeb: Koyeb bills each instance per second 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; the rest of the fee is not credit.
Beam: Beam sandboxes bill per second for each CPU core (two vCPU) and GiB of RAM until you terminate them or their time to live ends, so an idle tail is billed too. Developer has no fee, Team costs $89 a month plus usage with no credit, and egress is free.
Beam: 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
Neither Koyeb nor Beam publishes a price for more disk in these scenarios: Koyeb's eco-xlarge has a 20 GiB disk, and Beam's sandbox price counts no disk at all, so the 50 GB scenarios are priced without it. Beam's Developer plan allows 30 CPU containers at once, so 50 parallel agents need Team. At 1,000 short jobs at once, Beam's Team plan fits, while Koyeb's burstable eco CPU guarantees only half of each vCPU and bochka's $2,000 plan queues starts above 90 a minute.
| Scenario | Koyeb | Beam | 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 Koyeb when
your sandboxes sleep most of the time and must wake on a request, need a microVM each, or have to run in the EU or Asia as well as the US.
- Sleep when idle, wake on request. Good for sandboxes that sit idle between requests: Koyeb scales to zero and wakes on the next request, in about 200 ms with Light Sleep.
- A microVM for every sandbox. Every Koyeb sandbox gets its own microVM, while a Beam sandbox is a gVisor container unless you opt in to microVM mode.
- Regions in the EU, US and Asia. For teams whose users sit outside the US, Koyeb runs in Frankfurt, Paris, Washington D.C., Singapore, Tokyo and more.
Use Beam when
you run many short jobs or big bursts, want memory snapshots or low-cost CPU VMs in the US, or must self-host the runtime.
- Fast sandboxes that end on their own. For short jobs and big bursts, Beam sandboxes start in a second or two and stop when their time to live ends.
- Memory snapshots and CPU VMs. Beam can snapshot a running sandbox with its processes, and sells CPU VMs that keep a 50 GiB disk while stopped.
- Open source and your own cloud. Teams that must self-host can run Beta9, Beam's AGPL-3.0 runtime, for free, or run Beam in their own cloud for a fee.
Where bochka fits
Koyeb and Beam are GPU clouds first, with sandboxes as one product among many. If what you are really running is coding agents that work for hours, bochka gives each one a full VM that keeps its disk, with the agents, a desktop and hosting built in. Keep Koyeb or Beam for the GPU part.
A full VM with /dev/kvm
Neither Koyeb nor Beam documents /dev/kvm, so Android emulators and nested VMs cannot start there, and Beam sandboxes have no systemd. bochka gives each sandbox its own kernel, root, systemd, Docker and /dev/kvm.
A disk that is still there
Koyeb loses its local disk on redeploy and a deep sleep discards the VM; a Beam sandbox ends with its time to live. Both need volumes or snapshots to keep work. bochka saves the disk every minute and on stop.
Agents, desktop and keys built in
On both you build the agent harness on exec, have no desktop, expose ports one at a time or publicly, and keep keys as environment variables the agent can read. bochka preinstalls seven agents, a 60fps desktop and a credentials proxy.
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, with agents and keys handled for you. Compare it one to one: bochka vs Koyeb and bochka vs Beam.
Questions people ask
Is Koyeb cheaper than Beam?
No, Beam costs less in every scenario on this page. For one agent that never stops it is $22 against $57 a month, and for 50 agents in parallel $410 against $475. For 1,000 short jobs at once, Beam fits at $259 a month while Koyeb's burstable CPU does not.
Which is faster, Koyeb or Beam?
We cannot say: neither has a result on the CPU benchmark we use. Beam says its sandboxes cold-boot in 1 to 3 seconds, and Koyeb's Light Sleep wakes a sandbox in about 200 ms. bochka did 26.69 runs per second on that benchmark.
Can Koyeb and Beam run Docker?
Both start sandboxes from Docker images. Beam runs Docker inside a sandbox when you set docker_enabled, and bochka runs Docker with root and systemd in its full VM, plus /dev/kvm for emulators.
Do Koyeb and Beam sandboxes keep their files?
Not by default. Koyeb's local disk is lost on redeploy and a deep sleep discards the VM, and a Beam sandbox ends with its time to live; both need volumes or snapshots. A Beam VM keeps its root disk, and bochka saves the disk every minute.
Which has better GPUs?
Both sell GPUs billed per second. Koyeb goes from an RTX 4000 SFF Ada up to H100 and H200, and Beam from an RTX 4090 up to H100, H200 and B200, with GPUs in sandboxes too. bochka is CPU only.
Where do Koyeb and Beam run?
Koyeb runs in Frankfurt, Paris, Washington D.C., Singapore, Tokyo and more. Beam runs on AWS and Google Cloud in the United States, with no other region listed. bochka runs in the EU only.
Try bochka
Install the CLI, then run bochka new.
Product preview