Vultr vs Contabo
Vultr and Contabo both rent you a KVM server with root that you set up yourself. Vultr bills by the hour and sits inside a larger cloud, while Contabo rents each server by the month at a very low flat rate.
The companies and products
Vultr
Vultr is a general-purpose cloud, and Cloud Compute is its line of KVM virtual servers.
A Vultr instance is a Linux or Windows VM you rent by size, with root, a public IPv4, local SSD or NVMe and a monthly transfer allowance. You choose shared vCPU plans (Regular, High Performance, High Frequency) or dedicated vCPU plans (Optimized Cloud Compute, VX1), and run your own software next to Vultr block storage, file systems, VPCs, Kubernetes, bare metal and GPUs. It is a server host, not an agent sandbox, so this page compares the two where they overlap: giving an agent its own Linux machine.
Contabo
Contabo is a German hosting company, founded in Munich in 2003, that rents VPS, dedicated-core VDS, GPU and dedicated servers by the month.
A Contabo Cloud VPS is a KVM virtual machine with shared vCPU cores, a fixed RAM allocation, a static IPv4 and root access, which you order, pay for and then manage yourself. It is a VPS host, not a sandbox product: there is no per-second billing, no agent tooling and no managed HTTPS in front of the server. It fits people who want one cheap server that runs all month in a region of their choice.
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. “47th cheapest of 364” means 46 of the other 363 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 | Vultr: price rank | Contabo: 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 starts and stops many machines; Vultr bills by the started hour and Contabo by the whole month, while bochka bills per second and saves every minute. | 114th of 367, with limits $1,060 a month | 79th of 367, with limits $660 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB | 144th of 366, with limits $1,000 a month | 95th of 366, with limits $330 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 None of the three fits short code bursts well: Vultr bills every started hour, Contabo bills a month, and bochka's start limits queue big bursts. | 168th of 345, with limits $1,000 a month | 159th of 345, with limits $660 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 Hundreds of user sandboxes fit on Vultr after an instance limit raise by ticket, do not fit on Contabo, and fit on bochka with up to 2,000 at once by plan. | 98th of 361, with limits $899 a month | 153rd of 361, with limits $1,980 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 Thousands of short rollouts are a poor fit for monthly rent on Contabo and for hourly minimums on Vultr; bochka is a compromise too because of its start limits. | 179th of 360, with limits $20,000 a month | 108th of 360, with limits $6,600 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 Vultr fits agent evals fully because it bills by the hour, while Contabo makes each parallel machine a full month of rent. | 47th cheapest of 364 $893 a month | 177th of 364, with limits $1,650 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 All three run Docker builds on a full VM; on Vultr and Contabo you also run the runner software and clean up between jobs, and Contabo rents each runner for the month. | 91st cheapest of 377 $857 a month | 133rd cheapest of 377 $2,980 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB Contabo ranks 1st here: one server running all month is exactly what its flat monthly rent is built for, and Vultr and bochka also fit fully. | 28th cheapest of 368 $40 a month | Cheapest of 368 $6.6 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 bochka streams a 60fps desktop with Chromium for computer use; on both Vultr and Contabo the server is headless until you install and stream a desktop yourself. | 252nd of 369, with limits $1,190 a month | 140th of 369, with limits $330 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 | 300th of 367, with limits $894 a month | 232nd of 367, with limits $330 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 | 175th of 346, with limits $89 a month | 258th of 346, with limits $330 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 | 72nd of 338, with limits $1,818 a month | 184th of 338, with limits $6,600 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 | 168th of 360, with limits $150 a month | 321st of 360, with limits $1,320 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 | Can't run it | 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 | Can't run it |
Key features
| Feature | Vultr | Contabo | bochka |
|---|---|---|---|
| What you get | A KVM cloud server you set up and run yourself | A KVM VPS rented by the month that you set up yourself | Sandbox VMs for agents, started and stopped from an API |
| Billing | Hourly with a one hour minimum; most plans capped at 672 hours a month | Monthly rent, minimum first term of one month; listed prices assume a 24-month term | Monthly plan from $20 that becomes usage credit, spent per second |
| Stopping | A stopped instance is billed in full until you destroy it | The month's rent is the same whether the server is busy, idle or stopped | A stopped sandbox costs nothing and keeps its disk |
| CPU | Shared vCPU plans, or dedicated AMD EPYC vCPU on Optimized and VX1 plans; no comparable measurement | Shared vCPU cores on Cloud VPS, dedicated cores on Cloud VDS; no comparable measurement | Dedicated AMD Ryzen 9 9950X hosts; 26.69 runs/s at 4 vCPU / 8 GB |
| Docker and nested virtualization | Root and Docker; virtualization documented for VX1 and bare metal, not for other Cloud Compute plans | Root, you install Docker; nested virtualization not supported on any VPS plan, supported on Cloud VDS | Docker, root, systemd and /dev/kvm on every machine |
| Snapshots | Manual disk snapshots that can take up to 30 minutes, $0.05 per GB-month; paid scheduled backups | 1 to 5 manual snapshot slots by plan, kept 30 days, restored in place; none on Cloud VDS | Automatic snapshots every minute and on stop |
| Copying a machine | Snapshot the disk, then deploy new instances from it | No fork; custom images upload as ISO or QCOW2 | Fork a running sandbox in one call; named snapshots as templates |
| Reaching the machine | Public IPv4 on any port; HTTPS needs your own domain, proxy and certificates | Static IPv4 and a /64 IPv6 on all ports; domains and TLS are yours to set up | HTTPS URLs for up to 50 ports, token-protected; raw TCP; own IP |
| Desktop and computer use | Headless Linux; you install a desktop and VNC yourself | Headless server; a VNC console for setup and rescue | 60fps desktop and Chromium, computer use and browser control, embeddable stream |
| Coding agents | None; you install and supervise agents yourself | None built in; 1-Click images for apps like n8n, Ollama and OpenClaw | Claude Code, Codex, OpenCode and more preinstalled, driven from outside with a prompt, steer and events API |
| Keeping keys out of the machine | No credentials proxy; secrets live on the server | None; secrets live inside the server | AI credentials proxy for model providers and any HTTPS API you register |
| Cloud around the server | Block storage, shared file systems, VPCs, Kubernetes and bare metal in one account | VPS, VDS, GPU and dedicated servers, with add-on storage and private networking | A sandbox product, not a full cloud |
| GPUs and Windows | Nvidia L40S, A100, H100, GH200, B200 and AMD MI300X, MI325X, MI355X; Windows Server for a license fee | GPU VPS with an Nvidia RTX PRO 6000 Blackwell; Windows Server as a licensed add-on | No GPUs; Linux guests only, Wine for Windows apps |
| Regions | 33 locations on six continents | 11 locations: EU, UK, US, Singapore, Japan, India and Australia | EU only: Germany, Finland, France |
Every feature Battleships tracks (43)
| Feature | Vultr | Contabo | bochka |
|---|---|---|---|
| Full VM (own kernel) | Not published | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | Not published | No | Yes |
| Root | Yes | Yes | Yes |
| Systemd | Yes | Yes | 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 | No | No | Yes |
| Automatic snapshots | No | No | Yes |
| Fork/clone | Yes | No | Yes |
| Live fork (no pause) | Not published | No | 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 | No | No | No |
| HTTPS preview URLs | No | No | Yes |
| Raw TCP inbound | Yes | Yes | Yes |
| Public IPv4 | Yes | Yes | No |
| Egress allowlist | No | No | 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 | Not published | No | No |
| GPU | Yes | Yes | No |
| Windows | Yes | Yes | No |
| Arm64 | No | No | No |
| Self-hosting | No | No | No |
| BYOC | No | No | No |
| Open source | No | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Not published | Not published | Yes |
| Usage per sandbox (API) | No | No | Yes |
| Audit logs | Yes | Not published | No |
| SSO | Yes | No | No |
| SOC 2 | Not published | No | No |
| HIPAA | Not published | No | No |
| EU data residency | Yes | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
Neither Vultr nor Contabo is in the public StarSling hpc-sandbox-benchmarks run, so there is no comparable CPU measurement for them. bochka did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB on dedicated AMD Ryzen 9 9950X hosts. Both Vultr and Contabo sell shared and dedicated vCPU lines, so results would depend on the plan you pick.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Vultr and Contabo 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 | Vultr, a month | Contabo, 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 | $10 · Usage account | $7 · Usage account | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $40 · Usage account | $7 · Usage account | $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 | $524 · Usage account | $330 · Usage account | $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 | $894 · Usage account | $1,980 · Usage account · with limits | $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 | $5,960 · Usage account | $6,600 · Usage account · with limits | $2,000 · $2000/mo · with limits |
Vultr: Each Vultr plan has a fixed hourly price, billed by the started hour, and most plans are capped at 672 hours a month. Billing runs from deploy to destroy, including while the instance is stopped, and snapshots, backups and extra IPs cost extra.
Contabo: Contabo charges a flat monthly rent per server, with a minimum first term of one month and lower rates for longer terms. Each machine you need at the same time costs a full month's rent, even for a short burst.
Contabo: 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.
Limits in those scenarios
Neither Vultr nor Contabo publishes how many servers a new account can run at once. Vultr shows your limit in the console and raises it by support ticket, so 300 user sandboxes and 1,000 short jobs fit on price but likely need a ticket first. Contabo does not confirm those counts, so both scenarios do not fit there, and its Cloud VPS cores are shared, so heavy sustained CPU use can slow down. On bochka, concurrency goes from 100 to 2,000 by plan, but start-rate limits mean the 1,000-job burst gets queued even on the top plan.
| Scenario | Vultr | Contabo | bochka |
|---|---|---|---|
| One coding agent, workdays | None that bite |
| None that bite |
| One agent that never stops | None that bite | 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 Vultr when
you want servers billed by the hour, regions on six continents, a wide choice of GPUs, or a machine that sits next to block storage, private networks and bare metal in one cloud.
- Hourly billing. Useful when machines live for hours or days: Vultr bills by the hour, so a server you destroy stops costing money.
- More regions. Useful if your users are spread out: Vultr runs in 33 locations, from Sao Paulo and Johannesburg to Tokyo and Sydney.
- A wider cloud and more GPUs. Useful if the server must sit next to block storage, shared file systems, Kubernetes, bare metal or Nvidia and AMD GPUs.
Use Contabo when
you want one cheap server that runs all month, a single RTX PRO 6000 GPU server, or Windows Server, and you are happy to set it up yourself.
- One cheap server all month. Useful for one always-on box: a flat monthly rent buys a 4 vCPU / 8 GB Cloud VPS with a static IPv4.
- Built-in snapshot slots. Useful for a single long-lived server: Cloud VPS plans include 1 to 5 snapshot slots, kept for 30 days.
- Nested virtualization on VDS. Useful if you need KVM inside the server: Contabo's Cloud VDS line with dedicated cores supports nested virtualization.
Where bochka fits
Vultr and Contabo are server hosts, not agent sandboxes. If what you are really running is agents that start, stop and fork machines all day, bochka gives each one a full VM from an API in seconds, saved every minute, with coding agents, a desktop and HTTPS ports already built in.
Disk saved every minute, and free stops
An idle Vultr instance is billed until you destroy it, and a Contabo server is rented for the month. Both rely on manual snapshots, so a bad agent step loses everything since the last one you took.
Fork a running machine
On Vultr you snapshot the disk, which can take up to 30 minutes, then deploy copies; Contabo has no fork at all. bochka forks a running sandbox in one call for parallel attempts.
Agents, desktop and HTTPS built in
Both hosts give you an empty headless server: you install agents, run a desktop over VNC, set up a domain and TLS, and store API keys on a disk the agent can read. bochka ships all of that, with a credentials proxy.
Use bochka when agents start, stop and fork machines all day: each sandbox is a full VM from an API in seconds, saved every minute, with a desktop, HTTPS ports and coding agents you drive from outside. Compare it one to one: bochka vs Vultr and bochka vs Contabo.
Questions people ask
Is Contabo cheaper than Vultr?
For one server that never stops, yes: $7 a month on Contabo against $40 on Vultr, and $26 on bochka. For 50 agents in parallel it is $330 on Contabo against $524 on Vultr and $317 on bochka. Sandboxes for your users come to $894 on Vultr and $200 on bochka, and do not fit on Contabo.
Does Contabo bill by the hour like Vultr?
No. Contabo rents servers by the month with a minimum first term of one month. Vultr bills by the started hour, and bochka bills per second while a sandbox runs.
Which is faster, Vultr or Contabo?
There is no comparable measurement for either: neither was in the public benchmark run where bochka did 26.69 runs per second at 4 vCPU / 8 GB. Both sell shared vCPU plans and dedicated core plans, so speed depends on which line you choose.
Can Vultr and Contabo run Docker and nested VMs?
Both give you root on a KVM VM, so Docker works once you install it. Vultr documents virtualization for VX1 and bare metal only, and Contabo supports nested virtualization on Cloud VDS but not on any VPS plan. Every bochka sandbox has Docker, systemd and /dev/kvm.
Can I copy a running server on Vultr or Contabo?
On Vultr you snapshot the disk, which can take up to 30 minutes, then deploy new instances from it. Contabo has no fork; its snapshots restore in place. bochka forks a running sandbox in one call, without memory.
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