# machine0

Persistent VMs from the CLI

Source: https://wheredoirunthis.com/products/machine0 · JSON: https://wheredoirunthis.com/api/products/machine0 · Read on 2026-07-23

## At a glance

- Type: Persistent environment
- Kind: Hosted
- Isolation: Virtual machine
- Free tier: No
- Starting price: $0.013/h
- GPU: Yes
- Regions: 5
- Coverage: 13 of 54 assessed capabilities supported · 7 not assessed
- Agent readiness: read 10 of 11 signals, drive 6 of 11 signals

## Links

- Homepage: https://machine0.io/
- Docs: https://docs.machine0.io/
- Pricing: https://docs.machine0.io/introduction/pricing

## Pricing

- Model: Pay-as-you-go, usage-metered — billed per minute of VM runtime, same price in all regions. Suspend to stop compute billing.
- Unit: Per VM-minute (rates quoted per hour, by VM size)
- Free tier: No

| Tier | Price | Includes | Notes |
| --- | --- | --- | --- |
| small | $0.013/hr (~$9/mo) |  | 1 vCPU / 1 GB / 25 GB disk |
| medium | $0.034/hr (~$25/mo) |  | 2 vCPU / 2 GB / 60 GB |
| large | $0.052/hr (~$38/mo) |  | 2 vCPU / 4 GB / 80 GB |
| xl | $0.104/hr (~$76/mo) |  | 4 vCPU / 8 GB / 160 GB |
| xxl | $0.208/hr (~$152/mo) |  | 8 vCPU / 16 GB / 320 GB |
| xxxl | $0.825/hr (~$602/mo) |  | 16 vCPU / 64 GB / 200 GB |
| 4xl | $1.980/hr (~$1,445/mo) |  | 32 vCPU / 128 GB / 480 GB |
| 5xl | $2.970/hr (~$2,168/mo) |  | 48 vCPU / 192 GB / 720 GB |
| 6xl | $3.714/hr (~$2,711/mo) |  | 60 vCPU / 240 GB / 900 GB |
| gpu-4000ada-1 | $0.836/hr |  | 1x RX 4000 Ada (20 GB VRAM) / 8 vCPU / 32 GB |
| gpu-l40s-1 | $1.727/hr |  | 1x L40S (48 GB) / 8 vCPU / 64 GB |
| gpu-6000ada-1 | $1.727/hr |  | 1x W6000 Ada (48 GB) / 8 vCPU / 64 GB |
| gpu-mi300x-1 | $2.189/hr |  | 1x MI300X (192 GB) / 20 vCPU / 240 GB |
| gpu-h100-1 | $3.729/hr |  | 1x H100 (80 GB) / 20 vCPU / 240 GB |
| gpu-h200-1 | $3.784/hr |  | 1x H200 (141 GB) / 24 vCPU / 240 GB |
| gpu-mi300x-8 | $17.512/hr |  | 8x MI300X (1,536 GB) / 160 vCPU / 1,920 GB |
| gpu-h100-8 | $26.312/hr |  | 8x H100 (640 GB) / 160 vCPU / 1,920 GB |
| gpu-h200-8 | $30.272/hr |  | 8x H200 (1,128 GB) / 192 vCPU / 1,920 GB |

- Overages: No overage model — pure metered usage (per-minute per running VM + storage GB-month). Suspend to stop compute billing.
- Card required: Yes
- Source: https://docs.machine0.io/introduction/pricing

## Runtime

- **GPU & accelerators**: Yes — RX 4000 Ada, L40S, W6000 Ada, MI300X, H100, H200 (single + 8x). From $0.836/hr. Available in us-east, uk, eu, asia (not us-west). [source](https://docs.machine0.io/introduction/pricing)
- **BYOC (Bring your own cloud)**: No — "Runs on machine0's own (DigitalOcean-backed) infra; no bring-your-own-cloud deployment." (source: docs) (confidence: high)
- **Secrets management**: Profile env vars with optional write-only secrets, injected into new VMs (`--profile`); OAuth integration credentials stored encrypted. [source](https://docs.machine0.io/cli/vars)
- **Storage options**: Per-VM root disk 25-900 GB (by size). Experimental persistent block volumes (`machine0 disks`, ~$0.1667/GB/mo, survive suspend + VM destruction). Image storage $0.078/GB/mo (billed while suspended). [source](https://docs.machine0.io/introduction/pricing)
- **Supported workloads**: Reproducible dev environments (NixOS flakes / Ubuntu+Ansible), coding agents (Claude Code, Codex), autonomous agents (OpenClaw, Hermes), hosting web apps / databases / anything needing a stable address, long-running (6-8h coding / multi-day research) agent tasks. [source](https://machine0.io/)
- **Persistence**: Persistent — VMs remain on until stopped, suspended, or removed; suspend snapshots state and stops compute billing (pay only image storage). Data survives suspend/resume. [source](https://machine0.io/)
- **Data jurisdiction**: Operator: France (Fundamental Software SAS, French law, courts of Annecy). Workload regions: US (NY/SF), UK (London), EU (Amsterdam), Asia (Singapore). [source](https://machine0.io/terms)
- **Resource limits & quotas**: 1-60 vCPU, up to 240 GB RAM, up to 8x GPU. 99.99% uptime SLA. Min top-up $5; unused credits refundable. When balance can't cover 1 hour of runtime, running VMs are snapshotted and destroyed (recreate from snapshot after top-up). [source](https://docs.machine0.io/introduction/pricing)
- **SDK languages**: CLI (curl-installed, cross-platform) + remote MCP server; every command has `--json`. No first-party language SDK published. [source](https://docs.machine0.io/mcp/overview)
- **Network & egress controls**: No — "ufw is enabled with ports 22/80/443 open and you can open more inbound ports, but no documented OUTBOUND egress firewall / allowlist / egress proxy." (source: docs/platform/networking + security) (confidence: medium)
- **Snapshots & forks**: Yes — snapshot/suspend/resume; image any VM into a versioned golden master and spin up clones (`machine0 image new`, `machine0 new --image`). [source](https://docs.machine0.io/)
- **Deployment methods**: cli, mcp, api, dashboard — "Provision + drive VMs via the machine0 CLI, a remote MCP server (app.machine0.io/mcp), and a web dashboard (in-browser SSH). NixOS flakes / Ansible for guest provisioning." (source: docs) (confidence: high)
- **Isolation**: Virtual machine — "'Dedicated KVM/QEMU: 1-60 vCPU, up to 240 GB RAM. Not shared.' Real full VMs (own kernel), hypervisor named (KVM/QEMU) — strong isolation. VMs are network-isolated from each other. Underlying substrate is DigitalOcean." (source: docs + landing) (confidence: high)

## Capabilities

### AI & agents

| Capability | Status | Evidence |
| --- | --- | --- |
| Agent skills | Partially supported | "Prompts — named text templates stored on a profile and served over its MCP endpoint as slash commands in connected Claude clients." [source](https://docs.machine0.io/cli/prompts) |
| AI app builder | Not supported | "No prompt-to-app generation surface; it provisions raw VMs." [source](https://machine0.io/) |
| Autonomous QA agent | Not supported | "No autonomous QA-testing agent." [source](https://machine0.io/) |
| Built-in coding agent | Not supported | "No first-party coding agent; images pre-install third-party agents (Claude Code, Codex)." [source](https://machine0.io/) |
| BYOK for LLMs | Not supported | "No platform LLM-key management; agents run on the VM with your own keys." [source](https://docs.machine0.io/) |
| Credential-injection proxy | Not assessed |  |
| LLM gateway | Not supported | "No multi-provider LLM gateway/router." [source](https://docs.machine0.io/) |
| MCP client | Supported | "Profiles connect any remote MCP server and serve a profile's aggregated MCP endpoint (with prompts as slash commands) to connected Claude clients." [source](https://docs.machine0.io/cli/profiles) |
| MCP-server hosting | Not supported | "Profiles CONNECT/aggregate remote MCP servers (client-side); machine0 does not host customer MCP servers as a managed workload (you could run one on a VM)." [source](https://docs.machine0.io/cli/profiles) |
| MCP server | Supported | "POST https://app.machine0.io/mcp — streamable HTTP, stateless; gives agents the same capabilities as the CLI. OAuth (RFC 9728) + x-api-key." [source](https://docs.machine0.io/mcp/overview) |
| Model inference API (first-party) | Not supported | "No first-party model inference endpoint (you serve models yourself on a GPU VM)." [source](https://machine0.io/) |
| Preinstalled coding agent | Not assessed |  |

### Networking & delivery

| Capability | Status | Evidence |
| --- | --- | --- |
| Automatic HTTPS | Supported | "Every VM gets authenticated HTTPS at https://<name>.mac0.io ... No DNS or TLS setup." [source](https://docs.machine0.io/platform/networking) |
| Custom domains | Not supported | "Endpoints are fixed at <vm>.mac0.io; no bring-your-own-domain/CNAME documented." [source](https://docs.machine0.io/platform/networking) |
| Direct public IPv6 | Partially supported | "Every VM gets a dedicated public IP ... No NAT, no tunnels; open arbitrary inbound ports via ufw (raw TCP/UDP)." [source](https://docs.machine0.io/platform/networking) |
| Edge KV store | Not applicable | "Not an edge runtime — no PoP-colocated edge KV concept." [source](https://machine0.io/) |
| Egress controls | Not supported | "ufw is inbound port control (22/80/443 open); no documented outbound egress firewall/allowlist." [source](https://docs.machine0.io/platform/security) |
| Email send / receive | Not supported | "No first-party email send/receive feature (you could run your own on a VM)." [source](https://docs.machine0.io/) |
| Public preview URLs | Not supported | "The <vm>.mac0.io endpoint is a stable per-VM address, not a per-deploy/per-branch preview URL." [source](https://docs.machine0.io/platform/networking) |
| Private networking | Not supported | "VMs are isolated from each other at the network level; no private service-to-service mesh/VPC between your VMs documented." [source](https://docs.machine0.io/platform/security) |
| Built-in reverse proxy | Supported | "HTTPS proxy ... proxying to port 80." [source](https://docs.machine0.io/platform/networking) |

### Organisation & security

| Capability | Status | Evidence |
| --- | --- | --- |
| Built-in auth | Not supported | "The <vm>.mac0.io HTTPS endpoint is authenticated to the VM owner, but there is no IAM/auth service for your workload's end users." [source](https://docs.machine0.io/platform/networking) |
| BYOC | Not supported | "Hosted on machine0's own (DigitalOcean-backed) infra; no deploy-into-your-own-cloud." [source](https://machine0.io/) |
| Deploy into customers' VPCs | Not assessed |  |
| Secrets management | Supported | "Profile vars stored on a profile and injected into every VM created with it, with optional write-only secrets; OAuth credentials stored encrypted." [source](https://docs.machine0.io/cli/vars) |
| Self-host / OSS core | Not supported | "The machine0 CLI is closed source and owned by Fundamental Software SAS; only the guest-OS image configs are open (MIT)." [source](https://machine0.io/terms) |
| Sharing | Not supported | "HTTPS endpoints are authenticated to the VM owner; no share-a-running-workload-by-link primitive." [source](https://docs.machine0.io/platform/networking) |
| SSO / SAML | Not supported | "No enterprise SSO/SAML documented." [source](https://machine0.io/) |
| Teams | Not supported | "No multi-user team/org accounts documented; account model appears single-user with profiles." [source](https://docs.machine0.io/) |
| Workload identity | Not assessed |  |

### Developer access

| Capability | Status | Evidence |
| --- | --- | --- |
| CLI | Supported | "curl -LsSf https://machine0.io/install.sh \| sh ... Every operation is a CLI command with --json." [source](https://machine0.io/) |
| E2B-compatible API | Not assessed |  |
| Filesystem API | Partially supported | "sync push / sync pull with --watch between local and VM." [source](https://docs.machine0.io/cli/sync) |
| Git deploy | Not supported | "No push-to-deploy; GitHub integration is for injecting agent credentials into a profile, not app deployment." [source](https://machine0.io/) |
| HTTP data API | Not supported | "No managed data layer / HTTP data API." [source](https://machine0.io/) |
| OpenAPI spec | Partially supported | "An api-reference/openapi.json exists but currently returns the Mintlify sample 'OpenAPI Plant Store' placeholder — referenced but not a usable machine0 spec." [source](https://docs.machine0.io/api-reference/openapi.json) |
| Private container registry | Not supported | "No hosted private container registry." [source](https://docs.machine0.io/) |
| Public API | Partially supported | "Programmatic control via the CLI + a documented remote MCP server (app.machine0.io/mcp, x-api-key)." [source](https://docs.machine0.io/mcp/overview) |
| SDK | Not supported | "No first-party language SDK/client library; integration is via the CLI + MCP." [source](https://docs.machine0.io/) |
| SSH access | Supported | "machine0 ssh <vm>; SSH-only, public or managed keys; also an in-browser SSH terminal from the dashboard." [source](https://docs.machine0.io/platform/ssh) |

### Compute & storage

| Capability | Status | Evidence |
| --- | --- | --- |
| Cloud-init / ignition config | Partially supported | "Provision guests declaratively via NixOS flakes or Ansible; inject profile vars/secrets at VM creation (--profile). Cloud-init runs internally (randomizes root password)." [source](https://docs.machine0.io/platform/provisioning) |
| Desktop / computer-use sandbox | Not supported | "No virtual-desktop/computer-use (noVNC) surface; SSH/terminal only." [source](https://docs.machine0.io/) |
| GPU compute | Supported | "GPUs: H100, H200, MI300X, L40S, RX/W Ada — single and 8x. From $0.836/hr." [source](https://docs.machine0.io/introduction/pricing) |
| Live-state (memory) snapshots | Not assessed |  |
| Multi-region | Supported | "5 regions: New York, San Francisco, London, Amsterdam, Singapore. Same price everywhere." [source](https://machine0.io/) |
| Object storage | Not supported | "No S3-compatible object store; storage is per-VM disk + experimental block volumes." [source](https://docs.machine0.io/) |
| Persistent disk | Supported | "Per-VM root disk (25-900 GB) persists across suspend/resume; experimental block volumes survive suspend + VM destruction." [source](https://docs.machine0.io/introduction/pricing) |
| Sandbox templates / custom images | Supported | "Provision from prebuilt images (nixos/ubuntu loaded, openclaw, hermes) and build custom golden images from any VM to fork clones." [source](https://docs.machine0.io/platform/images) |
| Scale to zero | Supported | "Suspend VMs to stop billing, resume anytime. You pay only for image storage while suspended." [source](https://machine0.io/) |
| Selectable isolation runtime | Not assessed |  |
| Snapshots / forking | Supported | "Start, Suspend, Snapshot & Resume ... Create golden images from any VM and spin up clones." [source](https://machine0.io/) |

### Data

| Capability | Status | Evidence |
| --- | --- | --- |
| Database branching | Not supported | "No managed database, so no DB branching." [source](https://machine0.io/) |
| Ephemeral instant DB (no-signup) | Not supported | "No no-signup instant database primitive." [source](https://machine0.io/) |
| First-party database | Not supported | "No managed database service; you run your own DB on a VM ('Good for hosting web apps, databases')." [source](https://machine0.io/) |
| Vector search | Not supported | "No first-party vector store/search." [source](https://machine0.io/) |

### Platform & operations

| Capability | Status | Evidence |
| --- | --- | --- |
| Managed CI/CD runners | Not supported | "No managed GitHub Actions/GitLab CI runner product." [source](https://machine0.io/) |
| Built-in observability | Not supported | "No first-party metrics/logs/tracing/APM for workloads (you run your own on the VM)." [source](https://docs.machine0.io/) |
| Preview environments | Not supported | "No per-PR/branch ephemeral environments (not a CI/deploy platform)." [source](https://machine0.io/) |
| Scheduled tasks | Not supported | "No first-party cron/scheduler primitive (run your own on a VM)." [source](https://docs.machine0.io/) |
| Project template marketplace | Not supported | "Prebuilt VM images exist but there is no project-starter template marketplace/gallery." [source](https://docs.machine0.io/platform/images) |
| Durable workflows | Not supported | "No durable-execution/workflow primitive." [source](https://docs.machine0.io/) |

## Agent readiness

### Read: 10 of 11 signals present

10/11 signals (7 full, 3 partial)

- Llms txt: pass — "docs.machine0.io/llms.txt — rich index linking every doc page + OpenAPI (apex /llms.txt 404s as SPA shell; docs-subdomain copy earns credit per rubric v3)."
- Llms full txt: partial — "No single /llms-full.txt, but every doc page is served as clean .md (a comprehensive modular set)."
- Robots AI policy: partial — "No robots.txt (apex returns SPA 404 shell) → default-allow → half per rubric v3."
- JSON LD: fail — "No application/ld+json on the homepage."
- Sitemap: pass — "docs.machine0.io/sitemap.xml present and non-trivial (apex /sitemap.xml 404s as SPA shell)."
- Meta quality: pass — "Complete descriptive title + description + full OG/Twitter cards."
- Markdown negotiation: pass — "Docs serve clean per-page .md (docs.machine0.io/<path>.md)."
- Content efficiency: partial — "Next.js SPA but SSR'd — real content present in initial HTML (~5% readable-text ratio); borderline."
- Docs discoverable: pass — "'Documentation' link first-class in the header, reachable to docs.machine0.io."
- Pricing machine readable: pass — "Structured pricing tables (VM sizes with vCPU/RAM/disk/$hr) on the homepage + docs pricing page."
- Anti bot: pass — "No challenge on public content — all pages, docs, well-known files fetched cleanly."

### Drive: 6 of 11 signals present

6/11 signals (3 full, 3 partial)

- Public API: partial — "Programmatic control via CLI + documented remote MCP server; no standalone documented REST API (api-reference serves a placeholder)."
- Openapi spec: partial — "docs/api-reference/openapi.json is fetchable but returns the Mintlify sample 'Plant Store' placeholder, not machine0's real spec."
- MCP server: pass — "Documented hosted MCP endpoint app.machine0.io/mcp (streamable HTTP, OAuth RFC 9728 + x-api-key), with per-client setup docs."
- SDK packages: fail — "No official language SDK; integration is CLI + MCP."
- Auth docs: pass — "Clear auth docs — MCP OAuth (RFC 9728) + x-api-key header; account-settings API keys."
- Agent self serve creds: partial — "Signup → dashboard → 'Generate keys from your account settings' (human step); no documented programmatic key issuance."
- Webhooks: fail — "No webhooks documented."
- CLI tool: pass — "Official machine0 CLI (curl-installed), --json on every command — the primary interface."
- Error model: fail — "No documented JSON error model (the OpenAPI reference is a placeholder)."
- Rate limit docs: fail — "No documented rate limits / response headers."
- Agent config: fail — "No agents.md / /.well-known/agent / skills listing (MCP is scored under mcp_server)."

## Coding harnesses

- Claude Code (Anthropic) — "Ubuntu pre-installed with Docker, Node, Python, Claude Code, and Codex; profiles integrate Claude Code with per-profile credentials; docs page 'Running Claude Code & Codex'." [source](https://docs.machine0.io/examples/coding-agents)
- Codex CLI (OpenAI) — "Images ship Codex pre-installed; 'Running Claude Code & Codex' example; Codex is a first-class profile integration." [source](https://docs.machine0.io/examples/coding-agents)
- OpenClaw (Peter Steinberger) — "Dedicated example + image (nixos-25-11-openclaw): 'Autonomous agents like OpenClaw and Hermes need their own machine ... Create a VM, SSH in, start the agent.'" [source](https://docs.machine0.io/examples/openclaw)
- Hermes Agent (Nous Research) — "Dedicated example + image (nixos-25-11-hermes): 'Running Hermes is similar — machine0 new hermes --image nixos-25-11-hermes'." [source](https://docs.machine0.io/examples/hermes)

Plausible compatibility (derived, not stored):

- Aider
- Amp
- Antigravity
- Devin
- Droid
- Gemini CLI
- Goose
- Kilo Code
- Kiro CLI
- OpenCode
- Pi
- Qwen Code

## Compliance & regions

- GDPR: self-attested (scope: hosted) — "Privacy policy references GDPR, a DPA, and sub-processors; operated by a French SAS under French law." [source](https://machine0.io/privacy)
- Regions: us-east (New York (GPU may run in Toronto)), us-west (San Francisco (no GPU)), uk (London), eu (Amsterdam), asia (Singapore)
- Regions note: Same price in all regions. GPUs available in us-east, uk, eu, asia (not us-west). Regions map to DigitalOcean datacenters (the underlying substrate).

## Company & presence

- Headquarters: Les Houches, France (74310)
- Founded: 2026
- Team size: 1
- Privacy policy: https://machine0.io/privacy
- Terms of service: https://machine0.io/terms
- X / Twitter: https://x.com/machine__0
- GitHub: https://github.com/fdmtl
- LinkedIn: https://www.linkedin.com/company/machine0
- Y Combinator: https://www.ycombinator.com/companies/machine0
- Docs: https://docs.machine0.io/
- Changelog: https://machine0.io/changelog

## Nearby in the atlas

- [Catnip](/products/catnip.md)
- [Docker Offload](/products/docker-offload.md)
- [exe.dev](/products/exe.dev.md)
- [machine](/products/machine.md)
- [Multipass](/products/multipass.md)
- [ShellBox](/products/shellbox.md)

## Method

Facts come from the product's own public pages. Each claim carries its evidence: a quote and the page it came from. We count capabilities rather than grade products, and "Not assessed" means we have not checked, never that the product lacks it.
