Sprites vs Ona

Sprites gives each agent a small Linux VM you create by API, which sleeps when idle and wakes on the next request, and you can start paying as you go today. Ona, formerly Gitpod and now part of OpenAI, is a cloud dev platform for engineering teams and its Codex agent, sold to new customers only through sales.

The companies and products

Sprites

Sprites is Fly.io's product for agents: persistent Linux computers you create by API or CLI, which sleep when idle and wake on the next request.

Each Sprite is a Firecracker microVM with 8 vCPU, memory the platform manages, and a 100 GB ext4 disk that syncs to object storage. It runs one managed Ubuntu image with Claude Code, Codex, Gemini CLI and Cursor preinstalled, gets an HTTPS URL that wakes it, and bills only for the CPU and memory it actually uses while awake. It is built for coding agents, dev environments and user code that sit idle most of the time.

Ona

Ona, formerly Gitpod, is a platform for cloud dev environments and background coding agents, and is now part of OpenAI.

Ona is a different kind of product from bochka: a dev-environment platform, not a sandbox API. Each task or developer gets an isolated VM built from a Dev Container config, which people open in a browser IDE, VS Code or JetBrains, and where Ona's Codex Agent can plan, code, test and open pull requests. It is built for engineering teams who want the same governed environment for every developer and agent; new customers run it in their own AWS or GCP account on an Enterprise contract.

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. “63rd cheapest of 377” means 62 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 workloadSprites: price rankOna: price rankbochka: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
Both keep files between runs, but bochka ranks 3rd here because it adds systemd, /dev/kvm and many public ports that full-stack builds often need.
66th of 367, with limits
$546 a month
324th of 367, with limits
$7,315 a month
3rd cheapest of 367
$634 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
An always-on assistant drops its open connections on every Sprites pause unless a task hold keeps it awake, and on Ona it stops after 30 idle minutes unless auto-stop is set to Never; bochka just keeps running.
157th of 366, with limits
$1,166 a month
83rd of 366, with limits
$8,504 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
Sprites suits short code runs: it sleeps about 30 seconds after the last command and bills only real CPU and memory, while Ona is a dev platform sold through sales.
93rd of 345, with limits
$140 a month
335th of 345, with limits
$5,320 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
Sprites gives each user a VM with a URL that wakes on request, Ona is built for your own engineers with a default of 10 running environments per user, and bochka ranks 1st here.
56th of 361, with limits
$428 a month
330th of 361, with limits
$5,988 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
105th of 360, with limits
$6,540 a month
283rd of 360, with limits
$9,773 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
125th of 364, with limits
$545 a month
334th of 364, with limits
$5,768 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
Neither Sprites nor Ona documents /dev/kvm, which Android and VM image builds need; bochka exposes it, and Ona runs start from a prebuild rather than a copy of a warm machine.
63rd cheapest of 377
$476 a month
365th of 377, with limits
$5,461 a month
4th cheapest of 377
$86 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
Ona is a full cloud IDE with Dev Containers and prebuilds, Sprites tunnels SSH through its CLI and does not run systemd, and bochka gives you SSH and systemd on a full VM.
213th of 368, with limits
$27 a month
368th of 368, with limits
$5,140 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
Sprites is headless and Ona has no graphical desktop inside its environments, while bochka streams a 60fps desktop with Chromium for computer use.
85th of 369, with limits
$136 a month
353rd of 369, with limits
$5,691 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
171st of 367, with limits
$122 a month
150th of 367, with limits
$5,346 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
229th of 346, with limits
$206 a month
146th of 346, with limits
$5,468 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
141st of 338, with limits
$4,113 a month
261st of 338, with limits
$14,360 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
Neither Sprites nor Ona can copy a running machine; bochka can fork one prepared sandbox into many while it runs.
210th of 360, with limits
$223 a month
93rd of 360, with limits
$5,228 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 itCan'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 itCan't run it

Key features

FeatureSpritesOnabochka
IsolationFirecracker microVM with its own kernelIsolated VM with dedicated compute, built from a Dev Container configFull VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts
Getting startedSelf-serve pay as you go, with $30 of trial credit per organizationNew Core subscriptions are closed; new customers buy Enterprise through salesSelf-serve plans from a free trial up, starting at $20 a month as usage credit
Machine sizeFixed 8 vCPU and 100 GB disk; memory set and scaled by the platformVM classes you pick, including GPU types such as one NVIDIA A10G with 16 vCPU and 64 GB on Enterprise runnersYou choose; up to 16 vCPU / 32 GB on the $100 plan and above
Inside the machineRoot and Docker (with rough edges users report); no systemd, and no /dev/kvm in the docsDocker and root inside the Dev Container; nested virtualization not documentedRoot, Docker, systemd and /dev/kvm for emulators and nested VMs
Idle behaviorPauses about 30 seconds after activity stops; wakes on the next request in 100 to 500 msStops after 30 minutes without SSH, IDE or agent activity by default; background work does not count; can be set to NeverRuns until you stop it or its time to live ends; no session cap on paid plans
Files after a stopDisk survives and syncs to object storage; checkpoints restore in placeDisk persists, but is billed on your own cloud while stopped; Core archives a stopped environment after 3 daysDisk saved every minute and on stop; a stopped sandbox costs nothing and keeps its disk
ForkNo fork in the public API or CLINo environment copy; you can create a project from an environment's configFork a running sandbox with its disk into new ones
Starting pointOne managed Ubuntu image; you install on top of itDev Container config per repo, with prebuilds that snapshot the filesystem on a scheduleNamed snapshots used as templates, shareable by code; no Dockerfile builds
Driving it from codeAPI, CLI and a remote MCP server on pay as you goPython, TypeScript and Go SDK on the Enterprise plan onlyREST API, CLI and SDKs on every plan, including the trial
Coding agentsClaude Code, Codex, Gemini CLI and Cursor preinstalled, run through exec or a consoleCodex Agent started from chat, a Linear issue or an automation; Claude Code you run yourselfSeven agents preinstalled, with a prompt, steer and events API to drive them from outside
Screen and IDEHeadless; no desktop, browser or IDE productBrowser IDE plus VS Code and JetBrains; no graphical desktop inside the environment60fps desktop with Chromium, computer use and browser control, embeddable stream
Reaching the machineOne HTTPS URL to one HTTP port; other ports and SSH only through the sprite proxy CLIHTTPS URL per port for you, your organization or everyone; SSH; no raw TCP documentedHTTPS URLs for up to 50 ports, token-protected; raw TCP; dedicated IP; SSH
Keys and outbound trafficConnectors gateway holds API tokens with path allow and block lists; optional domain allowlistSecrets injected into the environment as environment variables or filesCredentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out; no provider-side allowlist
RegionsRegion not selectableEnterprise runners in your own AWS or GCP account, in many regionsEU only (Germany, Finland, France), with EU data residency
Every feature Battleships tracks (43)
FeatureSpritesOnabochka
Full VM (own kernel)YesYesYes
Docker insideYesYesYes
Nested virtualizationNoNoYes
RootYesYesYes
SystemdNoNot publishedYes
Desktop GUINoNoYes
BrowserNoYesYes
Computer-use APINoNoYes
SSHNoYesYes
Persistent diskYesYesYes
Pause/resumeYesYesYes
Automatic snapshotsYesNoYes
Fork/cloneNoNoYes
Live fork (no pause)NoNoYes
Memory forkNoNoNo
Custom image (Docker or snapshot)YesYesYes
≥24 h sessionsYesYesYes
Idle auto-stopYesYesNo
Wake on requestYesNoNo
HTTPS preview URLsYesYesYes
Raw TCP inboundNoNoYes
Public IPv4NoNoNo
Egress allowlistYesNoNo
Secret proxyYesNoYes
Secret proxy for any APIYesNoYes
Preinstalled agentsYesYesYes
Agent harness APINoYesYes
MCP serverYesNoNo
GPUNoYesNo
WindowsNoNoNo
Arm64NoNoNo
Self-hostingNoNoNo
BYOCNoYesNo
Open sourceNoNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsNot publishedYesYes
Usage per sandbox (API)NoNoYes
Audit logsNot publishedNoNo
SSOYesYesNo
SOC 2YesYesNo
HIPAAYesNoNo
EU data residencyNoYesYes
Zero data retentionNot publishedNot publishedYes

Performance

SpritesNot measured
OnaNot measured
bochka26.69 runs/s

There is no comparable CPU measurement for Sprites or Ona: neither is in the hpc-sandbox-benchmarks results we use. bochka did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB in StarSling's run of 2026-09-29, 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. Sprites and Ona 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.

ScenarioSprites, a monthOna, 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
$23 · Pay-as-you-go$5,030 · Enterprise (AWS Marketplace 12-month contract) · with limits$20 · $20/mo
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$92 · Pay-as-you-go$5,140 · Enterprise (AWS Marketplace 12-month contract) · 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,120 · Pay-as-you-go$6,521 · Enterprise (AWS Marketplace 12-month contract) · 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
$314 · Pay-as-you-go · with limits$5,432 · Enterprise (AWS Marketplace 12-month contract) · 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
$1,134 · Pay-as-you-go · with limits$5,955 · Enterprise (AWS Marketplace 12-month contract) · with limits$2,000 · $2000/mo · with limits

Sprites: Sprites bills CPU time at $0.0385 per CPU-hour and actual memory at $0.021875 per GB-hour, only while the Sprite is awake, plus storage on the bytes you write. Optional plans such as Hero at $100 a month buy fixed allowances that are not credit.

Ona: New Core subscriptions are closed, so the Ona prices here use its Enterprise listing on AWS Marketplace: a 12-month, $60,000 contract, plus compute on your own AWS bill. Real Enterprise prices are negotiated with sales.

Ona: Plans start at $20 a month, and the whole fee is usage credit spent per second on running sandboxes. A stopped sandbox costs nothing and keeps its disk.

Limits in those scenarios

Sprites does not publish how many Sprites can run at once on pay as you go, so 300 user sandboxes and 1,000 jobs at once are not confirmed, and creation is 10 a minute without a plan. No Ona scenario fits as published, because new customers can only buy Enterprise through sales, and the table assumes 3 environments at once since Ona publishes no Enterprise limit. On bochka the 1,000-job burst gets queued above 90 starts a minute and needs more daily starts than the $2,000 plan allows.

ScenarioSpritesOnabochka
One coding agent, workdaysNone that bite
  • negotiated / enterprise price
  • different kind of product: CI runner
  • needs talk to sales: plan "Enterprise (AWS Marketplace 12-month contract)" is negotiated with sales
  • egress price not published
None that bite
One agent that never stopsNone that bite
  • negotiated / enterprise price
  • different kind of product: CI runner
  • needs talk to sales: plan "Enterprise (AWS Marketplace 12-month contract)" is negotiated with sales
  • egress price not published
None that bite
50 agents in parallel
  • how many machines can run at once: limit not published, probably fine at 50 (the typical published limit is 50)
  • Enterprise (AWS Marketplace 12-month contract): max 3 concurrent (not published; assumed like its other plans)
  • negotiated / enterprise price
  • different kind of product: CI runner
  • needs talk to sales: plan "Enterprise (AWS Marketplace 12-month contract)" is negotiated with sales
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)
  • Enterprise (AWS Marketplace 12-month contract): max 3 concurrent (not published; assumed like its other plans)
  • negotiated / enterprise price
  • different kind of product: CI runner
  • needs talk to sales: plan "Enterprise (AWS Marketplace 12-month contract)" is negotiated with sales
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)
  • Enterprise (AWS Marketplace 12-month contract): max 3 concurrent (not published; assumed like its other plans)
  • negotiated / enterprise price
  • different kind of product: CI runner
  • needs talk to sales: plan "Enterprise (AWS Marketplace 12-month contract)" is negotiated with sales
  • 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 Sprites when

you want to start today without a contract, and your agents or apps sit idle most of the day and should wake on a request.

  • Start today, pay for what you use. Useful for small teams: Sprites is self-serve, has no plan fee by default, and bills only the CPU and memory a Sprite uses while awake.
  • Sleeps when idle, wakes on request. Useful for agents and apps that sit idle most of the day: a Sprite pauses after 30 seconds and wakes on the next request.
  • Limits on what an agent can reach. Useful if you want guardrails: Sprites can allowlist outbound domains and limit which API paths a stored token can call.

Use Ona when

your engineers want a governed cloud IDE shared with a Codex agent, inside your own AWS or GCP account or with a GPU.

  • A full cloud IDE for your team. Useful if your engineers work in the same environments as their agents: Ona has browser, VS Code and JetBrains IDEs with Dev Containers and prebuilds.
  • Runs in your own cloud. Useful if environments must run inside your own AWS or GCP account, in a region you pick: Ona's Enterprise runners do that.
  • GPU environments. Useful if your agents need a GPU: Ona's Enterprise runners can use GPU types, such as an A10G VM with 16 vCPU and 64 GB.

Where bochka fits

If your own code starts the agents and they work for hours, look at bochka. Sprites is built to sleep between short bursts, and Ona is built for engineers in an IDE and sold through sales. bochka gives each agent a full VM it can shape, an API on every plan, and a machine that keeps its work and can be forked.

A full machine with a screen

Sprites has no systemd and is headless, and neither Sprites nor Ona documents /dev/kvm or a desktop, so emulators, nested VMs and computer-use agents do not run. On Sprites you would build a display and stream layer yourself.

Agents you drive from outside, on any plan

On Sprites you write the code that starts, prompts and watches each agent through exec. On Ona the SDK is Enterprise only, through sales, and its managed agent is Codex. bochka has a prompt, steer and events API from the trial up.

Machines that keep running, keep work and fork

A Sprite pauses and drops connections unless an hour-long task hold is renewed, and an Ona agent stops after 30 idle minutes by default. Neither can copy a running machine, so each parallel attempt starts over.

Use bochka when your code starts and drives agents that work for hours: full VMs with systemd and /dev/kvm, a desktop, open ports, an API on every plan, and forks of running machines. Compare it one to one: bochka vs Sprites and bochka vs Ona.

Questions people ask

Is Sprites cheaper than Ona?

In every scenario we priced, yes: one coding agent on workdays is $23 a month on Sprites against $5,030 on Ona, and 50 agents in parallel are $1,120 against $6,521. Ona's figure uses its AWS Marketplace Enterprise listing, so a real sales quote may differ. bochka comes to $20 and $317 for the same two.

Which is faster, Sprites or Ona?

We can't say: neither has a comparable CPU measurement in the benchmark results we use. A Sprite always has 8 vCPU, and Ona's size depends on the VM class you pick. bochka did 26.69 runs per second at 4 vCPU / 8 GB.

Can Sprites and Ona run Docker?

Both run Docker with root. On Sprites, users report that docker exec fails for containers whose main process is not root, and there is no systemd. Neither documents /dev/kvm, which bochka has in every sandbox.

Can I sign up for Ona the way I can for Sprites?

No. Sprites is self-serve with $30 of trial credit per organization. Ona's billing docs say new Core subscriptions are no longer available, so new customers go through sales for Enterprise.

Which one runs Claude Code?

Sprites preinstalls Claude Code, Codex, Gemini CLI and Cursor, which you run through exec or a console. On Ona the managed agent is Codex, and you install Claude Code yourself. bochka preinstalls seven agents with one API to prompt, steer and watch them.

Is Ona the same as Gitpod?

Yes. Gitpod renamed itself Ona in 2025 and moved toward background coding agents, and Ona is now part of OpenAI.

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.