Freestyle vs Upstash Box
Freestyle gives each agent a full KVM virtual machine with Docker, systemd and a pause that keeps its memory. Upstash Box gives each agent a light Docker container that bills only the CPU it uses and wakes on the next request.
The companies and products
Freestyle
Freestyle sells full Linux virtual machines for AI agents, built for long running, complex tasks.
Each Freestyle VM is a KVM virtual machine with its own kernel, booted from an Ubuntu base snapshot with systemd, Docker and coding agent CLIs preinstalled. VMs can be paused with their memory, snapshotted while running, forked and woken by the next request, and every VM starts behind a default-deny firewall. It is built for teams that give each agent or each user its own machine, driven from a TypeScript SDK, a CLI or an API.
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. “40th cheapest of 345” means 39 of the other 344 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 | Freestyle: price rank | Upstash Box: price rank | boat: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month A software factory needs Docker for databases and test services, which Freestyle and boat run inside every machine and an Upstash box, itself a container, does not. | 241st of 367, with limits $3,311 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 | 263rd of 366, with limits $4,195 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 fit short code runs: Upstash bills no CPU while a box sits idle, and Freestyle pauses a VM with its memory and wakes it on the next request. | 40th cheapest of 345 $482 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 Both wake a user's paused machine on the next request; Upstash bills less for many short sessions, and Freestyle gives each user a full VM. | 16th cheapest of 361 $1,358 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 Freestyle can snapshot a running VM with its memory and boot copies from it, while Upstash snapshots only the files of a box. | 107th of 360, with limits $6,600 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 | 53rd cheapest of 364 $1,046 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 containers or Android apps need Docker and /dev/kvm, which Freestyle and boat have and Upstash does not, and boat did 2.8 times Freestyle's CPU work on the benchmark. | 168th of 377, with limits $625 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 A keep-alive Upstash box is a cheap, light dev box at a flat price; Freestyle and boat give a full VM with Docker and root. | 98th cheapest of 368 $151 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 Neither ships a desktop: Freestyle has guides to install one with VNC yourself, Upstash has a headless browser only, and boat streams a Linux desktop at 60fps. | 234th of 369, with limits $940 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 Upstash ships a managed headless Chromium with AI page actions; on Freestyle you install Chromium yourself, and boat has a desktop browser ready. | 257th of 367, with limits $482 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 | 278th of 346, with limits $482 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 | 183rd of 338, with limits $6,560 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 | 272nd of 360, with limits $482 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 | Freestyle | Upstash Box | boat |
|---|---|---|---|
| Isolation | Full KVM VM with its own kernel on bare metal servers | Docker container per box on AWS | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| CPU benchmark (4 vCPU / 8 GB) | 9.64 runs/s | Not measured | 26.69 runs/s |
| Root, systemd, Docker, nested virtualization | Yes; systemd is pid 1, Docker runs from boot, full KVM support | No Docker inside documented and no VM support; the box is itself a container | Yes, with /dev/kvm for Android emulators and VMs |
| Biggest machine and disk | Up to 32 vCPU / 64 GiB on Pro, 64 / 128 with custom limits; up to 256 GB disk on Pro | Large: 8 vCPU / 16 GB with a 20 GB disk | Up to 16 vCPU / 32 GB on the $100 plan and above; 50 GB disk at the default size, up to 251 GB |
| Pause and resume | Pause saves memory and disk; the same processes resume where they left off | Pauses itself when idle and keeps its files | Disk is saved every minute and on stop; resume boots the machine again |
| Wake on request | Yes; a VM paused by idle timeout resumes on the next traffic | Yes; a request to a public URL resumes a paused box | No; a stopped sandbox is started by API |
| Fork | Clone a running VM without pausing it; snapshots capture memory and disk | Snapshot a running box's files and start many new boxes from it | Fork a running sandbox with its disk |
| Desktop, browser and computer use | Guides to install GNOME or Xvfb, VNC and Chromium yourself | Managed headless Chromium with AI page actions and CDP; no desktop | Linux desktop streamed at 60fps, Chromium and computer use built in |
| Coding agents | claude, codex, opencode and openclaw preinstalled, driven through exec or a terminal | Claude Code, Codex and OpenCode built in, with run and stream APIs, webhooks and scheduled prompts | Seven agents preinstalled, with a prompt, steer and events API |
| Keeping API keys out of the sandbox | Credentials injected at the edge for HTTPS headers, Postgres and S3; the VM must trust the Freestyle CA | Host proxy injects headers into outbound HTTPS on port 443; set when the box is created | Credentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out |
| Inbound access | HTTPS on free style.dev names or your own domain, forward auth, other public protocols | HTTPS URL per port, public unless you add a token or basic auth; SSH through a gateway; no raw TCP | HTTPS URLs for up to 50 ports, token-protected by default; raw TCP |
| Outbound rules | Default-deny firewall with allow rules by IP, VM, VPC or exact domain | Allow all, deny all, or allow and deny by domain and CIDR, changeable on a running box | Open internet, no provider-side allowlist |
| Idle billing | A running VM bills its vCPU, RAM and disk, busy or idle; a paused VM bills for storage | An idle running box costs no CPU and RAM is not billed; a paused box bills for storage | A stopped sandbox costs nothing and keeps its disk |
| Regions | Not listed; the docs name a San Jose, US data center | US only (AWS us-east-1) | EU only (Germany, Finland, France), zero data retention |
Every feature Battleships tracks (43)
| Feature | Freestyle | Upstash Box | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | No | Yes |
| Docker inside | Yes | No | Yes |
| Nested virtualization | Yes | No | Yes |
| Root | Yes | Not published | Yes |
| Systemd | Yes | Not published | Yes |
| Desktop GUI | No | No | Yes |
| Browser | No | Yes | Yes |
| Computer-use API | No | No | Yes |
| SSH | Yes | 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 | Yes | 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 | No | Yes | No |
| GPU | Yes | No | No |
| Windows | No | No | No |
| Arm64 | No | Yes | No |
| Self-hosting | No | No | No |
| BYOC | No | No | No |
| Open source | No | No | No |
| Scoped API keys | Yes | Not published | Yes |
| Spend limits | Not published | Not published | Yes |
| Usage per sandbox (API) | No | Yes | Yes |
| Audit logs | Yes | Not published | No |
| SSO | Yes | No | No |
| SOC 2 | Not published | Yes | No |
| HIPAA | Not published | No | No |
| EU data residency | No | No | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
On the hpc-sandbox-benchmarks Node.js build-and-test loop at 4 vCPU / 8 GB, Freestyle did 9.64 runs per second and boat did 26.69, about 2.8 times the work in the same time. Upstash Box has no result in that test, so there is no comparable measurement for it. Freestyle advertises VM starts in about 65 ms, which this test does not measure.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. 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 | Freestyle, a month | Upstash Box, a month | boat, 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 | $27 · Free | $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 | $159 · Free | $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 | $2,139 · Pro | $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 | $581 · Pro | $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 | $1,305 · Pro · with limits | $1,822 · Pay as You Go | $2,000 · $2000/mo · with limits |
Freestyle: Freestyle bills per second for the vCPU, RAM and disk allocated to a VM, busy or idle, after monthly allowances of 200 vCPU-hours, 400 GiB-hours of RAM and 60,000 GiB-hours of storage. On Free those allowances are hard stops; Hobby and Pro set a $50 or $500 monthly minimum that counts as usage.
Upstash Box: A standard box is billed for the CPU it 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 with CPU and storage included.
Upstash Box: 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.
Limits in those scenarios
Upstash does not run Docker inside a box, so the 50-agent scenario does not fit there, disks stop at 5, 10 or 20 GB, and its egress price is not published. Freestyle Pro caps at 400 concurrent VMs, so 1,000 short jobs at once do not fit, while Upstash starts all of them. Freestyle has no idle timeout by default, so a VM bills until you pause it, and on Free the monthly allowances are hard stops. boat queues that burst too: even the $2,000 plan starts at most 90 a minute.
| Scenario | Freestyle | Upstash Box | boat |
|---|---|---|---|
| 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 |
| None that bite |
| 1,000 short jobs at once |
|
|
|
Which one should you use?
Use Freestyle when
your agents need a full VM with Docker and KVM that pauses with its memory, a default-deny firewall, or more than 8 vCPU in one machine.
- A full VM with Docker and KVM. For agents that run Docker, systemd services or emulators, which an Upstash box, itself a container, does not offer.
- Memory pause and live fork. For VMs that sleep between requests and must resume the same processes, or branch copies from one running state.
- Big machines and strict networks. Pro VMs reach 32 vCPU / 64 GiB, and every VM starts behind a default-deny firewall you open rule by rule.
Use Upstash Box when
your agents mostly wait, need no Docker, should wake on an incoming request, or must start a thousand at once in the US.
- Idle time costs no CPU. For agents that mostly wait: an idle box bills no CPU, RAM is never billed, and a request wakes it.
- Big bursts at once. Pay as You Go runs 1,000 boxes at once by default, so a burst of short jobs starts without queueing.
- Agent APIs built in. For teams that want to run Claude Code, Codex or OpenCode with stream APIs, webhooks and scheduled prompts out of the box.
Where boat fits
Look at boat when your agents do hours of real work: builds, tests, Docker, emulators and a browser they can see. It is a full VM like Freestyle's, on faster measured CPUs, with a desktop and an agent API built in, in the EU.
A full machine on fast CPUs
Upstash boxes cannot run Docker, so the 50-agent scenario does not fit there. Freestyle can, but did 9.64 runs per second on the CPU benchmark against boat's 26.69, so every build waits almost three times as long.
A desktop the agent can see
Neither ships a desktop. Upstash offers a headless browser, so desktop apps and native dialogs are out of reach, and on Freestyle you build and maintain GNOME or Xvfb, VNC and the click layer yourself.
Credentials that switch accounts
Both can inject API keys from outside the sandbox, but when an account runs out of credits the agent stops until your code swaps the key. boat's proxy switches to another account of the same type and the agent keeps going.
Use boat when your agents do real work for hours: Docker, emulators, a desktop and a browser, on fast CPUs, with an API to drive the agents inside from outside. Compare it one to one: boat vs Freestyle and boat vs Upstash Box.
Questions people ask
Is Freestyle cheaper than Upstash Box?
Usually not. For one agent that never stops it is $159 on Freestyle against $21 on Upstash, and for sandboxes for your users $581 against $306. Upstash cannot run the 50-agent scenario because it has no Docker, and only Upstash fits 1,000 short jobs at once.
Which is faster, Freestyle or Upstash Box?
Only Freestyle has a CPU result: 9.64 runs per second on the hpc-sandbox-benchmarks test at 4 vCPU / 8 GB, where boat did 26.69. Upstash Box has no result in that test. Freestyle advertises VM starts in about 65 ms.
Can Upstash Box run Docker?
Its docs do not offer it: each box is itself a Docker container, and custom images are listed as coming soon. Freestyle and boat are full VMs where Docker and systemd run as on any Linux server.
Can they pause with memory?
Freestyle can: a paused VM resumes the same processes, and it can fork a running VM with its memory. An Upstash box pauses when idle and keeps its files, not its memory. Both wake on the next request.
Do Freestyle or Upstash Box have a desktop for computer use?
No. Upstash offers a headless Chromium with AI page actions, and Freestyle has guides to install a desktop, VNC and Chromium yourself. boat streams a Linux desktop at 60fps with computer use built in.
Where do Freestyle and Upstash Box run?
Upstash Box runs in AWS us-east-1. Freestyle does not list regions, and its docs name a San Jose, US data center. boat runs in the EU, in Germany, Finland and France.
Try boat
Install the CLI, then run boat new.
7-day free trial