bochka vs Bitbucket Pipelines

Bitbucket Pipelines runs each CI step in a fresh Docker container that is thrown away when the step ends, at most 12 hours later, and its agent steps run one prompt with no follow-up. bochka gives each agent a full VM that keeps its disk, can be reached from outside and runs coding agents you prompt and steer through an API.

Where bochka stands out

A machine that stays

A bochka sandbox keeps its disk. It is saved every minute and when it stops, a stopped sandbox costs nothing, and paid plans have no session cap. You can also fork a running sandbox to try two ideas from the same state.

Reach it from outside

You can SSH into a bochka sandbox, open HTTPS URLs on up to 50 ports, take raw TCP and watch its desktop at 60fps. An agent can run a dev server or an app, and you, a test or a user can use it while it runs.

Agents you steer, keys kept out

Claude Code, Codex and other agents come preinstalled, and you prompt, steer and follow them through one API from any program, as many turns as you need. Real API keys for model providers and any other HTTPS API stay in a credentials proxy outside the sandbox.

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.

Bitbucket Pipelines

Bitbucket Pipelines is the CI/CD service built into Atlassian's Bitbucket Cloud, paid for in build minutes.

This is a CI service, not a sandbox API. Each step in a pipeline starts a new Docker container from an image you choose, runs the commands in bitbucket-pipelines.yml and is torn down when it ends. Agentic Pipelines (beta) adds steps that run Rovo Dev, Claude Code or Codex with one prompt inside that container, for jobs like code review, fixing flaky tests and release notes on a Bitbucket repository.

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 rankBitbucket Pipelines: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
A software factory needs agents that keep their checkout, Docker cache and dev servers between tasks, which a step container thrown away after each run does not give you.
3rd cheapest of 367
$634 a month
348th of 367, with limits
$14,476 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
An assistant that lives on its machine all month does not fit in steps that end after at most 12 hours and start from a clean container.
5th cheapest of 366
$657 a month
354th of 366, with limits
$21,897 a month
Code interpreter bursts
100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month
186th of 345, with limits
$2,000 a month
322nd of 345, with limits
$1,993 a month
Sandboxes for your users
300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month
Pipelines only runs steps from your own repositories and takes no inbound traffic, so it is not built to hand machines to your users.
Cheapest of 361
$209 a month
333rd of 361, with limits
$6,297 a month
RL rollouts
1,000 at once · 2 vCPU / 4 GB · 1,000,000 sessions of 3 min a month
Thousands of rollouts at once do not fit a CI service: the Free plan runs at most 10 steps at once, and Atlassian publishes no limit for paid plans.
34th of 360, with limits
$2,000 a month
320th of 360, with limits
$29,993 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
331st of 364, with limits
$4,797 a month
CI runners
40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month
Bitbucket Pipelines is the native choice for a Bitbucket repository's builds; bochka suits CI that needs a warm disk between runs, /dev/kvm or jobs longer than 12 hours.
4th cheapest of 377
$86 a month
205th of 377, with limits
$2,873 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
A dev box needs SSH, open ports and a disk that stays; a Pipelines step has none of these.
18th cheapest of 368
$26 a month
360th of 368, with limits
$869 a month
Computer-use agents
50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month
Steps are headless containers, while bochka gives each agent a desktop streamed at 60fps with computer use built in.
6th cheapest of 369
$200 a month
344th of 369, with limits
$4,397 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
341st of 367, with limits
$2,397 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
335th of 346, with limits
$2,918 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
321st of 338, with limits
$58,493 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
324th of 360, with limits
$1,447 a month
GPU eval jobs
10 at once · 8 vCPU / 32 GB · 500 sessions of 30 min a month
Can't run itCan't run it
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

FeaturebochkaBitbucket Pipelines
Kind of productSandbox API: create, stop, fork and reach machines from your codeCI/CD: steps run from a repository's pipeline file, on pushes, pull requests, schedules or a manual run
IsolationFull VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts, with root and systemdA Docker container per step; at 1x and 2x the CPUs might be shared with other tasks
Session lengthNo cap on paid plans; you set the time to live120 minutes per step by default, 720 minutes at most
Disk between runsDisk persists, saved every minute and on stop; a stopped sandbox costs nothingEach step is a new container; files carry over only through caches or artifacts passed to later steps
ForkFork a running sandbox with its diskNo; every step starts from a fresh container and an image
Docker and nested virtualizationDocker with no restrictions, plus /dev/kvm for Android emulators and VMsDocker as a step service (1 GB memory by default); --privileged, --device and some mounts are blocked unless you move to Runtime v3; no /dev/kvm documented
Inbound accessSSH, HTTPS URLs for up to 50 ports, raw TCP, dedicated IPv6 or IPv4None documented for cloud steps; outbound traffic comes from shared AWS IP ranges, IPv4 only
Desktop and computer useLinux desktop streamed at 60fps, Chromium, computer use APIHeadless; agents get shell, build tools and Bitbucket MCP tools, no screen
Coding agentsClaude Code, Codex, OpenCode and other agents preinstalled, driven from outside with a prompt, steer and events APIAgentic Pipelines (beta): Rovo Dev, Claude Code or Codex run one prompt non-interactively inside a step, with a built-in Bitbucket MCP server
Keeping API keys out of the machineCredentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run outAgent keys such as ANTHROPIC_API_KEY or CODEX_ACCESS_TOKEN are secure environment variables in the step
Biggest machineUp to 16 vCPU / 32 GB on the $100 plan and above32x: 64 CPU / 128 GB with dedicated CPUs, on Standard and Premium
CPU types and systemsLinux x64Linux x64 and Arm in the cloud; self-hosted runners also on Windows and macOS
RegionsEU only (Germany, Finland, France)AWS in the US (us-east-1 and us-west-2 IP ranges)
Self-hostingNoSelf-hosted runners on your own machines use no build minutes
Compliance and transparencySOC 2 is in progress. We're open about where we stand: live status and data retention policy.SOC 2
Every feature Battleships tracks (43)
FeaturebochkaBitbucket Pipelines
Full VM (own kernel)YesNo
Docker insideYesYes
Nested virtualizationYesNo
RootYesYes
SystemdYesNot published
Desktop GUIYesNo
BrowserYesNo
Computer-use APIYesNo
SSHYesNo
Persistent diskYesNo
Pause/resumeYesNo
Automatic snapshotsYesNo
Fork/cloneYesNo
Live fork (no pause)YesNo
Memory forkNoNo
Custom image (Docker or snapshot)YesYes
≥24 h sessionsYesNo
Idle auto-stopNoYes
Wake on requestNoNo
HTTPS preview URLsYesNo
Raw TCP inboundYesNo
Public IPv4NoNo
Egress allowlistNoNo
Secret proxyYesNo
Secret proxy for any APIYesNo
Preinstalled agentsYesYes
Agent harness APIYesYes
MCP serverNoYes
GPUNoNo
WindowsNoNo
Arm64NoYes
Self-hostingNoYes
BYOCNoNo
Open sourceNoNo
Scoped API keysYesNot published
Spend limitsYesYes
Usage per sandbox (API)YesNo
Audit logsNoYes
SSONoYes
SOC 2NoYes
HIPAANoNo
EU data residencyYesNo
Zero data retentionYesNot published

Performance

bochka26.69 runs/s
Bitbucket PipelinesNot measured

There is no comparable measurement for Bitbucket Pipelines in the hpc-sandbox-benchmarks CPU test. bochka did 26.69 runs per second on it at 4 vCPU / 8 GB, on dedicated AMD Ryzen 9 9950X hosts.

Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Bitbucket Pipelines 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 monthBitbucket Pipelines, 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$183 · Standard · with limits
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$26 · $20/mo$869 · Standard · 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$9,504 · Free · 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$2,697 · Standard · 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$5,993 · Standard · with limits

bochka: Plans start at $20 a month, and the whole fee is usage credit. You pay per second while a sandbox runs, and a stopped sandbox costs nothing and keeps its disk.

Bitbucket Pipelines: Each step uses build minutes equal to its run time times its size, so a 2x step uses twice the minutes of a 1x step. Plans include monthly minutes (Standard is $3.65 per user a month with 2,500 minutes), and extra minutes cost $10 per 1,000.

Limits in those scenarios

Bitbucket Pipelines does not fit any of the five scenarios as a sandbox: it is a CI service, every step ends after 12 hours at most, and nothing on its disk survives to the next step. The Free plan runs at most 10 steps at once and Atlassian publishes no limit for paid plans, so the 50, 300 and 1,000 machine scenarios are not confirmed. On bochka, the 1,000-job burst needs more starts per day than the $2,000 plan allows, and starts above 90 a minute are queued.

ScenariobochkaBitbucket Pipelines
One coding agent, workdaysNone that bite
  • missing persistent disk
  • different kind of product: CI runner
  • no persistent disk: files lost when it stops or sleeps
  • egress price not published
One agent that never stopsNone that bite
  • Standard: sessions capped at 12 h
  • missing persistent disk
  • different kind of product: CI runner
  • no persistent disk: files lost when it stops or sleeps
50 agents in parallelNone that bite
  • Free: max 10 concurrent
  • missing persistent disk
  • different kind of product: CI runner
  • no persistent disk: files lost when it stops or sleeps
Sandboxes for your usersNone that bite
  • Standard: max 10 concurrent (not published; assumed like its other plans)
  • different kind of product: CI runner
  • not confirmed: how many machines can run at once (you need 300; the typical published limit is 50)
  • egress price not published
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)
  • Standard: max 10 concurrent (not published; assumed like its other plans)
  • different kind of product: CI runner
  • not confirmed: how many machines can run at once (you need 1,000; the typical published limit is 50)
  • egress price not published

Which one should you use?

Use Bitbucket Pipelines when

you build, test and deploy a Bitbucket repository, need very large or Arm build machines, or want a one-shot agent to review pull requests and fix builds inside your existing pipeline.

  • Native CI for Bitbucket repositories. For teams on Bitbucket, Pipelines builds, tests and deploys on every push or pull request with nothing extra to connect.
  • Big machines and Arm. Builds that need up to 64 CPUs and 128 GB in one step, or Arm, get them on Atlassian's cloud runners.
  • Your own runners, free of minutes. You can run steps on your own Linux, Windows or macOS machines, and those steps use no build minutes.

Use bochka when

an agent needs its own full VM that keeps its disk, runs past 12 hours, takes inbound traffic, shows a desktop, takes follow-up prompts and keeps real API keys out of reach.

  • A machine that stays. In Pipelines every step starts in a clean container and stops after 12 hours at most, so an agent reinstalls tools and reclones the repo each run, and keeps only what you save as caches or artifacts.
  • Reach it from outside. A Pipelines step has no documented way in from the internet, so a preview, a webhook or a live look at what the agent is doing needs a third-party tunnel set up inside the step.
  • Agents you steer, keys kept out. An Agentic Pipelines step runs one prompt and ends, with no follow-up turn. Its Claude or Codex key sits in the step as an environment variable the agent can read, where one prompt injection can leak it.

Questions people ask

Can I use Bitbucket Pipelines as a sandbox for AI agents?

For agent tasks on a Bitbucket repository, yes: Agentic Pipelines (beta) runs Rovo Dev, Claude Code or Codex with one prompt inside a step. But each step is a fresh container that ends within 12 hours, takes no follow-up prompt and keeps nothing on its disk afterwards.

Is bochka cheaper than Bitbucket Pipelines?

In the five agent scenarios on this page bochka costs less: one coding agent on workdays comes to $20 a month on bochka and $183 on Pipelines minutes, and one agent running all month comes to $26 versus $869. But Pipelines does not fit these scenarios, and for plain CI the minutes included in your Bitbucket plan can make it the cheaper choice.

How long can a Bitbucket Pipelines step run?

120 minutes by default, and up to 720 minutes (12 hours) if you set max-time. A bochka sandbox has no session cap on paid plans.

Do files persist between Bitbucket Pipelines steps?

Not on the machine. Each step starts a new Docker container, and files carry over only through caches or artifacts that later steps download. A bochka sandbox keeps its disk, saves it every minute and can be stopped and started again.

Can I SSH into a Bitbucket Pipelines step?

Atlassian documents no inbound access to cloud steps; SSH keys in Pipelines are for connecting out to other servers. You can SSH into a bochka sandbox and open HTTPS URLs on up to 50 ports.

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.