Runpod vs Nebius
Runpod and Nebius both rent GPUs by the second, but a Runpod pod is a container, while a Nebius machine is a full VM with its own kernel and disk. Runpod adds serverless workers that start on a request; Nebius adds a whole cloud around the VM, with Kubernetes, Slurm and network rules.
The companies and products
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
Nebius
Nebius is an AI cloud company, listed on Nasdaq and based in Amsterdam, that rents GPUs and the infrastructure around them.
You create a Compute VM from a preset (GPU or CPU only), add disks and an SSH key, and get a full Linux VM with root and an optional public IP. Around it Nebius sells Managed Kubernetes, Slurm clusters (Soperator), Serverless AI jobs and endpoints, object storage and networking. It is built for teams that train, fine-tune and serve AI models, not as a sandbox for agents.
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. “32nd cheapest of 377” means 31 of the other 376 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 | Runpod: price rank | Nebius: price rank | bochka: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month A Nebius VM can run Docker and keeps its whole disk, while a Runpod pod cannot run Docker inside and keeps only /workspace; bochka ships coding agents ready on a full VM. | 203rd of 367, with limits $2,362 a month | 197th of 367, with limits $2,272 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB | 211th of 366, with limits $2,290 a month | 210th of 366, with limits $2,261 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 Runpod Serverless workers scale to zero and start on a request, which suits short code runs; Nebius has no start on request for plain VMs. | 227th of 345, with limits $135 a month | 111th of 345, with limits $202 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 Neither is a sandbox API for your users: Nebius starts at 12 VMs per region, and Runpod does not publish how many pods can run at once. | 83rd of 361, with limits $733 a month | 81st of 361, with limits $716 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 | 53rd of 360, with limits $3,068 a month | 52nd of 360, with limits $3,049 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 Nebius fits agent evals on full VMs, while Runpod pods are a compromise because they cannot run Docker inside; bochka adds snapshots every minute and fork. | 127th of 364, with limits $614 a month | 29th cheapest of 364 $610 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 Both fit plain CI jobs; jobs that start Docker containers need a Nebius VM or bochka, since Runpod pods cannot run Docker inside. | 32nd cheapest of 377 $301 a month | 27th cheapest of 377 $297 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB Nebius fits a 24/7 dev box because the whole VM disk is kept, while on Runpod anything installed outside /workspace is gone after a stop. | 161st of 368, with limits $93 a month | 68th cheapest of 368 $91 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 Runpod nor Nebius has a desktop or computer-use product, so you install your own; bochka streams a 60fps desktop with Chromium. | 189th of 369, with limits $614 a month | 187th of 369, with limits $610 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 | 224th of 367, with limits $307 a month | 223rd of 367, with limits $305 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 | 225th of 346, with limits $202 a month | 253rd of 346, with limits $302 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 | 138th of 338, with limits $4,035 a month | 174th of 338, with limits $6,049 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 | 180th of 360, with limits $161 a month | 176th of 360, with limits $156 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 fit GPU evals: Runpod has more GPU types, including AMD MI300X, and Nebius rents Nvidia GPUs from L40S to B300; bochka has no GPUs. | 13th cheapest of 98 $1,001 a month | 18th cheapest of 98 $1,127 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 | Runpod | Nebius | bochka |
|---|---|---|---|
| Kind of product | GPU cloud: Pods, Serverless endpoints and multi-node Instant Clusters | AI cloud: GPU and CPU VMs, Kubernetes, Slurm clusters and serverless jobs | Sandboxes for AI agents: VMs with agents, desktop and hosting ready |
| Isolation | Containers that share the host kernel | Full VMs behind a hypervisor, with their own kernel and root | Every sandbox is a full VM with its own kernel |
| Docker inside | No Docker or Docker Compose inside a pod | Root on your own VM, so you can install Docker; container VMs from Docker images | Docker, Docker Compose, root and systemd on every machine |
| Nested virtualization | None documented; pods are containers | Not documented | /dev/kvm on every machine, so emulators and VMs run inside |
| Files after a stop | Only /workspace is kept, billed at double the running rate; the container disk is cleared | The whole VM disk is kept; disks keep billing on their full provisioned size | The whole disk is kept and a stopped sandbox costs nothing |
| Snapshots and fork | No pod snapshot or fork; templates save the image and settings only | Manual disk snapshots of a running VM; fork by making a disk, then a VM, from the snapshot | Snapshots every minute and on stop; fork a running sandbox in one call |
| GPUs | Dozens of Nvidia and AMD types, from RTX A4000 to B300 and MI300X, plus multi-node clusters | Nvidia L40S, RTX PRO 6000, H100, H200, B200 and B300, on-demand or preemptible | None |
| Scale to zero | Serverless workers scale to zero and start when a request arrives | VMs start and stop by API or console; no start on a request | Sandboxes stop and resume by API; no start on an incoming request |
| Biggest CPU machine | CPU pods priced from the public catalogue, 2 GB of RAM per vCPU | CPU VMs from 2 vCPU / 8 GB up to 256 vCPU / 1,024 GB | 16 vCPU / 32 GB on the $100 plan and up |
| Desktop and computer use | Web terminal, SSH, JupyterLab and remote VS Code; no desktop | SSH and a text serial console; no desktop or browser product | 60fps desktop and Chromium, computer use and browser control, embeddable stream |
| Coding agents | An MCP server and skills let your own local agent manage Runpod; nothing runs inside a pod for you | None built in; you install and run agents yourself over SSH | Claude Code, Codex, OpenCode and more preinstalled, driven from outside with a prompt, steer and events API |
| Reaching the machine | Up to 10 HTTP ports on a public proxy URL with no built-in auth; TCP ports on a public IP; no UDP | Optional public IPv4 per VM, SSH and Nebius Tunnels; you set up TLS yourself | HTTPS URLs for up to 50 ports, token-protected; raw TCP; dedicated IPv6 or IPv4 |
| Keeping keys out of the machine | Secrets stored encrypted and passed into the pod as environment variables | SecretStash stores secrets that a VM fetches with its service account | AI credentials proxy for model providers and any HTTPS API you register |
| Network rules | No egress allowlist documented | VPC security groups allow or deny ingress and egress by IP range, port and protocol | Open internet on every plan; no provider-side allowlist |
| Regions | 24 documented data centers in the US, Canada, Europe and Australia; says 30+ regions | Finland, France, Spain, United Kingdom, Israel and the US | EU only: Germany, Finland, France |
Every feature Battleships tracks (43)
| Feature | Runpod | Nebius | bochka |
|---|---|---|---|
| Full VM (own kernel) | No | Yes | Yes |
| Docker inside | No | Yes | Yes |
| Nested virtualization | No | Not published | Yes |
| Root | Yes | Yes | Yes |
| Systemd | No | Not published | Yes |
| Desktop GUI | No | No | Yes |
| Browser | No | No | Yes |
| Computer-use API | No | No | Yes |
| SSH | Yes | Yes | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | Yes | Yes | Yes |
| Automatic snapshots | No | No | Yes |
| Fork/clone | No | Yes | Yes |
| Live fork (no pause) | No | Yes | Yes |
| Memory fork | No | No | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | Yes | Yes | Yes |
| Idle auto-stop | No | No | No |
| Wake on request | Yes | No | No |
| HTTPS preview URLs | Yes | Yes | Yes |
| Raw TCP inbound | Yes | Not published | Yes |
| Public IPv4 | Yes | Yes | No |
| Egress allowlist | No | Yes | No |
| Secret proxy | No | No | Yes |
| Secret proxy for any API | No | No | Yes |
| Preinstalled agents | No | No | Yes |
| Agent harness API | No | No | Yes |
| MCP server | Yes | No | No |
| GPU | Yes | Yes | No |
| Windows | No | No | No |
| Arm64 | No | No | No |
| Self-hosting | No | No | No |
| BYOC | No | No | No |
| Open source | No | No | No |
| Scoped API keys | Yes | Not published | Yes |
| Spend limits | Yes | Not published | Yes |
| Usage per sandbox (API) | No | Yes | Yes |
| Audit logs | Yes | Not published | No |
| SSO | Yes | Yes | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | Yes | Yes | No |
| EU data residency | Yes | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
There is no comparable CPU measurement for Runpod or Nebius: neither was in the public StarSling benchmark run we use. bochka did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB in that run, on dedicated AMD Ryzen 9 9950X (Zen 5) hosts. Nebius CPU-only VMs run on AMD EPYC Genoa or Intel Ice Lake.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Runpod and Nebius 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 | Runpod, a month | Nebius, 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 | $26 · Pay-as-you-go (prepaid credits) · with limits | $25 · Pay as you go | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $93 · Pay-as-you-go (prepaid credits) · with limits | $91 · Pay as you go | $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 | $1,156 · Pay-as-you-go (prepaid credits) · with limits | $1,127 · Pay as you go | $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 | $307 · Pay-as-you-go (prepaid credits) · with limits | $305 · Pay as you go | $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 | $614 · Pay-as-you-go (prepaid credits) · with limits | $610 · Pay as you go | $2,000 · $2000/mo · with limits |
Runpod: Runpod bills a running pod per second from a prepaid balance, with disk on top, and a stopped pod keeps billing its /workspace volume at double the running rate. CPU pod rates come from Runpod's public CPU catalogue, not the pricing page.
Nebius: Nebius bills running VMs per second for vCPU and RAM with no plan fee, and bills disks by provisioned size even while a VM is stopped. AMD Genoa costs $0.015 per vCPU-hour plus $0.0045 per GiB-hour from 1 October 2026.
Nebius: 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.
Limits in those scenarios
Runpod does not publish how many pods can run at once and limits spend instead, at $80 an hour by default, so 300 user sandboxes and 1,000 jobs at once are not confirmed there. Every Runpod scenario also hits the /workspace rule, and the 50-agent fleet fails because pods cannot run Docker inside. Nebius fits every scenario on paper, but it starts each region at 12 VMs and 200 vCPU for CPU-only VMs, so big fleets need a quota raise first. On bochka the 1,000-job burst is queued and needs more starts per day than the $2,000 plan allows.
| Scenario | Runpod | Nebius | bochka |
|---|---|---|---|
| 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 Runpod when
you want the widest choice of GPUs, serverless workers that start on a request, or regions in Canada or Australia.
- More GPU types, including AMD. Useful if you want a wide choice of cards: Runpod rents dozens of Nvidia and AMD GPU types, from small RTX cards to B300.
- Serverless that starts on a request. Useful for spiky work: Runpod Serverless workers scale to zero when idle and start when a request comes in.
- Regions in Canada and Australia. Useful if your data must stay in Canada or Australia, where Runpod has data centers and Nebius does not.
Use Nebius when
you need full VMs with Docker and a kept disk, very large CPU machines, Kubernetes or Slurm, or egress rules by IP range.
- A full VM, not a container. Useful when your work needs Docker or a whole disk that survives a stop: every Nebius machine is a full VM with root.
- Very large CPU machines. Useful for one huge job: Nebius CPU VMs go up to 256 vCPU and 1,024 GB of RAM.
- A full cloud around the VM. Useful when you need Kubernetes, Slurm, private networks or egress rules by IP range next to your machines.
Where bochka fits
Runpod and Nebius are GPU clouds, and bochka has no GPUs, so model training and GPU evals belong on one of them. If what you are really running is agents that write and run code on CPU, bochka gives each one a full VM with the agent, a desktop and snapshots already set up. You can keep the GPU work on Runpod or Nebius and run the agents on bochka.
A full VM with Docker and /dev/kvm
On Runpod, docker compose up fails because pods cannot run Docker inside. Nebius VMs can run Docker, but nested virtualization is not documented. bochka gives every sandbox Docker, systemd and /dev/kvm for emulators.
Snapshots every minute and fork
A Runpod stop keeps only /workspace, with no snapshot or fork. Nebius snapshots are manual, and a fork means a new disk and then a new VM. bochka snapshots every minute and forks a running sandbox in one call.
Agents, desktop and keys proxy built in
Neither has a desktop, and both hand secrets to the machine, where an agent can print them. On bochka, coding agents come preinstalled and driven from outside, with a 60fps desktop and a credentials proxy that keeps keys out.
Use bochka when you run agents that write and run code for hours: a full VM with Docker and /dev/kvm, coding agents and a desktop built in, snapshots every minute, and nothing to pay while stopped. Compare it one to one: bochka vs Runpod and bochka vs Nebius.
Questions people ask
Is Runpod cheaper than Nebius?
For CPU work in our scenarios they are very close: one agent all month is $93 on Runpod and $91 on Nebius, and 50 agents in parallel are $1,156 against $1,127. For GPU evals Runpod comes to $1,001 a month and Nebius to $1,127. bochka is $26 a month for the always-on agent and $317 for the 50-agent fleet.
Which is faster, Runpod or Nebius?
We have no comparable CPU measurement for either: neither was in the public StarSling benchmark run. bochka did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB in that run.
Can Runpod or Nebius run Docker?
Runpod's docs say you cannot start your own Docker or use Docker Compose inside a pod, because a pod is itself a container. A Nebius VM is a full VM with root, so you can install Docker, and it can also run container VMs from Docker images. bochka has Docker and /dev/kvm on every sandbox.
What happens to my files when I stop a machine?
On Runpod only /workspace is kept, billed at double the running rate, and the rest of the container disk is cleared. On Nebius the whole disk is kept and billed on its full size. On bochka the whole disk is kept and a stopped sandbox costs nothing.
Where do Runpod and Nebius run?
Runpod has data centers in the US, Canada, Europe and Australia. Nebius runs in Finland, France, Spain, the United Kingdom, Israel and the US. bochka runs only in the EU (Germany, Finland and France).
Does bochka have GPUs?
No. bochka runs Linux VMs on dedicated AMD Ryzen 9 9950X hosts and has no GPUs. Rent GPUs on Runpod or Nebius and run your CPU agents on bochka.
Try bochka
Install the CLI, then run bochka new.
Product preview