# InstaVM

Official pricing: https://instavm.io/pricing  
Category: agent-sandbox · Isolation: firecracker

## Pricing regimes (raw)

- **Firecracker microVM, per-second allocated vCPU + RAM** (resource): $0.0504/vCPU-h, $0.0162/GiB-h

## Features

Yes: snapshots, fork/clone, pause/resume, persistent disk, volumes, idle auto-stop, ≥24 h sessions, custom image (Docker or snapshot), start from your own snapshot, your own Docker/OCI image, full VM (own kernel), Docker inside, root, browser, desktop GUI, computer-use API, code interpreter, browser + desktop control, SSH, HTTPS preview URLs, custom domains, egress allowlist, open internet, SOC 2, Python, Node.js, credential injection, wake on request, live resize, live fork (no pause), webhooks, audit logs, automatic snapshots, snapshots on demand, hosted agent API (their own agent), gVisor or VM (no shared kernel), inbound access rules, firewall inside (nftables), secret proxy, secret proxy for any API, extra volumes, shared volumes

No: memory snapshots, nested virtualization, anti-bot stealth, CAPTCHA solving, residential IPs, preinstalled agents, public IPv4, static egress IP, self-hosting, BYOC, open source, HIPAA, SSO, GPU, arm64, Windows, macOS, GPU desktop, HTTP method/path egress rules, memory fork, EU data residency, MCP server, agent harness API

Unknown: everything else. Evidence (source + quote) per feature: https://battleships.dev/data/providers/instavm.json → feature_evidence

## Caveats

- Pricing page quotes RAM and volumes 'per GB'; treated as GiB.
- Pause/resume: since SDK/CLI 0.26 (changelog 2026-07-11) VMs can be suspended (managed disk snapshot, host resources freed) and resumed, optionally auto_suspend / auto_resume on share/execute/pty/ssh traffic. Resume mints a fresh vm_id. Storage price of the suspend snapshot is unpublished. Pricing page: "No idle charges." Lifetime expiry still terminates and loses state unless snapshot_on_terminate.
- Snapshot storage price unpublished (null); volumes bill on ALLOCATED quota at $0.0002/GB-h ($0.146/GB-mo at 730 h) after 10 GB included; disk_gib_month here is that volume rate.
- Egress per-GB price unpublished; Free egress restricted to package managers + AI APIs.
- Browser session quotas per plan (100 / 5,000 / unlimited); overage price unpublished.
- Max 8 vCPU / 8 GB per VM (docs). GPU not offered/mentioned.
- Regions, compliance certifications, billing granularity minimum unpublished. No benchmark data (vendor claims <200 ms boot).
- Re-checked 2026-09-28: instavm.io/pricing publishes vCPU, RAM and volume rates only; no per-GB egress price and no snapshot storage price (both stay null).
- VM lifetime is capped per plan (vm_lifetime_seconds accepts "max" = plan cap); cap values unpublished, so max_session_h stays null.
- Pro advertises 'Increased usage quotas' and 'Higher rate limits' but no numbers are published (creation rate limits unknown on both plans).

## How this provider charges


InstaVM sells Firecracker microVMs with one per-second rate card that is **identical to E2B's** ($0.000014/vCPU-s,
$0.0000045/GB-s), billed on allocated vCPU and RAM while a VM runs. Regimes differ only by plan (fee that is **not**
credit, concurrency, egress policy, browser-session quota, SLA) and by lifecycle: there is no pause — a VM lives
until its `vm_lifetime_seconds` expires or it is deleted, and only snapshots / volumes survive.

Rates: vCPU **$0.0504/h**, RAM **$0.0162/GB-h** (page shows "~$0.05/hr" and "~$0.02/hr" rounded).
4 vCPU / 8 GB = 0.2016 + 0.1296 = **$0.3312/h**. Volumes: $0.0002/GB-h = **$0.146/GB-month** after 10 GB included.

## Regime table

| Regime | When it applies | How billed | Numbers | Source |
|---|---|---|---|---|
| Free | Default, no card | $0 base + pay-as-you-go from a starting credit | $50 free credits "to start" (one-time); 5 concurrent VMs; 100 browser sessions/mo; egress only to known package managers + AI APIs; best-effort SLA; 10 GB volumes included | https://instavm.io/pricing |
| Pro | >5 concurrent, open egress, SLA | **$100/mo base fee, not credit** + the same per-second usage | 100 concurrent VMs; 5,000 browser sessions/mo; unrestricted egress or domain/CIDR allowlists; 99.9% SLA; 24 h support; 10 GB volumes included | https://instavm.io/pricing |
| Enterprise | Unlimited concurrency, 99.99% SLA | Custom (contact) | null | https://instavm.io/pricing |
| Running VM | From create until lifetime expiry / delete | Allocated vCPU + allocated RAM per second, regardless of utilisation | $0.0504/vCPU-h + $0.0162/GB-h; 1–8 vCPU, 256 MB–8 GB (default 2 vCPU / 512 MB) | https://instavm.io/pricing, https://instavm.io/docs/concepts/sandboxes |
| Lifetime expiry | `vm_lifetime_seconds` reached | VM terminated, **all state lost**, billing stops (unless `snapshot_on_terminate`) | default/max lifetime unpublished | https://instavm.io/docs/concepts/sessions, https://instavm.io/docs/sdks/python/vm-management |
| Clone | `clone` of a running VM | New VM, billed at full running rate | same rates | https://instavm.io/docs/sdks/python/vm-management |
| Snapshots (disk state) | `snapshot`, `snapshot_on_terminate`, OCI-image snapshots | Storage billing **not published**; likely the allocated-volume meter (unverified) | null; OCI snapshot build: 1–8 vCPU, 128–8192 MB, 1–3 GB disk | https://instavm.io/docs/concepts/snapshots |
| Volumes | Persistent storage mounted into VMs (launched 2026-05-29) | **Allocated** GB-hours (quota, not bytes used) beyond 10 GB | $0.0002/GB-h = $0.146/GB-mo | https://instavm.io/pricing, https://instavm.io/blog/introducing-volumes-on-instavm-sandboxes |
| Browser sessions | Browser automation API | Monthly quota per plan; overage price unpublished | 100 Free / 5,000 Pro / unlimited Enterprise | https://instavm.io/pricing |
| Shares / custom domains / SSH | Expose ports publicly or privately, CNAME custom domains | Not separately priced | $0 (unpublished) | https://instavm.io/docs/concepts/shares |
| Egress | All outbound | Policy differs by plan; no per-GB price published | null | https://instavm.io/pricing |

No dated price changes found.

## Gotchas

1. **Pro's $100 is a pure platform fee**; it buys concurrency (5→100), open egress and SLA, not usage.
2. **No pause.** Stopping = terminating; a VM left alive is billed on full allocation even when idle. State survives only via snapshot/volume.
3. **Free egress is allowlist-only** (package managers + AI APIs), so arbitrary web access needs Pro.
4. **Volumes bill on allocated quota**, not used bytes: a 50 GiB quota volume costs 40 × $0.146 = $5.84/mo even if empty.
5. **Max 8 vCPU / 8 GB per VM** — 1 GB/vCPU at the top end; no GPU mentioned.
6. Rates quoted "per GB" (RAM, storage); treated as GiB.
7. Browser-session overage, snapshot storage, egress and lifetime limits are unpublished.

## Worked example

4 vCPU / 8 GB, 50 concurrent × 8 h/day × 22 days = **8,800 VM-hours**, 30% CPU, 50 GiB snapshots, 100 GiB egress.
VMs snapshot on terminate at end of shift, re-created from snapshot next day.

- Compute: 8,800 × $0.3312 = **$2,914.56** (allocation billing: 30% CPU changes nothing).
- Snapshots: price unpublished; if billed like volumes, (50 − 10) × $0.146 = $5.84.
- Egress: unpublished (assumed $0).

| Regime | Feasible? | Monthly total |
|---|---|---|
| Free | No (5 concurrent, restricted egress) | $50 credit ≈ 151 VM-hours |
| Pro | Yes (50 ≤ 100) | $100 + $2,914.56 + ~$5.84 = **≈ $3,020.40** |
| Enterprise | Yes | unpublished |
| Anti-pattern: VMs left alive 24 h/day | Yes | $100 + 50 × 24 × 22 × 0.3312 = **$8,843.68** |
