Blaxel vs Upstash Box
Blaxel gives each sandbox a Firecracker microVM with its own kernel that sleeps in seconds and wakes in under 25 ms with its memory and processes. Upstash Box gives each agent a Docker container with a coding agent built in, billed only for the CPU it uses.
The companies and products
Blaxel
Blaxel is a San Francisco company that runs cloud infrastructure for AI agents, and since September 2026 it is part of Baseten.
You get sandboxes, batch jobs, MCP server hosting and a model gateway. Each sandbox is a Firecracker microVM with its own kernel that drops to standby when nothing is connected and resumes in under 25 ms with its memory and running processes. It is built for agent products that start many sandboxes and want them asleep most of the time.
- Headquarters
- San Francisco, founded 2024
Upstash Box
Upstash Box is a cloud computer for AI agents from Upstash, the company known for serverless Redis, Vector and QStash.
Each box is a Docker container with its own filesystem, shell, git and an optional coding agent such as Claude Code, Codex or OpenCode, which you drive from TypeScript or Python SDKs. A box pauses when it sits idle, keeps its files, and you pay for the CPU it actually uses. Upstash built it to run its own Context7 service and opened it to everyone in March 2026.
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. “10th cheapest of 367” means 9 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 workload | Blaxel: price rank | Upstash Box: price rank | bochka: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month Blaxel fits a software factory because it runs Docker inside its microVMs, while an Upstash box is itself a container with no Docker inside; bochka adds /dev/kvm and a real disk. | 10th cheapest of 367 $2,373 a month | 61st of 367, with limits $464 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB | 12th cheapest of 366 $2,832 a month | 103rd of 366, with limits $475 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 Both suit short code runs: Blaxel sleeps seconds after the last connection and Upstash charges no CPU while a box is idle, while bochka is not built for this. | 14th cheapest of 345 $144 a month | 10th cheapest of 345 $119 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 Upstash allows 1,000 boxes at once on Pay as You Go, while Blaxel's public tiers stop at 200 at once, and bochka fits 300 users on a self-serve plan. | 101st of 361, with limits $926 a month | 2nd cheapest of 361 $222 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 | 77th of 360, with limits $4,378 a month | 352nd of 360, with limits $8,068 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 Upstash fits evals with up to 1,000 boxes at once, while Blaxel's public tiers cap at 200 and bochka starts a fresh VM per task from a snapshot. | 136th of 364, with limits $704 a month | 52nd cheapest of 364 $1,011 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 CI jobs that build images need Docker, which Blaxel and bochka run inside the sandbox and Upstash does not. | 57th cheapest of 377 $431 a month | 120th cheapest of 377 $1,520 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB Upstash's flat-price keep-alive box makes a light dev box, Blaxel has no native SSH, and bochka is a full VM you SSH into. | 265th of 368, with limits $114 a month | 10th cheapest of 368 $20 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 Blaxel and bochka both run a desktop for computer use, while Upstash offers only a headless Chromium with no desktop. | 14th cheapest of 369 $634 a month | 73rd of 369, with limits $76 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 | 16th cheapest of 367 $317 a month | 49th of 367, with limits $38 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 | 16th cheapest of 346 $215 a month | 37th cheapest of 346 $400 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 | 147th of 338, with limits $4,292 a month | 200th of 338, with limits $8,000 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 Blaxel and bochka both fit parallel red teaming, while an Upstash box fits only as a compromise, and Blaxel adds domain-level egress rules on the provider side. | 3rd cheapest of 360 $217 a month | 225th of 360, with limits $259 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 | Blaxel | Upstash Box | bochka |
|---|---|---|---|
| Isolation | Firecracker microVM, own kernel | Docker container per box on AWS | Full VM, own kernel, on dedicated AMD Ryzen 9 9950X hosts |
| Docker inside | Yes, with a Docker-in-sandbox image | Not documented; the box is itself a Docker container | Yes, Docker and systemd run as on any Linux server |
| Nested virtualization | No: Firecracker guests do not get /dev/kvm | No; boxes are containers | Yes: /dev/kvm, so Android emulators and VMs run inside |
| Sleep and wake | Standby a few seconds after the last connection, wakes in under 25 ms with memory and processes | Pauses when idle and keeps its files; a request to its URL wakes it | Stop keeps the disk and costs nothing; resume boots the VM again |
| Fork | Fork with memory and running processes (private preview) | Snapshot a running box and start many new boxes from it | Fork a running sandbox with its disk |
| Disk | Files live in memory (about half the RAM); one block volume can be attached at creation | 5, 10 or 20 GB by size, billed per GB-month | 50 GB at the default 4 vCPU / 8 GB size, saved every minute and on stop |
| Images | Custom images built from Docker images | Custom images listed as coming soon; reuse environments with snapshots | Templates from named snapshots, shareable by code |
| Shell access | Root, terminal through bl connect, no native SSH | SSH through a gateway | Real SSH, root and systemd |
| Desktop and browser | Desktop and browser for computer use | Managed headless Chromium with AI page actions and CDP; no desktop | Linux desktop streamed at 60fps, Chromium and computer-use tools |
| Inbound traffic | Preview URL per port, public or token-protected; no raw TCP | HTTPS URL per port, public unless you add a token or basic auth; no raw TCP | HTTPS URLs for up to 50 ports, token-protected by default; raw TCP |
| Outbound rules | Domain allow and deny lists, method and path rules, static egress IPs | Allow or deny by domain and CIDR, changeable on a running box | Open internet; filter inside the VM with nftables |
| Coding agents | Claude Code image you drive from its terminal or your own harness | Claude Code, Codex and OpenCode built in, with run and stream APIs, webhooks and scheduled prompts | Claude Code, Codex, OpenCode, pi and more, driven by a prompt, steer and events API |
| Keeping API keys out | Proxy fills secrets into outbound HTTPS requests (public preview) | Host proxy injects headers into outbound HTTPS, set when the box is created | Credentials proxy for model providers and any HTTPS API; switch to another account when credits run out |
| Regions | US (Oregon, North Virginia), London, Frankfurt | US only (AWS us-east-1) | EU only: Germany, Finland, France |
Every feature Battleships tracks (43)
| Feature | Blaxel | Upstash Box | bochka |
|---|---|---|---|
| Full VM (own kernel) | Yes | No | Yes |
| Docker inside | Yes | No | Yes |
| Nested virtualization | No | No | Yes |
| Root | Yes | Not published | Yes |
| Systemd | No | Not published | Yes |
| Desktop GUI | Yes | No | Yes |
| Browser | Yes | Yes | Yes |
| Computer-use API | Yes | No | Yes |
| SSH | No | Yes | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | Yes | Yes | Yes |
| Automatic snapshots | Yes | No | Yes |
| Fork/clone | Yes | Yes | Yes |
| Live fork (no pause) | Yes | Yes | Yes |
| Memory fork | Yes | No | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | Yes | Yes | Yes |
| Idle auto-stop | Yes | Yes | No |
| Wake on request | Yes | Yes | No |
| HTTPS preview URLs | Yes | Yes | Yes |
| Raw TCP inbound | No | No | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | Yes | Yes | No |
| Secret proxy | Yes | Yes | Yes |
| Secret proxy for any API | Yes | Yes | Yes |
| Preinstalled agents | Yes | Yes | Yes |
| Agent harness API | No | Yes | Yes |
| MCP server | Yes | Yes | No |
| GPU | No | No | No |
| Windows | No | No | No |
| Arm64 | No | Yes | No |
| Self-hosting | No | No | No |
| BYOC | Yes | No | No |
| Open source | No | No | No |
| Scoped API keys | Yes | Not published | Yes |
| Spend limits | No | Not published | Yes |
| Usage per sandbox (API) | Yes | Yes | Yes |
| Audit logs | Not published | Not published | No |
| SSO | Yes | No | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | Yes | No | No |
| EU data residency | Yes | No | Yes |
| Zero data retention | Yes | Not published | Yes |
Performance
On the hpc-sandbox-benchmarks Node.js build-and-test loop at 4 vCPU / 8 GB, run on September 29, 2026, bochka did 26.69 runs per second and Blaxel 19.48, so bochka got through about 1.4 times the work. Upstash Box has no result in that test, so there is no comparable measurement for it. Higher is better.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Blaxel measured on: Sandbox (active time, RAM-only pricing, CPU bundled). Upstash Box 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.
| Scenario | Blaxel, a month | Upstash Box, 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 | $33 · Pay-as-you-go Tier 1 | $21 · Pay as You Go | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $120 · Pay-as-you-go Tier 1 | $21 · Pay as You Go | $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,489 · Pay-as-you-go Tier 1 | $900 · Pay as You Go · 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 | $396 · Pay-as-you-go Tier 2 · with limits | $306 · Pay as You Go | $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 | $876 · Pay-as-you-go Tier 2 · with limits | $1,822 · Pay as You Go | $2,000 · $2000/mo · with limits |
Blaxel: Blaxel charges for allocated RAM per second while a sandbox has an open connection, with CPU included (8 GB comes with 4 cores). In standby you pay only snapshot storage, and volumes are billed on their full size.
Upstash Box: Upstash bills the CPU a box actually uses, at $0.10, $0.20 or $0.40 per active CPU hour for Small, Medium and Large, plus $0.10 per GB-month of storage, and RAM is free. A keep-alive box costs a flat $8, $16 or $32 a month.
Upstash Box: Plans start at $20 a month, and the whole fee is usage credit billed per second while a machine runs. A stopped sandbox costs nothing and keeps its disk.
Limits in those scenarios
Blaxel's self-serve tiers allow 10, 50 or 200 sandboxes at once, standby ones included, so the 300-user and 1,000-job scenarios need a sales tier, and Tiers 0 and 1 delete sandboxes after 7 or 30 days. Upstash runs 1,000 boxes at once but has no Docker inside, so the 50-agent scenario does not fit there, and its egress price is not published. bochka limits how many machines start per minute, so 1,000 jobs at the same moment get queued.
| Scenario | Blaxel | Upstash Box | bochka |
|---|---|---|---|
| One coding agent, workdays | None that bite |
| None that bite |
| One agent that never stops | None that bite |
| None that bite |
| 50 agents in parallel | None that bite |
| None that bite |
| Sandboxes for your users |
|
| None that bite |
| 1,000 short jobs at once |
|
|
|
Which one should you use?
Use Blaxel when
your sandboxes sit idle most of the time and must wake in milliseconds with their memory, need Docker inside, or must run in the US or Europe.
- Wakes in milliseconds with memory. For sandboxes that sit idle, Blaxel sleeps seconds after the last connection and wakes in under 25 ms with processes still running.
- Docker inside a real kernel. Each sandbox is a microVM with its own kernel, so Docker runs inside, which an Upstash box does not offer.
- US and Europe. Blaxel runs in Oregon, North Virginia, London and Frankfurt, while Upstash Box runs only in AWS us-east-1.
Use Upstash Box when
your agents mostly wait, you want to pay only for CPU used, you need up to 1,000 boxes at once, and a container without Docker is enough.
- Pay only for CPU used. For agents that wait a lot, an idle Upstash box costs no CPU and RAM is never billed.
- 1,000 boxes at once. Pay as You Go allows 1,000 boxes at once by default, where Blaxel's public tiers stop at 200.
- Agents with an API built in. Claude Code, Codex and OpenCode come built in, with run and stream APIs, webhooks and scheduled prompts.
Where bochka fits
Both Blaxel and Upstash Box are built around sandboxes that sleep most of the time. If your agents work for hours on builds, tests, Docker and emulators, bochka gives each one a whole Linux machine with a real disk that stays. It also measured the fastest CPU of the three on our benchmark.
A whole machine with /dev/kvm
Neither Blaxel's Firecracker guests nor Upstash's containers get /dev/kvm, so an Android emulator or a nested VM does not start. Upstash also has no Docker inside, so the 50-agent scenario does not fit there.
A disk that stays, and room to grow
Blaxel keeps files in memory, about half the RAM, unless you attach a volume at creation. Upstash stops at 20 GB. bochka gives 50 GB at 4 vCPU / 8 GB, saved every minute, and stops cost nothing.
A faster CPU and a desktop to watch
bochka ran 26.69 runs per second against Blaxel's 19.48 on the same test, so builds wait less. Upstash has only a headless browser, while bochka streams a 60fps desktop you can embed.
Use bochka when your agents do real work for hours: builds, tests, Docker and emulators on a whole Linux machine with a real disk, a faster CPU, a 60fps desktop and agents built in. Compare it one to one: bochka vs Blaxel and bochka vs Upstash Box.
Questions people ask
Is Blaxel cheaper than Upstash Box?
Mostly no. For one coding agent on workdays Upstash is $21 against $33, and for one agent that never stops $21 against $120. For 1,000 short jobs at once Blaxel is cheaper, $876 against $1,822, but Blaxel's self-serve tiers cap at 200 at once, so that scenario needs a sales tier.
Which is faster, Blaxel or Upstash Box?
Blaxel did 19.48 runs per second on the hpc-sandbox-benchmarks Node.js test at 4 vCPU / 8 GB, and Upstash Box has no result there, so they cannot be compared directly. bochka did 26.69 on the same test.
Can Blaxel or Upstash Box run Docker?
Blaxel can, with its Docker-in-sandbox image. Upstash's docs do not offer Docker inside a box, since each box is itself a Docker container. bochka runs Docker and systemd in every sandbox.
Is Upstash Box a VM like Blaxel?
No. Blaxel gives each sandbox a Firecracker microVM with its own kernel, while Upstash gives each box a Docker container. bochka is a full VM with its own kernel and /dev/kvm.
Do Blaxel and Upstash Box keep memory when they sleep?
Blaxel saves memory and running processes in standby and resumes in under 25 ms. Upstash pauses an idle box and keeps its files, and a request to its URL wakes it.
Where do Blaxel and Upstash Box run?
Blaxel runs in Oregon, North Virginia, London and Frankfurt. Upstash Box runs only in AWS us-east-1. bochka runs in the EU, in Germany, Finland and France.
Try bochka
Install the CLI, then run bochka new.
Product preview