Jarvislabs vs Hyperstack
Jarvislabs and Hyperstack are both GPU clouds that bill VMs by the minute from a prepaid balance. Jarvislabs runs new machines in India and pauses them cheaply, while Hyperstack runs in Norway, Canada and the US, goes up to 8-GPU B300 nodes, and bills a stopped VM in full unless you hibernate it.
The companies and products
Jarvislabs
Jarvislabs is an AI cloud from India that rents Nvidia GPUs by the minute for training and serving models.
You can rent a GPU VM with root and your own kernel, a Template (a GPU container with PyTorch, ComfyUI or similar ready, opened in JupyterLab, VS Code or SSH), a plain CPU VM, or a multi-node GPU cluster. It also serves open models through Managed Endpoints, Serverless workers and a token-priced Model API. It is built for people who train, fine-tune and serve AI models, not as a sandbox for agents, though its jl CLI is written so a coding agent on your laptop can drive the GPUs.
Hyperstack
Hyperstack is the GPU cloud of NexGen Cloud, a UK company founded in 2020: you rent GPU and CPU virtual machines, Kubernetes clusters and storage by the minute.
A Hyperstack VM is a full virtual machine with root and SSH, booted from an Ubuntu image (with or without Docker) and sized from a fixed list of flavors, from one RTX A4000 to 8-GPU B300 nodes, plus CPU-only flavors from 4 to 32 vCPUs. It also runs managed Kubernetes, volumes, object storage and an AI Studio inference API. It is built for teams that train, fine-tune and serve models, not as a sandbox API for agents, so this page compares the parts that overlap: VMs as machines for agent work.
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. “20th cheapest of 377” means 19 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 workload | Jarvislabs: price rank | Hyperstack: price rank | bochka: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month Both give a coding agent a VM with root and Docker, but neither snapshots the disk while it works, and bochka ranks 3rd with agents, snapshots and fork built in. | 154th of 367, with limits $1,406 a month | 343rd of 367, with limits $11,458 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB | 185th of 366, with limits $1,670 a month | 337th of 366, with limits $12,775 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 | 103rd of 345, with limits $169 a month | 172nd of 345, with limits $1,167 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 Neither publishes how many VMs an account can run at once or offers a sandbox API for your users, so 300 at once means asking first; bochka ranks 1st here. | 215th of 361, with limits $539 a month | 173rd of 361, with limits $4,207 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 Jarvislabs ranks 43rd here and Hyperstack 173rd, since Jarvislabs CPU VMs cost less per hour; bochka ranks 34th. | 43rd of 360, with limits $2,568 a month | 173rd of 360, with limits $17,500 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 | 113th of 364, with limits $411 a month | 204th of 364, with limits $3,250 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 Both make plain CI runners on full VMs billed by the minute; Jarvislabs comes to $253 a month here and Hyperstack to $1,560, mostly because its smallest CPU flavor is bigger. | 20th cheapest of 377 $253 a month | 122nd cheapest of 377 $1,560 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB Both keep the whole disk: a paused Jarvislabs VM bills only its disk (at least 100 GB), while a Hyperstack VM must be hibernated to stop paying for compute. | 52nd cheapest of 368 $68 a month | 115th cheapest of 368 $475 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 has a graphical desktop: Jarvislabs offers JupyterLab, VS Code in the browser and SSH, Hyperstack offers SSH and a text console, and bochka streams a 60fps desktop. | 154th of 369, with limits $377 a month | 332nd of 369, with limits $3,250 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 | 204th of 367, with limits $205 a month | 335th of 367, with limits $1,750 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 | 244th of 346, with limits $247 a month | 327th of 346, with limits $1,750 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 | 158th of 338, with limits $4,942 a month | 310th of 338, with limits $35,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 | 156th of 360, with limits $127 a month | 309th of 360, with limits $876 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 Both fit: Hyperstack ranks 2nd here at $625 a month and Jarvislabs ranks 9th at $876 a month, while bochka has no GPUs. | 9th cheapest of 98 $876 a month | 2nd cheapest of 98 $625 a month | 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 | Jarvislabs | Hyperstack | bochka |
|---|---|---|---|
| Kind of product | GPU cloud: GPU VMs, GPU containers (Templates), CPU VMs, clusters and model serving | GPU cloud: GPU and CPU VMs, Kubernetes clusters, volumes, object storage, AI Studio inference | Sandboxes for AI agents: VMs with agents, desktop and hosting ready |
| Isolation | GPU and CPU VMs are KVM virtual machines; Templates are containers | Full VMs with root, on flavors mapped 1:1 to physical resources | Every sandbox is a full VM with its own kernel |
| Docker and root | Root on VMs, so you run your own Docker daemon; nested virtualization is not documented | Root and SSH; Ubuntu 22.04 and 24.04 images with or without Docker | Docker, Docker Compose, root, systemd and /dev/kvm on every machine |
| GPUs | Nvidia L4 up to H200, 1 to 8 per instance; B200 as reserved clusters | Nvidia RTX A4000 up to H100, H200, B200 and B300, single cards or 8-GPU nodes | None |
| CPU machine sizes | 2 to 32 vCPU with 4 GB of RAM per vCPU, up to 32 vCPU / 128 GB | CPU-only flavors from 4 vCPU / 4 GB up to 32 vCPU / 64 GB | Up to 16 vCPU / 32 GB, depending on plan |
| Stopping a machine | Pause stops compute billing; the disk keeps billing at $0.10/GB-month, at least 100 GB on a VM | A stopped (SHUTOFF) VM bills at the full rate; hibernation bills only disk and a kept IP, and a restore needs the flavor in stock | A stopped sandbox costs nothing and keeps its whole disk |
| Snapshots | No snapshot command; pause and resume keeps the disk (VMs) or only /home (containers) | Snapshots on request only, with the VM shut off, one at a time, up to 100 GB | The disk is snapshotted every minute and on stop, while the sandbox keeps running |
| Fork | No clone or fork command | No clone or fork; you snapshot, make a custom image and deploy a new VM | Fork a running sandbox into a new one with the same disk |
| Desktop and computer use | No desktop; JupyterLab, VS Code in the browser and SSH | No desktop; SSH and text console logs | 60fps desktop and Chromium, computer use and browser control, embeddable stream |
| Coding agents | A CLI and skill file so an agent on your own machine can create GPUs, run jobs and read logs | A hosted MCP server lets your own agent manage Hyperstack; nothing runs an agent inside a VM | Claude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API |
| Reaching the machine | VMs get a public IP with every port open by default; Templates expose HTTP ports through proxy URLs | A public IPv4 you can keep static; inbound is closed until you add firewall rules, and TLS is yours | HTTPS URLs for up to 50 ports, token-protected; raw TCP; dedicated IPv6 or IPv4 |
| Network rules | Security groups with inbound and outbound rules by port and IP range, VPCs and reserved IPs | Per-VM firewall: inbound closed by default, outbound rules by IP, protocol and port | Open internet out; inbound through HTTPS URLs and TCP ports |
| Keeping keys out of the machine | Keys are passed in as environment variables or uploaded files | No credentials proxy; keys go in with cloud-init, files or environment variables | AI credentials proxy for model providers and any HTTPS API you register |
| Regions | India (IN1, IN2) for new instances; CPU VMs only in Noida | Norway, Canada (Quebec) and the US (Texas) | EU only: Germany, Finland, France |
Every feature Battleships tracks (43)
| Feature | Jarvislabs | Hyperstack | bochka |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | Not published | Not published | Yes |
| Root | Yes | Yes | Yes |
| Systemd | Not published | Not published | Yes |
| Desktop GUI | No | No | Yes |
| Browser | No | No | Yes |
| Computer-use API | No | No | Yes |
| SSH | Yes | Yes | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | Yes | Yes | Yes |
| Automatic snapshots | No | No | Yes |
| Fork/clone | No | No | Yes |
| Live fork (no pause) | No | No | Yes |
| Memory fork | No | No | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | Yes | Yes | Yes |
| Idle auto-stop | Yes | No | No |
| Wake on request | Yes | No | No |
| HTTPS preview URLs | Yes | No | Yes |
| Raw TCP inbound | Yes | No | Yes |
| Public IPv4 | Yes | Yes | No |
| Egress allowlist | Yes | Yes | No |
| Secret proxy | No | No | Yes |
| Secret proxy for any API | No | No | Yes |
| Preinstalled agents | No | No | Yes |
| Agent harness API | No | No | Yes |
| MCP server | No | Yes | No |
| GPU | Yes | Yes | No |
| Windows | No | No | No |
| Arm64 | No | No | No |
| Self-hosting | No | No | No |
| BYOC | No | No | No |
| Open source | No | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Yes | Not published | Yes |
| Usage per sandbox (API) | Yes | No | Yes |
| Audit logs | Not published | Not published | No |
| SSO | No | No | No |
| SOC 2 | No | Yes | No |
| HIPAA | No | No | No |
| EU data residency | No | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
There is no comparable CPU measurement for Jarvislabs or Hyperstack: neither is in the public StarSling benchmark run. bochka did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB in that run, on dedicated AMD Ryzen 9 9950X (Zen 5) hosts.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Jarvislabs and Hyperstack 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 | Jarvislabs, a month | Hyperstack, 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 | $21 · On-demand | $114 · Prepaid on-demand | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $71 · On-demand | $475 · Prepaid on-demand | $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 | $892 · On-demand | $5,720 · Prepaid on-demand | $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 | $231 · On-demand · with limits | $1,750 · Prepaid on-demand · 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 | $514 · On-demand · with limits | $3,500 · Prepaid on-demand · with limits | $2,000 · $2000/mo · with limits |
Jarvislabs: Jarvislabs bills per minute from a prepaid wallet with no plan fee. CPU VMs cost $0.012 per vCPU-hour plus $0.0032 per GB of RAM, and the disk is extra at $0.10/GB-month while running and paused, with at least 100 GB on a VM.
Hyperstack: Hyperstack bills a running VM per minute from a prepaid balance at a fixed hourly price per flavor, with no charge for bandwidth. Its smallest CPU flavor for these scenarios is 8 vCPU / 8 GB, and a stopped VM keeps billing in full until you hibernate it.
Hyperstack: You pick a monthly plan from $20, and all of it becomes usage credit spent per second on running sandboxes. A stopped sandbox costs nothing and keeps its whole disk.
Limits in those scenarios
Neither Jarvislabs nor Hyperstack publishes how many VMs an account can run at once, so 300 user sandboxes or 1,000 short jobs at once are not confirmed on either until you ask. Hyperstack's API allows 500 requests a minute per IP, and its VMs never stop on their own. Jarvislabs VMs take about 90 seconds to boot, and if a Jarvislabs balance goes negative all data is deleted. On bochka the 1,000-job burst is queued and needs more starts per day than the $2,000 plan allows.
| Scenario | Jarvislabs | Hyperstack | bochka |
|---|---|---|---|
| One coding agent, workdays | None that bite | None that bite | None that bite |
| One agent that never stops | None that bite | None that bite | None that bite |
| 50 agents in parallel |
|
| None that bite |
| Sandboxes for your users |
|
| None that bite |
| 1,000 short jobs at once |
|
|
|
Which one should you use?
Use Jarvislabs when
you want GPUs or small CPU VMs in India, cheap pauses that bill only disk, or model serving that scales to zero.
- Small CPU VMs and cheap pauses. Useful if you want small CPU machines: Jarvislabs CPU VMs start at 2 vCPU, and a paused VM bills only its disk.
- Model serving that scales to zero. Useful for inference: Jarvislabs serves open models on GPU workers that stop when idle and start on the next request.
- Machines in India. Useful for teams or users in India: Jarvislabs runs new instances in India, and Indian customers can pay in rupees.
Use Hyperstack when
you need B200 or B300 nodes, regions in Norway, Canada or the US, or managed Kubernetes.
- Bigger and newer GPUs. Useful for heavy training: Hyperstack rents Nvidia GPUs up to B200 and B300, as single cards or 8-GPU nodes.
- Regions in Norway, Canada and the US. Useful if your data or users are in Europe or North America: Hyperstack runs in Vestland, Quebec and Texas.
- Managed Kubernetes. Useful if you run your own clusters: Hyperstack offers managed Kubernetes with its own storage driver.
Where bochka fits
Jarvislabs and Hyperstack are GPU clouds, and bochka has no GPUs, so the GPU part of your work belongs on one of them. If what you are really running is agents that write code, use a browser or serve previews on CPU, bochka gives each one a full VM with the agent, a desktop and HTTPS ports ready, a disk saved every minute and free stops.
Free stops and a disk saved every minute
Agents sit idle and break things. A paused Jarvislabs VM still bills at least 100 GB of disk with no snapshots, and a stopped Hyperstack VM bills in full unless hibernated, with snapshots only while it is shut off.
Fork a running machine
Neither Jarvislabs nor Hyperstack can clone a machine. On Hyperstack you snapshot, build a custom image and deploy a new VM; on Jarvislabs you set up each machine again by hand. bochka forks a running sandbox.
Agents, a desktop and a keys proxy built in
Both give you a clean Linux VM: you install the agent, a browser and any desktop, and keys sit on the machine as files or environment variables. bochka ships coding agents, a 60fps desktop and a credentials proxy.
Use bochka when you run agents on CPU: full VMs with coding agents, a desktop, HTTPS ports and a credentials proxy, a disk saved every minute, live fork and free stops. Compare it one to one: bochka vs Jarvislabs and bochka vs Hyperstack.
Questions people ask
Is Jarvislabs cheaper than Hyperstack?
For CPU machines in our scenarios, yes: one coding agent on workdays comes to $21 a month on Jarvislabs and $114 on Hyperstack, and one agent running all month to $71 versus $475. Hyperstack's closest CPU flavor is 8 vCPU / 8 GB, so part of the gap is size. For GPU eval jobs Hyperstack comes out lower, at $625 a month against $876.
Which is faster, Jarvislabs or Hyperstack?
There is no comparable CPU measurement for either one: neither is in the public StarSling benchmark run. bochka did 26.69 runs per second in that run at 4 vCPU / 8 GB.
Does a stopped VM cost money on Jarvislabs or Hyperstack?
On both, yes. A paused Jarvislabs VM bills its disk at $0.10/GB-month, with at least 100 GB. A stopped Hyperstack VM bills at the full rate, and only a hibernated one drops to disk and a kept IP. A stopped bochka sandbox costs nothing and keeps its disk.
Can Jarvislabs and Hyperstack run Docker?
Yes. Both give you VMs with root: Hyperstack has Ubuntu images with Docker ready, and on Jarvislabs you run your own Docker daemon. bochka sandboxes also come with Docker, Docker Compose, systemd and /dev/kvm ready.
Where do Jarvislabs and Hyperstack run?
Jarvislabs creates new instances only in India, and its old EU1 region no longer accepts new instances. Hyperstack runs in Norway, Canada and the US. bochka runs only in the EU (Germany, Finland and France), with EU data residency.
What happens when the balance runs out?
Jarvislabs pauses instances at zero, and if the balance goes negative all data is permanently deleted. Hyperstack hibernates VMs at zero, or deletes those that cannot hibernate, and billing continues into a negative balance.
Try bochka
Install the CLI, then run bochka new.
Product preview