bochka vs Runpod
Runpod is a GPU cloud: you rent containers with Nvidia or AMD cards, or CPU-only pods, and pay by the second. bochka is a sandbox for agents, where every machine is a full VM with Docker, a whole disk that survives stops, and coding agents built in.
Where bochka stands out
A full VM with Docker inside
Every bochka sandbox is a VM with its own kernel, root, systemd, Docker and /dev/kvm. A Runpod pod is itself a container: Runpod's docs say you cannot start your own Docker or use Docker Compose on a pod, and containers share the host kernel.
The whole disk survives, saved every minute
bochka keeps the full disk of a stopped sandbox, snapshots it every minute and on stop, and can fork a running sandbox. On Runpod a stop keeps only /workspace and clears the rest of the container disk, and there is no snapshot or fork for pods.
Coding agents and a keys proxy built in
bochka ships Claude Code, Codex, OpenCode and other agents inside each sandbox, and you drive them from outside with a prompt, steer and events API. Its credentials proxy keeps real AI keys out of the sandbox. Runpod passes secrets into a pod as environment variables, and its agent tools manage Runpod from your own laptop.
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
Runpod
Runpod is a GPU cloud for AI work: you rent GPU or CPU pods by the second, run serverless endpoints, or book multi-node GPU clusters.
A Runpod Pod is a container started from a Docker image, with a GPU or CPU-only, SSH, a web terminal and Jupyter. Serverless endpoints run your handler in workers that scale to zero and start on a request, and Instant Clusters join 2 to 8 nodes of 8 GPUs each. It is built for teams that train, fine-tune and serve models, not as a sandbox API for agents, so this page compares the parts that overlap: CPU pods as machines for agent work.
- Founded
- 2022
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 | Runpod: price rank |
|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month A Runpod pod cannot run Docker or Docker Compose inside, and only /workspace survives a stop, so a coding agent that builds and tests full apps is a compromise there. | 3rd cheapest of 367 $634 a month | 203rd of 367, with limits $2,362 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB | 5th cheapest of 366 $657 a month | 211th of 366, with limits $2,290 a month |
| Code interpreter bursts 100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month Runpod is the cheaper fit for short code runs, because Serverless workers scale to zero and start on a request, while bochka's start limits make big bursts a compromise. | 186th of 345, with limits $2,000 a month | 227th of 345, with limits $135 a month |
| Sandboxes for your users 300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month Runpod has no sandbox API for your users and does not publish how many pods can run at once, so 300 sandboxes at once is not confirmed there. | Cheapest of 361 $209 a month | 83rd of 361, with limits $733 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 | 53rd of 360, with limits $3,068 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 | 127th of 364, with limits $614 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month Both fit for plain build and test jobs; jobs that start Docker containers need bochka, since Runpod pods cannot run Docker inside. | 4th cheapest of 377 $86 a month | 32nd cheapest of 377 $301 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB On a Runpod pod, anything you install outside /workspace is gone after a stop; bochka keeps the whole disk and snapshots it every minute. | 18th cheapest of 368 $26 a month | 161st of 368, with limits $93 a month |
| Computer-use agents 50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month Runpod pods have a terminal, SSH and Jupyter but no desktop; bochka streams a 60fps desktop with Chromium and computer use. | 6th cheapest of 369 $200 a month | 189th of 369, with limits $614 a month |
| Browser-use agents 50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month Browser agents need a desktop or a browser product; Runpod offers neither, so you would install and run your own headless browser in a container. | 7th cheapest of 367 $200 a month | 224th of 367, with limits $307 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 | 225th of 346, with limits $202 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 | 138th of 338, with limits $4,035 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 | 180th of 360, with limits $161 a month |
| GPU eval jobs 10 at once · 8 vCPU / 32 GB · 500 sessions of 30 min a month Only Runpod fits: it rents GPUs from RTX cards to B300 by the second, and bochka has no GPUs. | Can't run it | 13th cheapest of 98 $1,001 a month |
| 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 | Runpod |
|---|---|---|
| Isolation | Every sandbox is a full VM with its own kernel | Containers that share the host kernel |
| Docker inside | Docker, Docker Compose, root and systemd on every machine | Root in the container; no Docker or Docker Compose inside a pod |
| Nested virtualization | /dev/kvm on every machine, so emulators and VMs run inside | None documented; pods are containers |
| Files after a stop | The whole disk is kept, with snapshots every minute and on stop; a stopped sandbox costs nothing | Only /workspace (volume disk) is kept and billed while stopped; the container disk is cleared |
| Fork | Fork a running sandbox into a new one with the same disk | No pod fork or snapshot; templates save the image and settings only |
| Desktop and computer use | 60fps desktop and Chromium, computer use and browser control, embeddable stream | Web terminal, SSH, JupyterLab and remote VS Code or Cursor; no desktop |
| Reaching the machine | HTTPS URLs for up to 50 ports, token-protected; raw TCP; dedicated IPv6 or IPv4 | Up to 10 HTTP ports on a public proxy URL with no built-in auth; TCP ports on a public IP; no UDP |
| Keeping keys out of the sandbox | AI credentials proxy for model providers and any HTTPS API you register; switch a credential to another account when credits run out | Secrets are stored encrypted and passed into the pod as environment variables |
| Coding agents | Claude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API | An MCP server and skills let your own local agent manage Runpod; nothing runs an agent inside a pod for you |
| GPUs | None | Dozens of Nvidia and AMD GPU types, from RTX A4000 to B300 and MI300X, plus multi-node clusters |
| Scale to zero | Sandboxes stop and resume by API; no start on an incoming request | Serverless workers scale to zero and start when a request arrives |
| Shared storage | Each sandbox has its own disk; share files by fork or your own storage | Network volumes that several pods can mount at once, plus an S3-compatible API |
| Regions | EU only: Germany, Finland, France | 24 documented data centers in the US, Canada, Europe and Australia; says 30+ regions |
| 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 | Runpod |
|---|---|---|
| Full VM (own kernel) | Yes | No |
| Docker inside | Yes | No |
| Nested virtualization | Yes | No |
| Root | Yes | Yes |
| Systemd | Yes | No |
| Desktop GUI | Yes | No |
| Browser | Yes | No |
| Computer-use API | Yes | No |
| SSH | Yes | Yes |
| Persistent disk | Yes | Yes |
| Pause/resume | Yes | Yes |
| Automatic snapshots | Yes | No |
| Fork/clone | Yes | No |
| Live fork (no pause) | Yes | No |
| 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 | Yes |
| HTTPS preview URLs | Yes | Yes |
| Raw TCP inbound | Yes | Yes |
| Public IPv4 | No | Yes |
| Egress allowlist | No | No |
| Secret proxy | Yes | No |
| Secret proxy for any API | Yes | No |
| Preinstalled agents | Yes | No |
| Agent harness API | Yes | No |
| MCP server | No | Yes |
| GPU | No | Yes |
| Windows | No | No |
| Arm64 | No | No |
| Self-hosting | No | No |
| BYOC | No | No |
| Open source | No | No |
| Scoped API keys | Yes | Yes |
| Spend limits | Yes | Yes |
| Usage per sandbox (API) | Yes | No |
| Audit logs | No | Yes |
| 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 Runpod: it is not in the public sandbox benchmark runs we use. bochka did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB in StarSling's run of 2026-09-29, on dedicated AMD Ryzen 9 9950X (Zen 5) hosts.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Runpod 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 | Runpod, 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 | $26 · Pay-as-you-go (prepaid credits) · with limits |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $26 · $20/mo | $93 · Pay-as-you-go (prepaid credits) · with limits |
| 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 | $1,156 · Pay-as-you-go (prepaid credits) · with limits |
| 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 | $307 · Pay-as-you-go (prepaid credits) · with limits |
| 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 | $614 · Pay-as-you-go (prepaid credits) · with limits |
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 whole disk.
Runpod: Runpod bills a running pod per second from a prepaid balance, with disk on top; a stopped pod keeps billing its /workspace volume at double the running rate. CPU pods are not on the pricing page; the rates here come from Runpod's public CPU catalogue, and a new pod needs at least one hour of credit to start.
Limits in those scenarios
Runpod does not publish how many pods can run at once; it limits spend instead, at $80 an hour by default, growing with account history. So 50 agents, 300 user sandboxes and 1,000 short jobs at once are not confirmed there, and pods never stop on their own when idle. 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. Every Runpod scenario also hits the /workspace rule: packages installed anywhere else are gone after a stop.
| Scenario | bochka | Runpod |
|---|---|---|
| One coding agent, workdays | None that bite |
|
| One agent that never stops | None that bite |
|
| 50 agents in parallel | None that bite |
|
| Sandboxes for your users | None that bite |
|
| 1,000 short jobs at once |
|
|
Which one should you use?
Use Runpod when
the work needs GPUs, multi-node clusters, or serverless workers that start on a request.
- GPUs, from one card to a cluster. Useful if your agents train, fine-tune or serve models: Runpod rents dozens of GPU types by the second, up to multi-node clusters.
- Serverless that starts on a request. Useful for spiky work: Runpod Serverless workers scale to zero and start when a request comes in, billed per second.
- Regions outside the EU and shared volumes. Useful if your data must stay in the US, Canada or Australia, or many machines need to read one shared volume.
Use bochka when
your agents write and run code for hours: installs, Docker, builds, tests and emulators on a full VM whose whole disk survives, with a desktop and coding agents built in.
- A full VM with Docker inside. Coding agents run docker compose up, test containers and Android emulators all the time. On a Runpod pod those steps fail, so the agent needs a second machine or the task changes.
- The whole disk survives, saved every minute. An agent that installed packages with apt or set up a database outside /workspace finds them gone after a Runpod stop. You can bake everything into an image, but then every change means a rebuild.
- Coding agents and a keys proxy built in. Code an agent runs can read any environment variable and send it away. On Runpod you also write and maintain the code that starts, prompts and watches each agent yourself.
Questions people ask
Is bochka cheaper than Runpod?
For CPU agent work in our scenarios, yes: one coding agent on workdays comes to $20 a month on bochka and $26 on Runpod, one agent running all month to $26 versus $93, and 50 agents in parallel to $317 versus $1,156. For 1,000 short jobs at once, Runpod comes to $614 against $2,000 on bochka, and neither is confirmed to fit.
Can I run Docker inside a Runpod pod?
No. Runpod's docs say it runs Docker for you, so you cannot start your own Docker instance or use Docker Compose on a pod. On bochka every sandbox is a VM with Docker, Docker Compose and /dev/kvm ready.
Does bochka have GPUs like Runpod?
No. bochka runs Linux VMs on dedicated AMD Ryzen 9 9950X hosts and has no GPUs. If your agents need to train, fine-tune or serve models, Runpod is the right place for that part of the work.
What happens to my files when a Runpod pod stops?
Files in /workspace are kept, and you keep paying for that volume while the pod is stopped. Everything else on the container disk is cleared, and a restarted pod may get zero GPUs if the host is full. On bochka the whole disk is kept, snapshotted every minute, and a stopped sandbox costs nothing.
Where does my data run?
bochka runs only in the EU (Germany, Finland and France), with EU data residency and a zero data retention option. Runpod has data centers in the US, Canada, Europe and Australia and says it runs in 30+ regions.
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. Runpod says it has completed SOC 2 Type II and SOC 3 examinations and is ISO/IEC 27001:2022 certified.
Start a sandbox
Install the CLI, then run bochka new.
Product preview
More comparisons
- bochka vs Verda
- bochka vs Nebius
- bochka vs Jarvislabs
- bochka vs Cerebrium
- bochka vs Crusoe
- bochka vs Paperspace
- bochka vs Replicate
- bochka vs SF Compute
- bochka vs E2B
- bochka vs Daytona
- bochka vs Modal
- bochka vs Vercel Sandbox
- Runpod vs Nebius
- Runpod vs Crusoe
- Runpod vs Paperspace
- Runpod vs Jarvislabs
- Runpod vs Hyperstack
- Runpod vs Verda
- Runpod vs Cerebrium
- Runpod vs Baseten