Koyeb vs Upstash Box
Koyeb runs each sandbox as a microVM from any Docker image, on CPU or GPU, in the EU, US and Asia. Upstash Box gives each agent a light Docker container with a coding agent built in, billed only for the CPU it uses, in one US region.
The companies and products
Koyeb
Koyeb is a serverless cloud for apps, inference and sandboxes, and in February 2026 it agreed to join Mistral AI.
A Koyeb sandbox is a Koyeb service: a microVM started from any Docker image and driven from Python or JavaScript SDKs that run commands, read files and expose a port. It can scale to zero when idle and wake on the next request, and it can run on CPU or GPU instance types. It is built for teams that run AI agents or untrusted code next to apps they already host on Koyeb.
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. “4th cheapest of 345” means 3 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 | Koyeb: 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 and a disk that lasts; an Upstash box cannot run Docker inside, Koyeb loses its local disk on redeploy, and boat keeps a 50 GB disk with Docker inside. | 54th of 367, with limits $366 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 An assistant that stays on all month is cheaper as a flat Upstash keep-alive box than as a running Koyeb instance, and boat gives it a full machine with systemd and a desktop. | 135th of 366, with limits $923 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 well: Koyeb scales to zero and wakes on the next request, and an idle Upstash box costs no CPU. | 4th cheapest of 345 $66 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 All three fit; Upstash and boat cost less here than Koyeb, while Koyeb can place user sandboxes in the US, EU or Asia. | 6th cheapest of 361 $495 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 | 237th of 360, with limits $1,631 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 | 19th cheapest of 364 $429 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 that builds containers or Android apps needs Docker and /dev/kvm; Upstash has neither, Koyeb does not document /dev/kvm, and boat has both. | 142nd of 377, with limits $88 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 flat-price Upstash keep-alive box makes a cheap light dev box, while boat's is a full VM with Docker, root and a bigger disk. | 217th of 368, with limits $37 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 Computer-use agents need a screen; neither Koyeb nor Upstash has a desktop, and boat streams a Linux desktop at 60fps. | 81st of 369, with limits $123 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 | 172nd of 367, with limits $123 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 | 172nd of 346, with limits $89 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 | 65th of 338, with limits $1,683 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 | 233rd of 360, with limits $299 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 Only Koyeb runs GPU instances, from RTX 4000 cards up to H100 and H200; Upstash Box and boat are CPU only. | 3rd cheapest of 98 $628 a month | 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 | Koyeb | Upstash Box | boat |
|---|---|---|---|
| Isolation | MicroVM per instance | Docker container per box on AWS | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Docker inside | Starts from any Docker image; the 50-agent scenario with Docker inside fits | Not documented; the box is itself a Docker container, and custom images are listed as coming soon | Yes, Docker and systemd run as on any Linux server |
| Nested virtualization | Not documented | No; boxes are containers with no VM support documented | Yes, /dev/kvm for Android emulators and VMs |
| Biggest machine | Instance types up to 40 vCPU / 128 GB, and GPU types far larger | Large: 8 vCPU / 16 GB | Up to 16 vCPU / 32 GB on the $100 plan and above |
| Disk that survives | Local disk is lost on redeploy; volumes (preview, 1 to 10 GB, Frankfurt and Washington) persist | Keeps its files when paused; 5, 10 or 20 GB by size, billed per GB-month | 50 GB at the default 4 vCPU / 8 GB size, kept across stops and saved every minute |
| Sleep and wake | Scales to zero after an idle period (5 minutes minimum) and wakes on the next request; Light Sleep wakes in about 200 ms | Pauses itself when idle and keeps its files; a request to a public URL resumes it | Stop and start by API; a stopped sandbox costs nothing and keeps its disk |
| Snapshots and fork | SDK snapshots of the filesystem, or with running processes, then new sandboxes from a snapshot (experimental) | Snapshot a running box and start many new boxes from it | Fork a running sandbox with its disk |
| Desktop and browser | No desktop or browser in the sandbox SDK | Managed headless Chromium with AI page actions and CDP; no desktop | 60fps Linux desktop with Chromium and computer use |
| Inbound access | One exposed HTTPS port at a time, plus an optional TCP proxy to one port; no dedicated IP | 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; dedicated IPv4 or IPv6 |
| Outbound rules | Block all outbound traffic, or allow only listed IPs and CIDRs | Allow all, deny all, or allow and deny by domain and CIDR, changeable on a running box | Open internet, no provider-side allowlist |
| Coding agents | Tutorials that run agents through the command API; an MCP server lets agents manage Koyeb | Claude Code, Codex and OpenCode built in, with run and stream APIs, webhooks and scheduled prompts | Seven agents preinstalled, including Claude Code and Codex, with a prompt, steer and events API |
| Keeping API keys out of the sandbox | Secrets are set as environment variables inside the service | 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 |
| GPUs | RTX 4000 SFF Ada up to H100, H200 and multi-GPU | No | No |
| Regions | EU, US and Asia | US only (AWS us-east-1) | EU only (Germany, Finland, France) |
Every feature Battleships tracks (43)
| Feature | Koyeb | Upstash Box | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | No | Yes |
| Docker inside | Yes | No | Yes |
| Nested virtualization | No | No | Yes |
| Root | Not published | Not published | Yes |
| Systemd | Not published | Not published | Yes |
| Desktop GUI | No | No | Yes |
| Browser | No | Yes | Yes |
| Computer-use API | No | 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) | Not published | 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 | No | Yes | Yes |
| Secret proxy for any API | No | Yes | Yes |
| Preinstalled agents | Yes | Yes | Yes |
| Agent harness API | No | Yes | Yes |
| MCP server | Yes | Yes | No |
| GPU | Yes | No | No |
| Windows | No | No | No |
| Arm64 | No | Yes | No |
| Self-hosting | Yes | No | No |
| BYOC | Yes | No | No |
| Open source | No | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | No | Not published | Yes |
| Usage per sandbox (API) | No | Yes | Yes |
| Audit logs | Yes | Not published | No |
| SSO | Yes | No | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | No | No | No |
| EU data residency | Yes | No | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
There is no comparable measurement for Koyeb or Upstash Box: neither was part of the hpc-sandbox-benchmarks CPU run. boat did 26.69 runs per second on that Node.js build-and-test loop at 4 vCPU / 8 GB, on dedicated AMD Ryzen 9 9950X hosts. Koyeb publishes a CPU share of at least 0.25 dedicated vCPU per GB of memory, bursting to all cores.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Koyeb and Upstash Box 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.
| Scenario | Koyeb, 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 | $29 · Pro | $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 | $57 · Pro | $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 | $475 · 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 | $329 · Scale | $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 | $485 · Scale · with limits | $1,822 · Pay as You Go | $2,000 · $2000/mo · with limits |
Koyeb: Koyeb bills each instance per second from the moment it starts, at a fixed price per instance type, and Deep Sleep costs nothing. Pro costs $29 a month with $10 of usage included and Scale $299 a month with $100 included; the rest of the fee is not credit.
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 whether it is busy or not.
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
Koyeb's priced eco-xlarge shape has a 20 GiB disk with no published price for more, and eco instances guarantee only half of each vCPU, so 1,000 short jobs at once do not fit as priced. Upstash cannot run Docker inside a box, so the 50-agent scenario does not fit there, and its egress price is not published. boat's limit is start rate: even its $2,000 plan queues starts above 90 a minute, so the burst does not fit either.
| Scenario | Koyeb | Upstash Box | boat |
|---|---|---|---|
| One coding agent, workdays |
|
| None that bite |
| One agent that never stops |
|
| 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 Koyeb when
your sandboxes need GPUs, more than 8 vCPU, a microVM per instance, or have to run in the US or Asia.
- GPUs in the same platform. Useful when an agent or eval needs a GPU: Koyeb runs instances from RTX 4000 cards up to H100 and H200.
- Bigger machines in more places. Good when one sandbox needs more than 8 vCPU, or must run in the EU, US or Asia.
- A microVM that starts from any image. Fits teams that want each sandbox in its own microVM, started from their own Docker image.
Use Upstash Box when
your agents mostly wait, want a coding agent ready in a light container, and can run in the US without Docker inside.
- Idle costs no CPU. Good for agents that wait a lot: Upstash bills only the CPU a box uses, and RAM is free.
- Coding agents built in. Useful when you want Claude Code, Codex or OpenCode ready in each box, with webhooks and scheduled prompts.
- Outbound rules by domain. Fits agents that may only reach a short list of domains, a rule Koyeb can set only by IP.
Where boat fits
If your agents do real work for hours, such as builds, Docker, emulators or a browser they can see, both Koyeb and Upstash Box leave gaps. boat gives each agent a full VM that keeps its disk, with a desktop, hosting and agents built in.
Docker and /dev/kvm on a real VM
An Upstash box is a container that cannot run Docker inside, so the 50-agent scenario does not fit there. Neither Koyeb nor Upstash documents /dev/kvm, so Android emulators and nested VMs must run elsewhere.
A disk that stays and has room
Koyeb loses its local disk on redeploy unless you add a preview volume of 1 to 10 GB. Upstash stops at 10 GB on its 4 vCPU size. boat keeps 50 GB, saved every minute.
A desktop and many ports
Neither has a desktop, so computer-use agents have nothing to look at. Koyeb exposes one HTTPS port at a time and Upstash has no raw TCP; boat streams a 60fps desktop and serves up to 50 HTTPS ports.
Use boat when your agents need a real machine for hours: Docker, emulators, a desktop browser, a big disk that stays and preview servers, with agents and keys handled for you. Compare it one to one: boat vs Koyeb and boat vs Upstash Box.
Questions people ask
Is Koyeb cheaper than Upstash Box?
Usually not. Upstash costs less for one agent that never stops ($21 against $57 a month) and for sandboxes for your users ($306 against $329). For 50 agents in parallel Koyeb fits at $475 a month, while Upstash cannot run Docker inside.
Which is faster, Koyeb or Upstash Box?
Neither has a result in the hpc-sandbox-benchmarks CPU test, so there is no fair speed comparison. boat did 26.69 runs per second on that test at 4 vCPU / 8 GB.
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. Koyeb starts each sandbox from a Docker image in a microVM, and boat runs Docker and systemd inside a full VM.
Do Koyeb and Upstash Box keep files between sessions?
Upstash keeps a paused box's files and bills storage per GB-month. Koyeb loses its local disk on redeploy, so lasting files need a volume (in preview) or an SDK snapshot. boat keeps the disk across stops and saves it every minute.
Which has GPUs?
Only Koyeb. It runs instances from an RTX 4000 SFF Ada up to H100 and H200, billed per second. Upstash Box and boat are CPU only.
Where do Koyeb and Upstash Box run?
Koyeb runs in Frankfurt, Paris, Washington D.C., Singapore, Tokyo and more. Upstash Box runs in AWS us-east-1 only, with more regions planned. boat runs in the EU, in Germany, Finland and France.
Try boat
Install the CLI, then run boat new.
7-day free trial