Upstash Box vs Agent 37

Both give each AI agent its own persistent machine in the US. Upstash Box runs a light container billed only for the CPU it uses, while Agent 37 runs a gVisor sandbox per user that can sleep with its memory kept, plus an opt-in VM type for Docker.

The companies and products

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.

Agent 37

Agent 37 hosts AI agents, one isolated, always-on sandbox per user, behind one API.

You create an instance from a template (Hermes, OpenClaw, Claude Code, Codex, OpenCode, Pi, Grok or your own Docker image) and talk to it through a chat API, files, exec, SSH and HTTPS URLs. The default instance is a container enforced by gVisor; a VM type gives a full Linux machine with its own kernel for Docker, Kubernetes and Android emulators. It is built for companies that give each of their customers an agent.

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 345” means 9 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 workloadUpstash Box: price rankAgent 37: price rankboat: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
A software factory needs Docker, which an Upstash container does not offer and Agent 37 runs only on its VM type at 2.5 times the compute rate; boat runs it in every sandbox.
61st of 367, with limits
$464 a month
2nd cheapest of 367
$551 a month
3rd cheapest of 367
$634 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
Agent 37 is built for this: one always-on assistant per user that sleeps when idle, keeps its memory and wakes on the next message; Upstash keeps a light container on instead.
103rd of 366, with limits
$475 a month
Cheapest of 366
$279 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 well: Upstash bills only the CPU a box uses, and Agent 37's small default sandboxes cost very little per minute.
10th cheapest of 345
$119 a month
Cheapest of 345
$22 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 and wakes a user's box on the next request, while Agent 37's self-serve tiers stop at 200 instances, counting sleeping ones.
2nd cheapest of 361
$222 a month
30th of 361, with limits
$79 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
352nd of 360, with limits
$8,068 a month
6th of 360, with limits
$363 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
52nd cheapest of 364
$1,011 a month
90th of 364, with limits
$58 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 need Docker, which rules out an Upstash box and Agent 37's default type; boat has Docker and /dev/kvm in every sandbox.
120th cheapest of 377
$1,520 a month
2nd cheapest of 377
$84 a month
4th cheapest of 377
$86 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
Both keep a cheap machine around the clock; Agent 37 costs less to keep idle, and Upstash sells a flat-price keep-alive box.
10th cheapest of 368
$20 a month
3rd cheapest of 368
$12 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
Upstash has only a headless browser with no desktop, Agent 37 adds a noVNC desktop through a template, and boat streams a 60fps desktop out of the box.
73rd of 369, with limits
$76 a month
Cheapest of 369
$53 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
49th of 367, with limits
$38 a month
48th of 367, with limits
$29 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
37th cheapest of 346
$400 a month
Cheapest of 346
$32 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
200th of 338, with limits
$8,000 a month
36th of 338, with limits
$648 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
Upstash can snapshot a running box and start many copies from it, Agent 37 has no fork, and boat forks a running sandbox directly.
225th of 360, with limits
$259 a month
Cheapest of 360
$43 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

FeatureUpstash BoxAgent 37boat
IsolationOne Docker container per box on AWSgVisor sandbox by default; full VM as an opt-in instance typeEvery sandbox is a full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts
Docker insideNot offered; the box is itself a container and custom images are listed as coming soonOnly on the VM type, at 2.5x the default compute rateYes, Docker and systemd in every sandbox
Nested virtualizationNo VM support documented/dev/kvm on the VM type, with a ready Android template/dev/kvm in every sandbox, Android emulator works
Biggest machine and diskLarge: 8 vCPU / 16 GB with a 20 GB disk; 10 GB at 4 vCPUUp to 16 vCPU / 32 GB; at most 20 GB disk at 4 vCPU / 8 GBUp to 16 vCPU / 32 GB on the $100 plan and above; 50 GB disk at 4 vCPU / 8 GB
Idle behaviorIdle CPU costs nothing; the box pauses after an idle timeout and keeps its filesOpt-in auto-sleep after a quiet period (default 15 minutes), with memory checkpointedNo idle timer; a time limit you set, or none; disk kept and a stopped sandbox costs nothing
Wake on requestYes; a request to a public URL resumes a paused boxYes; a sleeping instance wakes on the next requestNo; a stopped sandbox is started by API
ForkSnapshot a running box and start many new boxes from itNo fork; daily backups plus one on-demand backup, restored in place onlyFork a running sandbox with its disk; snapshots every minute
Custom imagesNot yet; environments are reused through filesystem snapshotsYour own linux/amd64 Docker image as a templateTemplates from named snapshots, no Dockerfile builds
Desktop and browserManaged headless Chromium with AI page actions and CDP; no desktopnoVNC desktop through a template build or the Ubuntu VM templateLinux desktop streamed at 60fps with Chromium and computer-use tools
Built-in agentsClaude Code, Codex and OpenCode, with run and stream APIs, webhooks and scheduled promptsHermes, OpenClaw, Claude Code, Codex, Grok, OpenCode and Pi, with a chat API per instanceClaude Code, Codex, pi, OpenCode and more, with a prompt, steer and events API
Keys kept out of the sandboxHost proxy adds headers to outbound HTTPS on port 443, set when the box is createdManaged LLM, search and Composio through a per-instance token; your own keys go in as env varsProxy for model providers and any HTTPS API; switch a credential to another account when credits run out
Outbound rulesAllow or deny by domain and CIDR, changeable on a running boxOpen internet, no allowlist documentedOpen internet, no provider-side allowlist
Inbound accessHTTPS URL per port, SSH through a gateway; no raw TCPHTTPS URL per port, signed URLs, custom domains; SSH through a WebSocket tunnel; no public IPHTTPS URLs for up to 50 ports, token-protected by default; raw TCP
RegionsAWS us-east-1 onlyDedicated servers in the United StatesEU only (Germany, Finland, France), EU data residency
Every feature Battleships tracks (43)
FeatureUpstash BoxAgent 37boat
Full VM (own kernel)NoNoYes
Docker insideNoNoYes
Nested virtualizationNoNoYes
RootNot publishedYesYes
SystemdNot publishedNot publishedYes
Desktop GUINoYesYes
BrowserYesYesYes
Computer-use APINoYesYes
SSHYesYesYes
Persistent diskYesYesYes
Pause/resumeYesYesYes
Automatic snapshotsNoYesYes
Fork/cloneYesYesYes
Live fork (no pause)YesYesYes
Memory forkNoNoNo
Custom image (Docker or snapshot)YesYesYes
≥24 h sessionsYesYesYes
Idle auto-stopYesYesNo
Wake on requestYesYesNo
HTTPS preview URLsYesYesYes
Raw TCP inboundNoNot publishedYes
Public IPv4NoNoNo
Egress allowlistYesNoNo
Secret proxyYesYesYes
Secret proxy for any APIYesNoYes
Preinstalled agentsYesYesYes
Agent harness APIYesYesYes
MCP serverYesNoNo
GPUNoNoNo
WindowsNoNoNo
Arm64YesNoNo
Self-hostingNoNoNo
BYOCNoNoNo
Open sourceNoNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsNot publishedYesYes
Usage per sandbox (API)YesYesYes
Audit logsNot publishedNot publishedNo
SSONoNoNo
SOC 2YesYesNo
HIPAANoNoNo
EU data residencyNoNoYes
Zero data retentionNot publishedNot publishedYes

Performance

Upstash BoxNot measured
Agent 37Not measured
boat26.69 runs/s

Neither Upstash Box nor Agent 37 has a result on the hpc-sandbox-benchmarks Node.js build-and-test loop, so there is no comparable measurement between them. boat did 26.69 runs per second on that test at 4 vCPU / 8 GB, on dedicated AMD Ryzen 9 9950X hosts. Agent 37 says its default instances share host resources and sells a Performance type on dedicated cores.

Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Upstash Box and Agent 37 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.

ScenarioUpstash Box, a monthAgent 37, a monthboat, 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
$21 · Pay as You Go$6 · Wallet (any top-up)$20 · $20/mo
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$21 · Pay as You Go$12 · Wallet (any top-up)$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
$900 · Pay as You Go · with limits$329 · Wallet ($100 lifetime top-ups)$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
$306 · Pay as You Go$33 · Wallet ($250 lifetime top-ups) · 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,822 · Pay as You Go$73 · Wallet ($250 lifetime top-ups) · with limits$2,000 · $2000/mo · with limits

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.

Agent 37: A prepaid wallet with no plan fee, metered per minute: $0.80 per vCPU and $0.70 per GB of RAM per month while running, and $0.09 per GB of disk per month even while asleep. Performance compute costs 4x and VM compute 2.5x the default rate.

Agent 37: 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 cannot run Docker inside a box, so the 50-agent scenario does not fit there, and its disks stop at 5, 10 or 20 GB by size. Agent 37 holds at most 200 instances on its top self-serve tier, counting sleeping and stopped ones, so the 300-at-once user sandboxes and the 1,000-job burst do not fit; Upstash runs both. Neither publishes an egress price. boat queues the 1,000-job burst because it caps how fast sandboxes start.

ScenarioUpstash BoxAgent 37boat
One coding agent, workdays
  • flat pool: the tier is billed whether used or not
  • egress price not published
  • egress price not published
None that bite
One agent that never stops
  • flat pool: the tier is billed whether used or not
  • egress price not published
  • egress price not published
None that bite
50 agents in parallel
  • missing Docker inside
  • flat pool: the tier is billed whether used or not
  • egress price not published
  • egress price not published
None that bite
Sandboxes for your users
  • egress price not published
  • max 200 concurrent
  • egress price not published
None that bite
1,000 short jobs at once
  • egress price not published
  • max 200 concurrent
  • shared vCPUs on this tier: heavy, sustained CPU use can be slowed by other tenants
  • 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 Upstash Box when

your agents mostly wait, should wake on an incoming request, must stay inside an outbound allowlist, or need many light boxes at once.

  • Pay only for CPU you use. For agents that wait a lot: an idle box costs no CPU, RAM is never billed, and a request wakes it.
  • Big bursts by default. Pay as You Go runs 1,000 boxes at once, so short jobs and per-user sandboxes start without queueing.
  • Outbound allowlists. Useful when an agent may only reach a short list of domains or IP ranges, changeable on a running box.

Use Agent 37 when

you host one mostly idle assistant per customer that should sleep with its memory kept, and some of them need a VM or your own Docker image.

  • Sleeps with its memory kept. For one assistant per customer: an instance sleeps when idle, saves its memory and wakes on the next message.
  • A VM type when you need one. When some agents need Docker or an Android emulator, the VM type gives a full kernel and /dev/kvm.
  • Your own image, dedicated cores. Build templates from your own Docker image, and pick the Performance type on dedicated cores for steady speed.

Where boat fits

Upstash Box and Agent 37 are both built around agents that sit idle and wake up cheaply. If your agents spend their hours installing, building, testing and running Docker, look at boat: every sandbox is a full VM, it can be forked while it runs, and keys stay outside for any API.

Docker and systemd in every sandbox

An Upstash box is itself a container, so an agent cannot start a database in Docker there. On Agent 37 Docker needs the VM type, which costs 2.5 times the compute rate and has no init system.

Fork a running machine

Agent 37 has no fork, so every new try rebuilds its state from scratch. Upstash can copy a running box through a snapshot; boat forks the running sandbox directly and saves its disk every minute.

A desktop and room to work

Upstash has no desktop and a 10 GB disk at 4 vCPU, and Agent 37 needs a template build for a noVNC desktop. boat streams a 60fps desktop with a 50 GB disk at that size.

Use boat when your agents do real work for hours: Docker, emulators and a desktop on a full VM, with forks of running machines and keys kept outside for any API. Compare it one to one: boat vs Upstash Box and boat vs Agent 37.

Questions people ask

Is Upstash Box cheaper than Agent 37?

Mostly no. Agent 37 costs less for one coding agent on workdays, $6 against $21 a month, and for one agent that never stops, $12 against $21. Upstash fits the 300-at-once user sandboxes and the 1,000-job burst, which go past Agent 37's 200-instance cap.

Which is faster, Upstash Box or Agent 37?

There is no comparable measurement: neither has a result on the hpc-sandbox-benchmarks CPU test. boat did 26.69 runs per second there. Agent 37 sells a Performance type on dedicated cores for steady speed.

Can Upstash Box or Agent 37 run Docker?

Upstash Box does not offer Docker inside a box, which is itself a container. Agent 37 runs Docker only on its VM type, at 2.5 times the default compute rate. On boat, Docker works in every sandbox.

Which one keeps an idle agent cheapest?

Both are built for it. Upstash bills no CPU while a box is idle and never bills RAM, and Agent 37 can sleep an instance, keep its memory and bill only its disk. boat stops a sandbox at a time limit you set, and a stopped sandbox costs nothing.

Where do Upstash Box and Agent 37 run?

Upstash Box runs in AWS us-east-1, and Agent 37 runs on dedicated servers in the United States. boat runs only in the EU, in Germany, Finland and France.

Is boat SOC 2 compliant?

SOC 2 is in progress. We're open about where we stand: live status at status.ascii.dev and our data retention policy at docs.boat.dev/data-retention.

Try boat

Install the CLI, then run boat new.

7-day free trial

More comparisons