bochka vs UpCloud

An UpCloud Cloud Server is a plain VM that you set up, secure and keep running yourself. bochka gives an agent a full VM too, but with snapshots every minute, stops that cost nothing, fork of a running machine, HTTPS ports, a desktop and coding agents already built in.

Where bochka stands out

Stops that keep the disk, and fork while running

bochka saves a sandbox's disk every minute and when it stops, and a stopped sandbox costs nothing. You can fork a running sandbox in one call. On UpCloud, Starter and Premium servers keep billing while shut down, and making an image to copy a server needs the server shut down first.

Coding agents and a desktop built in

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. It also streams a 60fps desktop with Chromium for computer use. The credentials proxy keeps real AI keys out of the machine and can switch to another account when one runs out of credits.

HTTPS on up to 50 ports, no setup

Each bochka sandbox can serve up to 50 ports on HTTPS URLs, protected by a token, plus raw TCP. An UpCloud server has a public IP with any port open to it, but HTTPS means running your own proxy and certificates or adding a Managed Load Balancer.

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.

UpCloud

UpCloud is a European cloud provider that rents cloud servers, storage and networking by the hour.

A Cloud Server is a Linux or Windows VM you pick from fixed plans (Starter, Premium, Cloud Native and others), with block storage, a public IPv4 and an L3 firewall. You install and run your own software on it, next to UpCloud products like managed databases, Kubernetes, load balancers, object storage and GPU servers. 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 workloadbochka: price rankUpCloud: 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 UpCloud server starts empty and a Starter or Premium plan keeps billing when shut down, while bochka comes with agents, snapshots and free stops.
3rd cheapest of 367
$634 a month
78th of 367, with limits
$645 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
An UpCloud server 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
117th of 366, with limits
$700 a month
Code interpreter bursts
100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month
Both are a compromise for one-minute runs: UpCloud bills each server for at least an hour, and bochka's start limits queue big bursts.
186th of 345, with limits
$2,000 a month
161st of 345, with limits
$700 a month
Sandboxes for your users
300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month
UpCloud does not publish how many servers a full account can run at once, so 300 user sandboxes need a quota you confirm with them first; bochka allows 100 to 2,000 by plan.
Cheapest of 361
$209 a month
74th of 361, with limits
$639 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
164th of 360, with limits
$14,000 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
124th of 364, with limits
$542 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; on UpCloud each job pays at least a full hour, and you run the runner software and the clean-up yourself.
4th cheapest of 377
$86 a month
96th cheapest of 377
$896 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
Both fit a 24/7 dev box well, at $25 a month on UpCloud against $26 on bochka: an UpCloud Starter server is a classic always-on machine, and a bochka machine keeps its disk with snapshots every minute.
18th cheapest of 368
$26 a month
16th cheapest of 368
$25 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; an UpCloud server gives you a VNC console, and you install the desktop, the browser and the control loop yourself.
6th cheapest of 369
$200 a month
211th of 369, with limits
$723 a month
Browser-use agents
50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month
7th cheapest of 367
$200 a month
271st of 367, with limits
$633 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
158th of 346, with limits
$63 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
46th of 338, with limits
$1,254 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
147th of 360, with limits
$107 a month
GPU eval jobs
10 at once · 8 vCPU / 32 GB · 500 sessions of 30 min a month
Only UpCloud fits: it rents Nvidia GPU Servers in Helsinki, and bochka has no GPUs.
Can't run it10th cheapest of 98
$952 a month
macOS agents
5 at once · 4 vCPU / 8 GB · 1,000 sessions of 20 min a month
Can't run itCan't run it

Key features

FeaturebochkaUpCloud
What you getA sandbox API for agents, on full VMsA general cloud server you set up and run yourself
IsolationEvery sandbox is a full VM with its own kernelEvery Cloud Server is a full VM with its own kernel
CPUDedicated AMD Ryzen 9 9950X (Zen 5) hosts; 26.69 runs/s at 4 vCPU / 8 GBAMD EPYC 2nd to 5th generation, newest models on Premium and Cloud Native; no comparable measurement
Docker and nested virtualizationDocker, root, systemd and /dev/kvm on every machine, documentedRoot and Docker on Linux templates; nested virtualization is not documented
StoppingA stopped sandbox costs nothing and keeps its diskStarter and Premium bill in full while shut down; Cloud Native stops billing compute, but storage and IPs keep billing
SnapshotsAutomatic snapshots every minute and on stopOn-demand disk backups, plus paid daily or weekly scheduled backups
ForkFork a running sandbox in one call (disk, no memory)Shut the server down, make a custom image, then deploy new servers from it
Reaching the machineHTTPS URLs for up to 50 ports, token-protected; raw TCP; own IPPublic IPv4 on any port; HTTPS needs your own certificates or a Managed Load Balancer
Desktop and computer use60fps desktop and Chromium, computer use and browser control, embeddable streamA VNC or web console for admin; no desktop, browser or computer-use API
Coding agentsClaude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events APINone; you install and drive agents yourself, for example over SSH
Keeping keys out of the machineAI credentials proxy for model providers and any HTTPS API you register; switch a credential to another account when credits run outNo credentials proxy; secrets live on the server
Outbound rulesOpen internet on every plan; no provider-side allowlistFree L3 firewall with inbound and outbound rules by IP, protocol and port
GPUs and WindowsNo GPUs; no Windows guests (Wine for Windows apps)Nvidia GPU Servers in Helsinki; Windows Server templates
RegionsEU only: Germany, Finland, France15 locations in Europe, the US, Singapore and Sydney
Compliance and transparencySOC 2 is in progress. We're open about where we stand: live status and data retention policy.No SOC 2 report published
Every feature Battleships tracks (43)
FeaturebochkaUpCloud
Full VM (own kernel)YesYes
Docker insideYesYes
Nested virtualizationYesNot published
RootYesYes
SystemdYesYes
Desktop GUIYesNo
BrowserYesNo
Computer-use APIYesNo
SSHYesYes
Persistent diskYesYes
Pause/resumeYesNo
Automatic snapshotsYesNo
Fork/cloneYesYes
Live fork (no pause)YesNo
Memory forkNoNo
Custom image (Docker or snapshot)YesYes
≥24 h sessionsYesYes
Idle auto-stopNoNo
Wake on requestNoNo
HTTPS preview URLsYesNo
Raw TCP inboundYesYes
Public IPv4NoYes
Egress allowlistNoYes
Secret proxyYesNo
Secret proxy for any APIYesNo
Preinstalled agentsYesNo
Agent harness APIYesNo
MCP serverNoNo
GPUNoYes
WindowsNoYes
Arm64NoNo
Self-hostingNoNo
BYOCNoNo
Open sourceNoNo
Scoped API keysYesNot published
Spend limitsYesYes
Usage per sandbox (API)YesYes
Audit logsNoYes
SSONoYes
SOC 2NoNo
HIPAANoNo
EU data residencyYesYes
Zero data retentionYesNot published

Performance

bochka26.69 runs/s
UpCloudNot measured

There is no comparable measurement for UpCloud: its Cloud Servers 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. UpCloud uses several AMD EPYC generations and keeps the newest for Premium and Cloud Native plans, 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. UpCloud 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.

Scenariobochka, a monthUpCloud, 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$7 · Usage account
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$26 · $20/mo$25 · 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$315 · 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$633 · Usage account · 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$4,219 · Usage account · 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 disk.

UpCloud: Each plan has a fixed monthly price, billed by the hour from a prepaid balance and capped at 672 hours a month, so a short job still pays a full hour. Starter and Premium include a disk and an IPv4 and bill while shut down, so the cheap workday price assumes you delete the server each night; Cloud Native stops billing compute when off but bills storage and IPs on top.

Limits in those scenarios

UpCloud does not publish how many servers a full account can run at once, and trial accounts get small quotas with no GPUs or Windows. That is why 300 sandboxes for your users and 1,000 short jobs at once are marked not confirmed: you would ask UpCloud for the quota first. Hourly billing also bites the burst, since each one-minute job pays a full hour. 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.

ScenariobochkaUpCloud
One coding agent, workdaysNone that biteNone that bite
One agent that never stopsNone that biteNone that bite
50 agents in parallelNone that bite
  • how many machines can run at once: limit not published, probably fine at 50 (the typical published limit is 50)
Sandboxes for your usersNone that bite
  • not confirmed: how many machines can run at once (you need 300; the typical published limit is 50)
1,000 short jobs at once
  • max 2,400 starts/day (needs ~6,667)
  • max 600 starts/hour (needs ~1,000)
  • bursts above 90 starts/min are queued (a burst of 333 takes ~4 min to start)
  • not confirmed: how many machines can run at once (you need 1,000; the typical published limit is 50)

Which one should you use?

Use UpCloud when

you need GPUs, Windows servers, regions outside the EU, or a long-lived server that sits next to managed databases, Kubernetes and firewall rules in one cloud.

  • GPUs in Helsinki. Useful if your agents train or serve models: UpCloud rents Nvidia GPU Servers from L4 to B200, on demand or as spot.
  • Regions around the world. Useful if your users are outside Europe: UpCloud runs servers in the US, Singapore and Sydney as well as 10 European locations.
  • A whole cloud around the server. Useful if the agent's machine must run Windows, or sit next to managed databases, Kubernetes and firewall rules in one account.

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.

  • Stops that keep the disk, and fork while running. Agents sit idle between tasks. On UpCloud you either pay for the idle server or delete it and lose its disk, and copying a busy agent's machine means stopping its work first.
  • Coding agents and a desktop built in. An UpCloud server starts as an empty OS template, so you install, update and supervise each agent, desktop and key yourself, and the agent can read any key you put on it.
  • HTTPS on up to 50 ports, no setup. An agent that starts a dev server wants to share a working link right away. On UpCloud that link is a bare IP with no TLS and no access token until you set them up for each server.

Questions people ask

Is bochka cheaper than UpCloud?

Not for plain servers. One coding agent on workdays comes to $7 a month on UpCloud against $20 on bochka, if you delete the UpCloud server every night. One agent that never stops is about even at $26 on bochka against $25 on UpCloud, and 50 agents in parallel come to $317 on bochka against $315 on UpCloud. For 300 user sandboxes, bochka comes to $200 a month against $633 on UpCloud, where the quota is also not confirmed.

Do I pay for an UpCloud server that is shut down?

On Starter and Premium plans, yes: they bill per hour whether the server is on or off, until you delete it. Cloud Native plans stop billing compute when off, but storage and IPs keep billing. On bochka, a stopped sandbox costs nothing and keeps its disk.

Can I run Docker and nested VMs on UpCloud?

Docker works, since a Cloud Server is a full VM with root. UpCloud's docs do not mention nested virtualization, so you would need to test it on your plan. On bochka, Docker, systemd and /dev/kvm are documented on every machine.

Does UpCloud have an agent sandbox product?

No. UpCloud sells general cloud servers, storage, networking and managed services, with an API, CLI 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?

bochka runs only in the EU (Germany, Finland and France), with EU data residency and a zero data retention option. UpCloud has 15 locations, 10 of them in Europe, plus the US, Singapore and Sydney.

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

More comparisons

Bochka product preview · Pricing, benchmarks and commands are illustrative. Sandbox provisioning is not connected.