Sprites vs Agent 37

Sprites and Agent 37 both give each agent a persistent machine that sleeps when idle and wakes on the next request. Sprites is a fixed 8 vCPU Firecracker microVM billed on the CPU it really uses, while Agent 37 is a gVisor sandbox you size yourself, billed per minute for what you reserve, with a full VM type as an option.

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.

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. “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 rankAgent 37: price rankboat: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
Sprites runs Docker in every machine with some rough edges, while Agent 37 needs its VM type for Docker; boat adds systemd, /dev/kvm and many public ports on every sandbox.
66th of 367, with limits
$546 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 one always-on assistant per user that sleeps with its memory kept; a Sprite drops open connections on every pause unless a task holds it awake.
157th of 366, with limits
$1,166 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 suit short code runs: Sprites bills only the CPU it really uses, and Agent 37's small default sandboxes cost very little per minute.
93rd of 345, with limits
$140 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
Agent 37 caps self-serve at 200 instances, counting sleeping ones, and Sprites does not publish a pay as you go cap; boat plans run up to 2,000 at once.
56th of 361, with limits
$428 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
105th of 360, with limits
$6,540 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
125th of 364, with limits
$545 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 that needs Docker works on a Sprite and on Agent 37's VM type; Android builds need /dev/kvm, which Agent 37's VM type and boat have.
63rd cheapest of 377
$476 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
Agent 37 has SSH through a tunnel and Sprites tunnels SSH through its CLI; boat gives a dev box direct SSH, systemd and raw TCP.
213th of 368, with limits
$27 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
Sprites is headless, Agent 37 adds a noVNC desktop through a template, and boat streams a 60fps desktop with Chromium in every sandbox.
85th of 369, with limits
$136 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
171st of 367, with limits
$122 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
229th of 346, with limits
$206 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
141st of 338, with limits
$4,113 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
Neither Sprites nor Agent 37 can fork a machine; boat can copy a running sandbox to try many attack paths from one state.
210th of 360, with limits
$223 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

FeatureSpritesAgent 37boat
IsolationFirecracker microVM with its own kernelgVisor sandbox by default; full VM as an opt-in typeFull VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts
Machine sizeFixed 8 vCPU and 100 GB disk; memory managed by the platformYou pick a shape, from 2 vCPU / 4 GB up to 16 vCPU / 32 GBYou choose; up to 16 vCPU / 32 GB on the $100 plan and above
Docker insideYes, with rough edges users report for non-root containersOnly on the VM type, at 2.5x the default compute rateYes, in every sandbox
systemd and /dev/kvmNo systemd; /dev/kvm not in the docsNo init system, even on the VM type; /dev/kvm on the VM typesystemd and /dev/kvm in every sandbox
Sleep when idlePauses about 30 seconds after work stops, wakes in 100 to 500 ms with memoryOpt-in auto-sleep (default 15 minutes), memory checkpointed, wakes in a few secondsNo idle timer; runs until you stop it or its time limit ends, and a stopped sandbox costs nothing
Billing basisCPU time and memory actually used while awakeReserved vCPU and RAM per minute while running, disk even while asleepPer second for the size you pick while running; the plan fee is all usage credit
Fork and snapshotsFilesystem checkpoints, restored in place; no forkDaily backups plus one on-demand backup, restored in place; no forkFork a running sandbox; disk saved every minute; named snapshots as templates
Custom imagesOne managed Ubuntu image; you install on topYour own linux/amd64 Docker image as a templateTemplates from named snapshots, no Dockerfile builds
Reaching the machineOne HTTPS URL to one HTTP port; other ports and SSH through the sprite proxy CLIHTTPS URL per port, custom domains; SSH through a WebSocket tunnel; no public IPHTTPS URLs for up to 50 ports, raw TCP, dedicated IPv4 or IPv6, SSH
Outbound rulesOptional DNS-based domain allowlist; private IPs always blockedNo provider-side allowlistOpen internet, no provider-side allowlist
Keys kept out of the sandboxConnectors hold tokens for any HTTP API, with path allow and block listsManaged LLM, search and Composio; your own keys go in as env varsCredentials proxy for model providers and any HTTPS API; switch to another account when credits run out
Coding agentsClaude Code, Codex, Gemini CLI and Cursor preinstalled, run through execTemplates for Hermes, OpenClaw, Claude Code, Codex and more, with a chat API per instanceSeven agents preinstalled, with a prompt, steer and events API to drive them from outside
Desktop and browserHeadless; no desktop or browser productnoVNC desktop through a template build60fps desktop with Chromium and computer use, embeddable stream
RegionsNot selectableUnited StatesEU only (Germany, Finland, France), with EU data residency
Every feature Battleships tracks (43)
FeatureSpritesAgent 37boat
Full VM (own kernel)YesNoYes
Docker insideYesNoYes
Nested virtualizationNoNoYes
RootYesYesYes
SystemdNoNot publishedYes
Desktop GUINoYesYes
BrowserNoYesYes
Computer-use APINoYesYes
SSHNoYesYes
Persistent diskYesYesYes
Pause/resumeYesYesYes
Automatic snapshotsYesYesYes
Fork/cloneNoYesYes
Live fork (no pause)NoYesYes
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 APINoYesYes
MCP serverYesNoNo
GPUNoNoNo
WindowsNoNoNo
Arm64NoNoNo
Self-hostingNoNoNo
BYOCNoNoNo
Open sourceNoNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsNot publishedYesYes
Usage per sandbox (API)NoYesYes
Audit logsNot publishedNot publishedNo
SSOYesNoNo
SOC 2YesYesNo
HIPAAYesNoNo
EU data residencyNoNoYes
Zero data retentionNot publishedNot publishedYes

Performance

SpritesNot measured
Agent 37Not measured
boat26.69 runs/s

Neither Sprites nor Agent 37 has a result on the hpc-sandbox-benchmarks Node.js build-and-test test we use, so there is no comparable measurement between them. boat did 26.69 runs per second on that test at 4 vCPU / 8 GB. Agent 37's default instances share host resources, and its Performance type runs 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. Sprites 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.

ScenarioSprites, 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
$23 · 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
$92 · 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
$1,120 · Pay-as-you-go$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
$314 · Pay-as-you-go · with limits$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,134 · Pay-as-you-go · with limits$73 · Wallet ($250 lifetime top-ups) · 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 awake, plus storage on the bytes you write. Optional plans add fixed resource allowances that are not credit.

Agent 37: Agent 37 uses 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.

Agent 37: Plans start at $20 a month, all of it usage credit, billed per second for the size you pick while a sandbox runs. A stopped sandbox costs nothing and keeps its disk.

Limits in those scenarios

Sprites does not publish how many machines run at once on pay as you go, so 300 sandboxes for your users and 1,000 jobs at once are not confirmed, and an always-on agent needs a task hold renewed every hour. Agent 37 caps instances at 200 on its top self-serve tier, counting sleeping and stopped ones, so neither the 300 nor the 1,000 scenario fits; 50 agents in parallel need Docker and are priced on its VM type. boat has no session cap on paid plans, but at 1,000 short jobs at once its start limits stop it too.

ScenarioSpritesAgent 37boat
One coding agent, workdaysNone that bite
  • egress price not published
None that bite
One agent that never stopsNone that bite
  • 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)
  • egress price not published
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)
  • max 200 concurrent
  • 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)
  • 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 Sprites when

your agents sit idle most of the day, should bill only for CPU they really use, and need a domain allowlist on outbound traffic.

  • Bills only what it really uses. For agents that idle between bursts, a Sprite bills measured CPU time and memory, and wakes in under a second.
  • Egress allowlist and API connectors. For teams that want to fence an agent in, Sprites limits outbound domains and which API paths a stored token can call.
  • Docker in every machine. Each Sprite can run Docker without picking a special type, and plugs into Claude Managed Agents and Cursor Cloud Agents.

Use Agent 37 when

you host one mostly idle assistant per customer in the US, want your own Docker image, and want the lowest bill for sleeping machines.

  • Built for one assistant per customer. For products that give each user an agent, Agent 37 sleeps an instance with its memory kept and wakes it on the next message.
  • Your own image, your own size. Agent 37 builds templates from your Docker image, lets you pick the shape, and sells dedicated cores on its Performance type.
  • Low reserved rates, in the US. For mostly idle machines close to US users, Agent 37's per-minute rates come out lowest in most scenarios we priced.

Where boat fits

Sprites and Agent 37 are both tuned for machines that sleep most of the day. If your agents work for hours, installing, building, running Docker and services, testing in a browser, boat gives each one a full VM that stays up, can be forked while it runs, and is driven from outside.

A full Linux server, every time

Neither runs systemd, so services need rewriting. Docker on a Sprite has capability limits, and on Agent 37 it needs the VM type at 2.5x compute. boat has systemd, Docker and /dev/kvm in every sandbox.

Fork a running machine

Both restore checkpoints or backups in place only, so trying two fixes from one half-done state means rebuilding the second machine from scratch. boat copies a running sandbox into a new one.

A screen, ports and agents you drive

A Sprite is headless with one public HTTP port, and Agent 37's desktop needs a template build. boat streams a 60fps desktop, serves 50 HTTPS ports and raw TCP, and drives agents inside from outside through one API.

Use boat when your agents work for hours on a full VM: systemd, Docker and emulators, a 60fps desktop, many ports, forks of running machines and agents you drive from outside. Compare it one to one: boat vs Sprites and boat vs Agent 37.

Questions people ask

Is Sprites cheaper than Agent 37?

No, in every scenario we priced Agent 37 comes out lower. One coding agent on workdays is $23 a month on Sprites and $6 on Agent 37, one agent that never stops is $92 versus $12, and 50 agents in parallel are $1,120 versus $329. Sprites bills real CPU use, so a mostly idle workload can cost less than these estimates.

Which is faster, Sprites or Agent 37?

There is no comparable measurement: neither is in the hpc-sandbox-benchmarks results we use. A Sprite always has 8 vCPU, while Agent 37 shares cores by default and sells dedicated cores on its Performance type. boat did 26.69 runs per second on that benchmark.

Can Sprites and Agent 37 run Docker?

Sprites runs Docker inside each machine, though users report that docker exec fails for containers whose main process is not root. Agent 37 runs Docker only on its VM type, at 2.5x the compute rate. boat runs Docker in every sandbox.

Is Sprites a VM and Agent 37 a container?

Each Sprite is a Firecracker microVM with its own kernel. Agent 37's default is a container enforced by gVisor, with a full VM type you can ask for instead. Every boat sandbox is a full VM.

Can I SSH into Sprites or Agent 37?

On Sprites you install an SSH server yourself and tunnel it through the sprite proxy CLI. Agent 37 offers SSH through a WebSocket tunnel, with no public IP. boat sandboxes have SSH, raw TCP and a dedicated IP.

Where do Sprites and Agent 37 run?

Sprites does not let you choose a region, and Agent 37 runs on dedicated servers in the United States. boat runs only in the EU, in Germany, Finland and France, with EU data residency.

Try boat

Install the CLI, then run boat new.

7-day free trial

More comparisons