Runpod vs Baseten

Runpod rents you GPU or CPU containers by the second, with SSH and root, and you run whatever you like on them. Baseten is an inference cloud: you package a model and it runs it as replicas that scale with traffic, down to zero.

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

Baseten

Baseten is an inference cloud: it runs AI models on GPUs for production apps, and sells hosted open models and training.

You package a model with Truss, its open-source format, or bring a Docker image, and Baseten runs it as replicas on Kubernetes that scale up with traffic and down to zero. It also sells Model APIs (open models priced per token) and training jobs on the same GPUs. Sandboxes, isolated environments where an agent runs commands and works with files, are in private preview; this page compares bochka with both the CPU instances and the sandbox preview.

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 workloadRunpod: price rankBaseten: price rankbochka: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
A coding agent that runs docker compose fails on both: Runpod pods cannot run Docker inside and Baseten containers run as a non-root user.
203rd of 367, with limits
$2,362 a month
216th of 367, with limits
$2,619 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
242nd of 366, with limits
$3,258 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 bill per second, which makes it the cheaper fit for short code runs; Baseten also pays for cold starts and 15 idle minutes per burst by default.
227th of 345, with limits
$135 a month
319th of 345, with limits
$1,856 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 offers a sandbox API you can open to your users at scale: Runpod does not publish a concurrency limit, and Baseten's sandbox preview runs 10 at once by default.
83rd of 361, with limits
$733 a month
277th of 361, with limits
$1,868 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
Runpod handles rollouts far better than Baseten, which is built to serve models rather than run many short environments; bochka adds full VMs with Docker but its start limits make big bursts a compromise.
53rd of 360, with limits
$3,068 a month
322nd of 360, with limits
$31,140 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
127th of 364, with limits
$614 a month
297th of 364, with limits
$1,609 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
Runpod fits plain build and test jobs on CPU pods, Baseten's model containers are a poor fit for CI, and bochka adds Docker inside for jobs that start containers.
32nd cheapest of 377
$301 a month
320th of 377, with limits
$1,119 a month
4th cheapest of 377
$86 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
A Runpod pod keeps only /workspace after a stop and a Baseten replica starts fresh from its image, while bochka keeps the whole disk.
161st of 368, with limits
$93 a month
170th of 368, with limits
$130 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 Baseten has a desktop or computer-use API; bochka streams a 60fps desktop with Chromium and computer use.
189th of 369, with limits
$614 a month
294th of 369, with limits
$1,799 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
318th of 367, with limits
$1,194 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
220th of 346, with limits
$183 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
126th of 338, with limits
$3,654 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
254th of 360, with limits
$381 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 eval jobs: Runpod at $1,001 a month and Baseten at $1,625 in our scenario, while bochka has no GPUs.
13th cheapest of 98
$1,001 a month
24th cheapest of 98
$1,625 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 itCan't run itCan't run it

Key features

FeatureRunpodBasetenbochka
Kind of productGPU cloud: rent pods, serverless endpoints and multi-node clustersInference cloud: model deployments, Model APIs per token and training; sandboxes in private previewSandboxes for AI agents: full VMs with coding agents, a desktop and hosting ready
GPUsDozens of Nvidia and AMD types, from RTX A4000 to B300 and MI300X, plus clusters of 2 to 8 nodesNvidia T4, L4, A10G, A100, H100, H200, B200 and RTX PRO 6000, up to 8 per instance, plus multi-nodeNone
How you run workA container from your Docker image, with SSH, a web terminal and JupyterA model packaged with Truss or your own Docker image, served behind an HTTPS endpointA full Linux VM you drive by API, SSH or the coding agents inside
IsolationContainers that share the host kernelKubernetes containers in a dedicated namespace per customer; GPUs never shared across usersEvery sandbox is a full VM with its own kernel
Root and Docker insideRoot in the container; no Docker or Docker Compose inside a podModel containers run as the non-root app user; Docker inside is not documentedRoot, systemd, Docker, Docker Compose and /dev/kvm on every machine
Scale to zeroServerless workers scale to zero and start on a request; pods run until you stop themDeployments scale to zero and start on the next request; 15 idle minutes before scale-down by defaultSandboxes stop and resume by API; no start on an incoming request
Files after a stopOnly /workspace is kept, and billed while stopped; the container disk is clearedReplicas start fresh from the image; preview sandboxes keep files on standby but are deleted after 7 days by defaultThe whole disk is kept, with snapshots every minute and on stop; a stopped sandbox costs nothing
ForkNo pod fork or snapshot; templates save the image and settingsNo fork or clone; new replicas cold-start from the imageFork a running sandbox into new ones with the same disk
BillingPer second from a prepaid balance, disk on top; default spend limit of $80 an hourPer minute, partial minutes rounded up, including image builds and cold starts; no plan fee on BasicMonthly plan from $20 that becomes usage credit, spent per second
Reaching the machineUp to 10 HTTP ports on a public proxy URL with no built-in auth; TCP on a public IPAn HTTPS API endpoint per deployment; SSH once enabled for your organizationToken-protected HTTPS URLs for up to 50 ports, raw TCP, dedicated IPv6 or IPv4
Outbound networkOpen internet, no ingress or egress feesTCP 443 and 80 by default; per-deployment IP and domain allowlists once enabledOpen internet on every plan; no provider-side allowlist
Desktop and coding agentsNo desktop; an MCP server lets your local agent manage RunpodNo desktop; Baseten Switch points Claude Code or Codex on your laptop at its Model APIs60fps desktop with computer use, and Claude Code, Codex and OpenCode inside with a prompt, steer and events API
Keeping keys outSecrets passed into the pod as environment variablesSecrets passed into the model as arguments or files under /secretsAI credentials proxy for model providers and any HTTPS API you register
Regions24 documented data centers in the US, Canada, Europe and AustraliaUS and EU for GPU deployments; your own AWS, GCP or OCI account on EnterpriseEU only: Germany, Finland, France
Every feature Battleships tracks (43)
FeatureRunpodBasetenbochka
Full VM (own kernel)NoNoYes
Docker insideNoNoYes
Nested virtualizationNoNoYes
RootYesNot publishedYes
SystemdNoNot publishedYes
Desktop GUINoNoYes
BrowserNoNoYes
Computer-use APINoNoYes
SSHYesYesYes
Persistent diskYesNoYes
Pause/resumeYesNoYes
Automatic snapshotsNoNoYes
Fork/cloneNoNoYes
Live fork (no pause)NoNoYes
Memory forkNoNoNo
Custom image (Docker or snapshot)YesYesYes
≥24 h sessionsYesYesYes
Idle auto-stopNoYesNo
Wake on requestYesYesNo
HTTPS preview URLsYesYesYes
Raw TCP inboundYesNot publishedYes
Public IPv4YesNoNo
Egress allowlistNoYesNo
Secret proxyNoNoYes
Secret proxy for any APINoNoYes
Preinstalled agentsNoNoYes
Agent harness APINoNoYes
MCP serverYesYesNo
GPUYesYesNo
WindowsNoNoNo
Arm64NoNoNo
Self-hostingNoYesNo
BYOCNoYesNo
Open sourceNoNoNo
Scoped API keysYesNot publishedYes
Spend limitsYesNoYes
Usage per sandbox (API)NoYesYes
Audit logsYesNot publishedNo
SSOYesYesNo
SOC 2YesYesNo
HIPAAYesYesNo
EU data residencyYesYesYes
Zero data retentionNot publishedNot publishedYes

Performance

RunpodNot measured
BasetenNot measured
bochka26.69 runs/s

There is no comparable CPU measurement for Runpod or Baseten: 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 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 and Baseten 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.

ScenarioRunpod, a monthBaseten, a monthbochka, 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$34 · Basic · with limits$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$136 · Basic · with limits$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,701 · Basic · with limits$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$1,246 · Basic · 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
$614 · Pay-as-you-go (prepaid credits) · with limits$6,228 · Basic · with limits$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, since the pricing page lists GPUs only.

Baseten: Baseten bills per minute, partial minutes rounded up, from image build and cold start until the replica stops, with no plan fee on Basic. The scenarios use its CPU instances, whose smallest fit for 8 GB is 4 vCPU / 16 GiB, and sandbox preview pricing is not published.

Baseten: 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; it caps spend at $80 an hour by default instead, so 300 user sandboxes or 1,000 jobs at once are not confirmed. Baseten's CPU instances have no persistent disk, so files are lost whenever a replica stops, and its sandbox preview runs 10 at once by default. Runpod's budget is a hard stop at $0 balance, while Baseten's monthly budget never stops dedicated deployments. On bochka the 1,000-job burst is queued by start limits and needs more starts per day than the $2,000 plan allows.

ScenarioRunpodBasetenbochka
One coding agent, workdays
  • files survive a stop only in /workspace: packages installed elsewhere reset
  • adjacent product, not a like-for-like sandbox
  • missing persistent disk
  • different kind of product: app platform
  • no persistent disk: files lost when it stops or sleeps
None that bite
One agent that never stops
  • files survive a stop only in /workspace: packages installed elsewhere reset
  • adjacent product, not a like-for-like sandbox
  • missing persistent disk
  • different kind of product: app platform
  • no persistent disk: files lost when it stops or sleeps
None that bite
50 agents in parallel
  • missing Docker inside
  • files survive a stop only in /workspace: packages installed elsewhere reset
  • how many machines can run at once: limit not published, probably fine at 50 (the typical published limit is 50)
  • adjacent product, not a like-for-like sandbox
  • missing persistent disk, Docker inside
  • different kind of product: app platform
  • no persistent disk: files lost when it stops or sleeps
None that bite
Sandboxes for your users
  • not confirmed: how many machines can run at once (you need 300; the typical published limit is 50)
  • adjacent product, not a like-for-like sandbox
  • different kind of product: app platform
  • disk beyond 0 GiB: price unknown
  • egress price not published
None that bite
1,000 short jobs at once
  • not confirmed: how many machines can run at once (you need 1,000; the typical published limit is 50)
  • adjacent product, not a like-for-like sandbox
  • different kind of product: app platform
  • disk beyond 0 GiB: price unknown
  • egress price not published
  • 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)

Which one should you use?

Use Runpod when

you want raw GPU or CPU machines with SSH and root, the widest choice of cards, per-second billing, or clusters of several nodes.

  • The widest choice of GPUs. Useful if you want a specific card: Runpod rents dozens of Nvidia and AMD GPU types, from RTX cards to B300 and MI300X.
  • A machine you control. Useful if you want SSH, root and Jupyter on your own container, not a serving framework, billed by the second.
  • More regions and shared volumes. Useful if you need Canada or Australia, or many pods reading one network volume at the same time.

Use Baseten when

you want to ship a model to production and have the platform scale it, call hosted open models per token, or run in your own cloud account.

  • Model serving handled for you. Useful if you ship a model to production: Baseten runs it as replicas that scale up with traffic and down to zero.
  • Hosted open models per token. Useful if you just want to call open models: Baseten's Model APIs bill per token with no deployment to manage.
  • Your own cloud and egress allowlists. Useful if workloads must run in your own AWS, GCP or OCI account, or be limited to listed outbound hosts.

Where bochka fits

Runpod and Baseten are GPU clouds, and bochka is not one: it has no GPUs. If what you are really running is agents that write, build and test code, both put you in a container that was made for models. bochka gives each agent a full VM instead, and you can keep the GPU part on Runpod or Baseten.

A full VM with Docker inside

A Runpod pod cannot run Docker or Docker Compose, and a Baseten container runs as a non-root user, so an agent's docker compose up fails on both. bochka gives every sandbox its own kernel, root, systemd, Docker and /dev/kvm.

A disk that stays, and forks

Runpod keeps only /workspace after a stop, so apt installs vanish, and Baseten replicas start fresh from the image. Baking it all into an image means a rebuild for every change. bochka keeps the whole disk, saves it every minute and forks a running sandbox.

Agents and a desktop built in

On both, the agent tools run on your laptop and point at their platform, and neither has a desktop. bochka ships Claude Code, Codex and OpenCode inside each sandbox, driven from outside, with a 60fps desktop and a credentials proxy that keeps keys off the machine.

Use bochka when the work is agents writing and running code: full VMs with Docker, a disk that survives and forks, a desktop and coding agents built in, with GPUs left to Runpod or Baseten. Compare it one to one: bochka vs Runpod and bochka vs Baseten.

Questions people ask

Is Runpod cheaper than Baseten?

In our scenarios, yes. GPU eval jobs come to $1,001 a month on Runpod and $1,625 on Baseten, and one CPU agent running all month is $93 against $136. Baseten's CPU shape has twice the memory, and bochka does that agent for $26 a month.

Which is faster, Runpod or Baseten?

We have no comparable CPU measurement for either one. bochka did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB in the public StarSling run. For GPU work, speed depends on the card you pick, and Runpod offers more types.

Can Runpod or Baseten run Docker inside?

Runpod's docs say you cannot start your own Docker or use Docker Compose on a pod. Baseten does not document Docker inside, and its model containers run as a non-root user. Every bochka sandbox has root, Docker and Docker Compose.

Do both scale to zero?

Yes, for serving. Runpod Serverless workers and Baseten deployments both scale to zero and start on a request. Baseten keeps a replica running 15 idle minutes by default before it scales down, and bills the cold start.

Does Baseten have sandboxes for AI agents?

Yes, in private preview: you ask for access, an organization runs up to 10 at once by default, and a sandbox is deleted with its files after 7 days by default. Runpod has no sandbox product; you run agents in a pod yourself.

Where do Runpod and Baseten run?

Runpod documents 24 data centers in the US, Canada, Europe and Australia. Baseten runs GPU deployments in the US or the EU, and on Enterprise in your own cloud account. bochka runs only in the EU, in Germany, Finland and France.

Try bochka

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.