bochka vs Exoscale
An Exoscale Compute Instance is a plain KVM machine in a European zone that you set up, secure and run yourself. bochka gives an agent a full VM too, with snapshots every minute, fork of a running machine, HTTPS ports, a desktop and coding agents already built in.
Where bochka stands out
Snapshots every minute, fork while running
bochka saves a sandbox's disk every minute and when it stops, and you can fork a running sandbox in one call. On Exoscale you take each snapshot by hand, an account holds 30, one can take several hours, and they are deleted with the instance. Copying a machine means a snapshot, an export to a template, then a new instance.
Coding agents built in, keys kept out
Every bochka sandbox has Claude Code, Codex, OpenCode and other agents ready, and you drive them from outside with a prompt, steer and events API. The credentials proxy keeps real AI keys out of the machine and can switch to another account when one runs out of credits.
HTTPS ports and a desktop, no setup
Each bochka sandbox serves up to 50 ports on HTTPS URLs protected by a token, plus raw TCP, and streams a 60fps desktop with Chromium for computer use. An Exoscale instance has a public IP, and its load balancer works at Layer 4, so HTTPS means your own proxy and certificates.
The companies and products
bochka
bochka.xyz runs sandboxes for AI agents: each one is a full Linux VM with its own kernel.
You start a machine with one command or one API call, then SSH in, run Docker, open a desktop, or let a built-in agent (Claude Code, Codex, OpenCode and others) work in it. The disk stays between sessions, and a stopped sandbox costs nothing.
- Isolation
- Full VM per sandbox, own kernel
- Regions
- EU: Germany, Finland, France
Exoscale
Exoscale is a European cloud provider from Switzerland that rents compute, storage, networking and managed databases.
A Compute Instance is a KVM virtual machine running Linux, Windows or a custom ISO, picked from Standard, CPU, Memory, Storage optimized or GPU families and billed by the second. You install and run your own software on it, next to Exoscale products like block storage, object storage, Kubernetes (SKS), network load balancers and managed databases. It is general infrastructure, not an agent sandbox, so this page compares the two where they overlap: giving an agent its own Linux machine.
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. “3rd cheapest of 367” means 2 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 | bochka: price rank | Exoscale: price rank |
|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month Both give a full Linux VM with root and Docker, but an Exoscale instance starts as an empty OS template, while bochka comes with agents, minute snapshots, HTTPS ports and a desktop. | 3rd cheapest of 367 $634 a month | 173rd of 367, with limits $1,873 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB An Exoscale instance can run an assistant around the clock, but you build the agent setup, the HTTPS endpoint and the backups yourself; bochka has them built in. | 5th cheapest of 366 $657 a month | 192nd of 366, with limits $1,805 a month |
| Code interpreter bursts 100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month Exoscale fits one-minute bursts better: it bills by the second with no start limit, once you raise its default quota of 20 instances, while bochka's start limits queue big bursts. | 186th of 345, with limits $2,000 a month | 68th of 345, with limits $80 a month |
| Sandboxes for your users 300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month 300 user sandboxes need far more than Exoscale's default 20 instances, so you ask for a quota raise first; bochka allows 100 to 2,000 by plan. | Cheapest of 361 $209 a month | 66th of 361, with limits $569 a month |
| RL rollouts 1,000 at once · 2 vCPU / 4 GB · 1,000,000 sessions of 3 min a month | 34th of 360, with limits $2,000 a month | 39th of 360, with limits $2,403 a month |
| Agent evals 250 at once · 4 vCPU / 8 GB · 15,000 sessions of 20 min a month | 10th cheapest of 364 $200 a month | 22nd cheapest of 364 $481 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month Both run Docker builds on a full VM billed by the second; on Exoscale you run the runner software and the clean-up yourself. | 4th cheapest of 377 $86 a month | 24th cheapest of 377 $293 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB Both fit a 24/7 dev box: an Exoscale standard-large instance comes to $73 a month and a bochka machine to $26, with snapshots every minute. | 18th cheapest of 368 $26 a month | 55th cheapest of 368 $73 a month |
| Computer-use agents 50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month bochka streams a 60fps desktop with Chromium and computer use; on Exoscale you install the desktop, the browser and the control loop yourself. | 6th cheapest of 369 $200 a month | 171st of 369, with limits $481 a month |
| Browser-use agents 50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month Exoscale gives you a VM and a static datacenter IP; the browser, its control API and the session handling are yours to build. | 7th cheapest of 367 $200 a month | 211th of 367, with limits $240 a month |
| Scraping & bots (startup scale) 50 at once · 1 vCPU / 2 GB · 100,000 sessions of 3 min a month | 6th cheapest of 346 $90 a month | 197th of 346, with limits $120 a month |
| Mass scraping & bots (undetectable) 1,000 at once · 1 vCPU / 2 GB · 3,000,000 sessions of 2 min a month | 71st of 338, with limits $1,800 a month | 96th of 338, with limits $2,482 a month |
| Parallel red teaming 200 at once · 2 vCPU / 4 GB · 5,000 sessions of 30 min a month | 2nd cheapest of 360 $200 a month | 155th of 360, with limits $126 a month |
| GPU eval jobs 10 at once · 8 vCPU / 32 GB · 500 sessions of 30 min a month | Can't run it | 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 |
Key features
| Feature | bochka | Exoscale |
|---|---|---|
| What you get | A sandbox API for agents, on full VMs | A general cloud instance you set up and run yourself |
| Isolation | Every sandbox is a full VM with its own kernel | Every instance is a KVM VM with its own kernel |
| CPU | Dedicated AMD Ryzen 9 9950X (Zen 5) hosts; 26.69 runs/s at 4 vCPU / 8 GB | CPU model not published; no comparable measurement |
| Docker and nested virtualization | Docker, root, systemd and /dev/kvm on every machine, documented | Root and Docker on Linux templates; nested virtualization is not documented |
| Snapshots | Automatic snapshots every minute and on stop | Manual disk snapshots, 30 per account, can take several hours, deleted with the instance |
| Fork | Fork a running sandbox in one call (disk, no memory) | Snapshot the disk (stopping first is strongly encouraged), export it to a template, then start new instances |
| Stopping | A stopped sandbox costs nothing and keeps its disk | Compute stops billing; the disk keeps billing until you delete the instance |
| Reaching the machine | HTTPS URLs for up to 50 ports, token-protected; raw TCP; own IP | Public IPv4 on any port you open; the load balancer is Layer 4, so HTTPS means your own certificates |
| Desktop and computer use | 60fps desktop and Chromium, computer use and browser control, embeddable stream | None built in; you install a desktop and browser yourself |
| Coding agents | Claude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API | None; you install and drive agents yourself, for example over SSH |
| Keeping keys out of the machine | AI credentials proxy for model providers and any HTTPS API you register; switch a credential to another account when credits run out | No credentials proxy; secrets reach the instance through SSH, cloud-init or your own tooling |
| Outbound rules | Open internet on every plan; no provider-side allowlist | Security groups at the hypervisor filter outbound traffic by protocol, IP range and port |
| GPUs and Windows | No GPUs; no Windows guests (Wine for Windows apps) | Nvidia GPUs from RTX 3080 Ti to B300; Windows instances |
| Regions | EU only: Germany, Finland, France | Europe only: Germany, Austria, Switzerland, Bulgaria, Croatia |
| Compliance and transparency | SOC 2 is in progress. We're open about where we stand: live status and data retention policy. | SOC 2 |
Every feature Battleships tracks (43)
| Feature | bochka | Exoscale |
|---|---|---|
| Full VM (own kernel) | Yes | Yes |
| Docker inside | Yes | Yes |
| Nested virtualization | Yes | Not published |
| Root | Yes | Yes |
| Systemd | Yes | Yes |
| Desktop GUI | Yes | No |
| Browser | Yes | No |
| Computer-use API | Yes | No |
| SSH | Yes | Yes |
| Persistent disk | Yes | Yes |
| Pause/resume | Yes | No |
| Automatic snapshots | Yes | No |
| Fork/clone | Yes | Yes |
| Live fork (no pause) | Yes | Yes |
| Memory fork | No | No |
| Custom image (Docker or snapshot) | Yes | Yes |
| ≥24 h sessions | Yes | Yes |
| Idle auto-stop | No | No |
| Wake on request | No | No |
| HTTPS preview URLs | Yes | No |
| Raw TCP inbound | Yes | Yes |
| Public IPv4 | No | Yes |
| Egress allowlist | No | Yes |
| Secret proxy | Yes | No |
| Secret proxy for any API | Yes | No |
| Preinstalled agents | Yes | No |
| Agent harness API | Yes | No |
| MCP server | No | No |
| GPU | No | Yes |
| Windows | No | Yes |
| Arm64 | No | No |
| Self-hosting | No | No |
| BYOC | No | No |
| Open source | No | No |
| Scoped API keys | Yes | Not published |
| Spend limits | Yes | Not published |
| Usage per sandbox (API) | Yes | Yes |
| Audit logs | No | Not published |
| SSO | No | Yes |
| SOC 2 | No | Yes |
| HIPAA | No | Yes |
| EU data residency | Yes | Yes |
| Zero data retention | Yes | Not published |
Performance
There is no comparable measurement for Exoscale: its instances were not part of the public StarSling benchmark run where bochka did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB. Exoscale does not publish the CPU model behind its instances, so results would depend on the zone and family you pick.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Exoscale 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 | bochka, a month | Exoscale, 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 | $20 · $20/mo | $22 · Usage account |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $26 · $20/mo | $73 · Usage account |
| 50 agents in parallel 50 machines of 4 vCPU / 8 GB at once, 8-hour sessions, 1,100 sessions a month, Docker inside | $317 · $20/mo × 3 seats | $924 · Usage account |
| Sandboxes for your users 2 vCPU / 4 GB, 30,000 sessions of 10 minutes a month, up to 300 at once | $200 · $100/mo × 2 seats | $240 · Usage account |
| 1,000 short jobs at once 2 vCPU / 4 GB, 1,000 at once, 3 minutes each, 200,000 jobs a month | $2,000 · $2000/mo · with limits | $481 · Usage account |
bochka: You pick a monthly plan from $20, and all of it becomes usage credit spent per second on running sandboxes. A stopped sandbox costs nothing and keeps its disk.
Exoscale: Each instance size has an hourly price billed by the second, plus the local disk per GiB-hour, which keeps billing while the instance is stopped. Each running instance also gets 1.42 GB of free outbound traffic per hour, pooled across the organization.
Limits in those scenarios
Exoscale lets an organization run 20 instances by default, so 50 agents in parallel, 300 user sandboxes and 1,000 short jobs at once all need a quota raise through the portal first, and a raised quota does not reserve capacity. Once raised, per-second billing with no start limit suits the 1,000-job burst well. On bochka the limit is a sandbox count (100 to 2,000 by plan) plus starts per minute, so the 1,000-job burst gets queued and needs more starts per day than the $2,000 plan allows. Resizing an Exoscale instance also needs it stopped.
| Scenario | bochka | Exoscale |
|---|---|---|
| One coding agent, workdays | None that bite | None that bite |
| One agent that never stops | None that bite | 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 |
| None that bite |
Which one should you use?
Use Exoscale when
you need GPUs, Windows, a zone in Switzerland, Austria, Bulgaria or Croatia, hypervisor-level egress rules, or a long-lived server next to managed databases and Kubernetes.
- GPUs in European zones. Useful if your agents train or serve models: Exoscale rents Nvidia GPUs from RTX 3080 Ti up to B300, in Swiss, German, Austrian and Croatian zones.
- Switzerland, Windows and a whole cloud. Useful if the machine must run Windows, sit in Switzerland or Austria, or live next to managed databases and Kubernetes in one account.
- Outbound rules at the hypervisor. Useful if untrusted code must only reach chosen IP ranges: security groups filter outbound traffic outside the guest.
Use bochka when
you want each agent on its own full VM that is ready to work: coding agents, a desktop, HTTPS ports and minute-by-minute snapshots built in, fork while running, and stops that cost nothing.
- Snapshots every minute, fork while running. An agent that breaks its machine needs a recent restore point, and parallel attempts need copies of a busy machine. On Exoscale both mean manual snapshots that Exoscale strongly encourages you to take on a stopped instance.
- Coding agents built in, keys kept out. An Exoscale instance starts as an empty OS template, so you install, update and supervise each agent over SSH yourself, and any key you put on it can be read by the code the agent runs.
- HTTPS ports and a desktop, no setup. An agent that starts a dev server or drives a browser wants a working link and a screen right away. On Exoscale you set up TLS, access control and a desktop on every instance first.
Questions people ask
Is bochka cheaper than Exoscale?
For most agent work, yes: one agent that never stops comes to $26 a month on bochka and $73 on Exoscale, and 50 agents in parallel come to $317 against $924. One coding agent on workdays is close, at $20 against $22. For 1,000 short jobs at once, Exoscale comes to $481 and bochka does not fit within its start limits.
Do I pay for an Exoscale instance that is stopped?
Compute stops billing, but the local disk keeps billing per GiB-hour until you delete the instance, and attached volumes keep billing too. On bochka, a stopped sandbox costs nothing and keeps its disk.
Can I run Docker and nested VMs on Exoscale?
Docker works, since an instance is a KVM VM with root. Exoscale's docs do not mention nested virtualization, so you would need to test it. On bochka, Docker, systemd and /dev/kvm are documented on every machine.
Does Exoscale have an agent sandbox product?
No. Exoscale sells general compute, storage, networking and managed services, with a portal, CLI, API and Terraform provider. You install agents yourself and drive them over SSH. bochka is built for agents, with coding agents, a desktop and a credentials proxy in every sandbox.
Where does my data run?
Both stay in Europe. bochka runs in Germany, Finland and France, with EU data residency and a zero data retention option. Exoscale has zones in Germany, Austria, Switzerland, Bulgaria and Croatia.
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.
Start a sandbox
Install the CLI, then run bochka new.
Product preview