GitHub Codespaces vs Koyeb
GitHub Codespaces is a dev environment for people: a container on its own VM, opened from a GitHub repository in VS Code, that stops after 12 hours at most. Koyeb is a sandbox you drive from code: a microVM from any Docker image that can sleep when idle, wake on a request, and run on GPUs.
The companies and products
GitHub Codespaces
GitHub Codespaces is GitHub's cloud development environment: a ready-to-code Linux machine for a repository, opened in the browser, VS Code or the GitHub CLI.
Codespaces is a different kind of product from bochka: a dev environment for people working on a GitHub repository, not a sandbox API for agents. Each codespace is a Docker container built from the repo's dev container config, running on its own newly built VM on Azure, with 2 to 32 cores. It is built for developers and teams who want every contributor to start from the same setup, with prebuilds, port forwarding and GitHub billing.
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. “274th cheapest of 367” means 273 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 | GitHub Codespaces: 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 Codespaces stops a long build-and-test agent at 12 hours and Koyeb's local disk is lost on redeploy, while bochka keeps a full VM with Docker and its disk running. | 274th of 367, with limits $4,618 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 An always-on assistant hits the 12-hour stop on Codespaces and loses its VM in a Koyeb deep sleep, while a bochka sandbox keeps running and keeps its files. | 309th of 366, with limits $6,970 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 fits short code runs well, with small instances that sleep after 5 idle minutes and wake on the next request; each codespace builds a dev container on a new VM. | 288th of 345, with limits $619 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 is built to hand sandboxes to your own users from an SDK, while Codespaces are created for GitHub users on a repository and GitHub does not publish how many can run at once. | 281st of 361, with limits $1,964 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 | 282nd of 360, with limits $9,489 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 | 295th of 364, with limits $1,519 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 Neither documents /dev/kvm for Android or VM image builds, and Codespaces has no copy of a warm machine; bochka exposes /dev/kvm and forks a running sandbox. | 314th of 377, with limits $909 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 Codespaces is a polished VS Code box per repo but stops after 12 hours; Koyeb sandboxes have no SSH and lose local disk on redeploy; bochka is a full VM that keeps running. | 130th of 368, with limits $270 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 Neither Codespaces nor Koyeb gives the sandbox a graphical desktop, while bochka streams a 60fps desktop with Chromium for computer use. | 267th of 369, with limits $1,367 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 | 275th of 367, with limits $678 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 | 310th of 346, with limits $922 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 | 280th of 338, with limits $18,637 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 | 267th of 360, with limits $445 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 runs GPU instances up to H100 and H200, while Codespaces has no GPU machine types in its current docs and bochka has 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 | GitHub Codespaces | Koyeb | bochka |
|---|---|---|---|
| What it is | A cloud dev environment for a GitHub repository, opened in VS Code, the browser or the GitHub CLI | A sandbox service started from any Docker image and driven from Python or JavaScript SDKs | A sandbox you drive from code, with an API and SDK on every plan |
| Isolation | A Docker container on its own newly built VM, with its own virtual network | MicroVM per instance | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| How long it runs | Stops after 30 idle minutes by default (up to 240) and after 12 hours at most, even while in use | No forced session cap; optional auto-delete timers you set yourself | Runs until you stop it; no session cap on paid plans |
| Files after a stop | Saved files are kept and storage is billed; stopped codespaces are deleted after 30 days by default | Local disk is lost on redeploy and a deep sleep discards the VM; volumes (preview, 1 to 10 GB) persist | Disk kept across stops and saved every minute; a stopped sandbox costs nothing |
| Sleep and wake | Stops when idle; you restart it yourself | Scales to zero after 5 idle minutes and wakes on the next request; Light Sleep wakes in about 200 ms | Stop and start by API |
| Fork and snapshots | No copy or snapshot endpoint; new codespaces start from a repo, branch, pull request or prebuild | SDK snapshots of the filesystem or with running processes, and new sandboxes from them (experimental) | Fork a running sandbox with its files; named snapshots as templates |
| Docker and nested virtualization | Docker and sudo in the dev container; /dev/kvm not documented | Runs Docker images; nested virtualization not documented | Docker, root, systemd and /dev/kvm on every machine |
| Desktop and computer use | VS Code, JupyterLab and a terminal; no graphical desktop | No desktop or browser in the sandbox SDK | 60fps desktop with Chromium, computer use and browser control |
| Reaching the sandbox | A URL per forwarded port, private, organization or public; SSH; 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; raw TCP; dedicated IPv4 or IPv6 |
| Outbound rules | Open internet; GitHub says there is no way to restrict it | Block all outbound traffic, or allow only listed IPs and CIDRs | Open internet, no provider-side allowlist |
| Coding agents | GitHub Copilot as a VS Code extension; other agents you install yourself | Tutorials that run agents through the command API; an MCP server lets agents manage Koyeb | Claude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API |
| Keeping API keys out of the sandbox | Secrets are copied into the codespace as environment variables | Secrets are set as environment variables inside the service | Credentials proxy for model providers and any HTTPS API; switch to another account when credits run out |
| GPUs | No GPU machine types in current docs | RTX 4000 SFF Ada up to H100, H200 and multi-GPU | No |
| Regions | US East, US West, Europe West and Southeast Asia | Frankfurt, Paris, Washington D.C., AWS US East, Singapore, Tokyo | EU only: Germany, Finland, France |
Every feature Battleships tracks (43)
| Feature | GitHub Codespaces | 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 | No | No | Yes |
| Browser | No | No | Yes |
| Computer-use API | No | No | Yes |
| SSH | Yes | No | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | Yes | Yes | Yes |
| Automatic snapshots | No | Yes | Yes |
| Fork/clone | No | Yes | Yes |
| Live fork (no pause) | No | Not published | Yes |
| Memory fork | No | Yes | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | No | Yes | Yes |
| Idle auto-stop | Yes | Yes | No |
| Wake on request | No | Yes | No |
| HTTPS preview URLs | Yes | Yes | Yes |
| Raw TCP inbound | No | Yes | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | No | Yes | No |
| Secret proxy | No | No | Yes |
| Secret proxy for any API | No | No | Yes |
| Preinstalled agents | No | Yes | Yes |
| Agent harness API | No | No | Yes |
| MCP server | No | Yes | No |
| GPU | No | Yes | No |
| Windows | No | No | No |
| Arm64 | No | No | No |
| Self-hosting | No | Yes | No |
| BYOC | No | Yes | No |
| Open source | No | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Yes | No | Yes |
| Usage per sandbox (API) | No | No | Yes |
| Audit logs | Yes | Yes | No |
| SSO | Yes | Yes | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | No | No | No |
| EU data residency | Yes | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
There is no comparable measurement for GitHub Codespaces or Koyeb: neither was in the public benchmark runs we use. bochka did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB, on dedicated AMD Ryzen 9 9950X hosts. 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. GitHub Codespaces and Koyeb 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 | GitHub Codespaces, 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 | $51 · Personal account: GitHub Free | $29 · Pro | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $270 · Personal account: GitHub Free · with limits | $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 | $3,019 · Personal account: GitHub Free | $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 | $850 · Personal account: GitHub Free · with limits | $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 | $1,889 · Personal account: GitHub Free · with limits | $485 · Scale · with limits | $2,000 · $2000/mo · with limits |
GitHub Codespaces: Codespaces bills $0.09 per core-hour while a codespace is active, plus $0.07 per GB-month for storage while it exists, stopped too. There is no 4-core machine with 8 GB, so a 4 vCPU / 8 GB job is priced on the 4-core 16 GB machine; personal accounts get a free monthly quota and organizations do not.
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.
Koyeb: 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
Every codespace stops after 12 hours at most, so it does not fit the always-on scenario, and GitHub does not publish how many can run at once, so 300 user sandboxes and 1,000 short jobs show as not confirmed. Koyeb's priced eco-xlarge shape has a 20 GiB disk with no published price for more, and eco instances guarantee only half of each vCPU, which throttles the 1,000-job burst. bochka's $2,000 plan queues starts above 90 a minute, so none of the three fits that burst as priced.
| Scenario | GitHub Codespaces | Koyeb | bochka |
|---|---|---|---|
| One coding agent, workdays | None that bite |
| 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 GitHub Codespaces when
your developers want a ready VS Code environment for a GitHub repository, opened from a branch or pull request, in the US, EU or Asia.
- Built into GitHub. Useful if your team lives on GitHub: open a ready codespace from any repo, branch or pull request in VS Code.
- Same setup for every developer. Dev container configs and prebuilds built by GitHub Actions give every contributor the same ready machine.
- Free hours for personal accounts. A GitHub Free account includes 120 core-hours and 15 GB-month of storage each month, enough for light personal work.
Use Koyeb when
your app hands out sandboxes that sleep most of the time and wake on a request, need GPUs, or must run in the US or Asia.
- Sandboxes you drive from code. Useful for apps that hand out sandboxes: an SDK runs commands, reads files and exposes a port on each microVM.
- Sleep when idle, wake on request. Good for sandboxes that sit idle between requests: they scale to zero and wake on the next one.
- GPUs and egress rules. Useful when a job needs a GPU or locked-down network: GPUs up to H100 and H200, and outbound IP allowlists.
Where bochka fits
If what you are really running is coding agents that work for hours, Codespaces stops them at 12 hours and Koyeb throws away their disk on a deep sleep. bochka gives each agent a full VM that keeps running and keeps its files, with agents, a desktop and hosting built in.
Machines that keep running and keep their work
A codespace stops at 12 hours even while in use, so you need a restart script, and its processes end. On Koyeb lasting files need a preview volume of 1 to 10 GB. bochka runs until you stop it and saves its disk every minute.
A full VM with /dev/kvm, a desktop and open ports
Neither documents /dev/kvm, so Android emulators and microVMs must run elsewhere, and neither has a desktop for computer use. Koyeb exposes one HTTPS port at a time. bochka has /dev/kvm, a 60fps desktop and HTTPS on up to 50 ports.
Coding agents you drive from outside, keys kept out
On both you build the harness yourself, over SSH or the exec API, and API keys sit in environment variables the agent can read. bochka preinstalls Claude Code, Codex and others with a prompt, steer and events API and a credentials proxy.
Use bochka when your code starts and drives agents that work for hours or days: full VMs with /dev/kvm, a desktop and open ports, built-in coding agents with keys kept outside, and machines that keep their disk and fork while running. Compare it one to one: bochka vs GitHub Codespaces and bochka vs Koyeb.
Questions people ask
Is GitHub Codespaces cheaper than Koyeb?
Not in the scenarios we priced. One coding agent on workdays is $51 a month on Codespaces against $29 on Koyeb and $20 on bochka, and 50 agents in parallel come to $3,019 against $475 and $317. For 1,000 short jobs at once, none of the three fits as priced.
Which is faster, GitHub Codespaces or Koyeb?
We have no comparable CPU measurement for either, so we cannot rank them. bochka did 26.69 runs per second on the Node.js build-and-test benchmark at 4 vCPU / 8 GB. Koyeb guarantees at least 0.25 dedicated vCPU per GB of memory and bursts above that.
Can I run an AI agent 24/7 on Codespaces or Koyeb?
Not on Codespaces without restarts: every codespace stops after 12 hours, even while in use. Koyeb has no forced session cap, but its local disk is lost on redeploy and a deep sleep discards the VM. A bochka sandbox runs until you stop it and keeps its disk.
Can GitHub Codespaces and Koyeb run Docker?
Docker works inside a codespace through dev container features, and Koyeb sandboxes start from any Docker image. Neither documents /dev/kvm, so Android emulators and microVMs are not a supported setup. Every bochka machine has Docker, systemd and /dev/kvm.
Do Codespaces or Koyeb have GPUs?
Koyeb runs instances from an RTX 4000 SFF Ada up to H100 and H200, billed per second. Codespaces lists no GPU machine types in its current docs, and bochka is CPU only.
Is bochka SOC 2 compliant?
SOC 2 is in progress. We're open about where we stand: live status at status.bochka.xyz and our data retention policy at docs.bochka.xyz/data-retention.
Try bochka
Install the CLI, then run bochka new.
Product preview
More comparisons
- bochka vs GitHub Codespaces
- bochka vs Koyeb
- E2B vs GitHub Codespaces
- Daytona vs GitHub Codespaces
- Modal vs GitHub Codespaces
- Vercel Sandbox vs GitHub Codespaces
- Cloudflare Sandbox vs GitHub Codespaces
- Blaxel vs GitHub Codespaces
- Runloop vs GitHub Codespaces
- Tensorlake vs GitHub Codespaces
- Morph Cloud vs GitHub Codespaces
- CodeSandbox SDK vs GitHub Codespaces