# Freestyle

> Full Linux VMs that pause with memory intact, fork while running and bill per second, with a $50 monthly minimum.

Website: https://www.freestyle.sh  
Guide page: https://botperch.com/providers/freestyle/  
Checked: 2026-10-30

**Short answer:** One always-on personal agent (2 vCPU / 4 GiB / 20 GiB) costs about $83.31 a month here, the 13th cheapest of the 16 providers that run it as described. The AI model adds about $1.88 a month on top (DeepSeek V4.1 Flash (1017), 30 requests a day at 40k tokens each, median zero-retention price; from $0.46 at the cheapest host). Fits well: Long-lived agent workspaces: a VM can run indefinitely, pause with memory and resume weeks later.

Freestyle sells full Linux virtual machines for agent workloads. A VM boots from a base image in about 65 ms, accepts commands over an SDK, CLI or SSH, can pause with its memory and processes intact, can be snapshotted or forked, and can publish a port at a public HTTPS domain.
The public plans are Free, Hobby at $50 a month and Pro at $500 a month. Each fee is usable as usage rather than a surcharge, and every plan gets the same monthly allowances: 200 vCPU-hours, 400 GiB-hours of memory and 60,000 GiB-hours of storage. Usage is metered per second on allocated resources, not on measured CPU time.
It is not a VPS and not an application host. The company describes the VMs as workbenches for development, experimentation and task execution, says they are not for hosting production applications, and offers no region picker, autoscaling, load balancer or CDN.

**Who it is for:** Teams building agent platforms that need long-lived full Linux machines with memory snapshots, live forks, private VPC networking and credentials held outside the VM.

**Isolation:** A hardware-virtualised Linux VM with its own kernel, root and systemd, not a shared-kernel container. Docker runs from boot and nested virtualisation, FUSE and eBPF are supported. GPUs and colocated bare metal are private enterprise offers.

**Sizes and regions:** Any size up to the plan's caps: Free 4 vCPU / 8 GiB / 32 GB, Hobby 8 vCPU / 16 GiB / 64 GB, Pro 32 vCPU / 64 GiB / 256 GB. Base images range from 1 vCPU / 128 MiB to 64 vCPU / 128 GiB, the largest needing custom limits. No region choice is published.

## How it charges

- model: A monthly plan with a minimum spend, plus per-second metered usage.
- meter: $0.04032 per vCPU-hour, $0.0129 per GiB-hour of memory, $0.000086 per GiB-hour of storage and $0.02 per GB of transfer. Every plan includes 200 vCPU-hours, 400 GiB-hours of memory and 60,000 GiB-hours of storage a month.
- stopped: A paused VM bills storage only; CPU and memory stop. The product page says 'pay nothing while paused', which conflicts with the pricing page's storage charge.
- planFee: Free $0; Hobby $50 a month; Pro $500 a month. The fee is a usage credit, not a surcharge.
- minimum: Hobby's $50 is a monthly minimum: a month with $22 of metered usage still costs $50. No per-run minimum is published; billing is per second.

Per second on allocated vCPU, memory and disk, with free monthly allowances on every plan; Hobby is a $50 monthly minimum that is usable as usage.
- The free allowances (200 vCPU-hours, 400 GiB-hours of memory, 60,000 GiB-hours of storage) apply on every plan, including Hobby and Pro.
- Snapshot storage is not priced separately in the calculator. The pricing page lists only vCPU, memory, storage and data transfer, and the billable size of a snapshot is not published.
- A paused VM bills storage but no compute. The product page's 'pay nothing while paused' claim conflicts with the pricing page; the rate card follows the pricing page.
- Enterprise custom limits, measured-CPU billing, node-based pricing and a 99.99% SLA are not modelled because their prices are not published.
- Free and persistence: the docs' plan table marks persistent VMs available on Free, but the pricing page's limit table marks them unavailable (both read 2026-10-30). The calculator follows the stricter pricing page, so a stopped-and-kept machine is priced on Hobby; if the docs are right, workload C would fit inside Free's allowances at $0.

## Monthly cost for each preset workload

- A personal agent that stays on (Hermes, OpenClaw): $83.31
- A coding agent for one developer: $50.00
- A code interpreter inside your product: $50.00
- A browser agent for a small team: $647.98
- Self-hosted n8n for a small team: $83.31
- A Discord or Slack bot for one server: $50.00
- Claude Code for a team of five: $205.76
- A scraper that runs four times a day: $0.00
- Your own remote MCP server: $50.00
- A: 1,000 short tasks: $50.00
- B: one always-on box: $179.85
- C: three hours a day: $50.00

## Fits well

- Long-lived agent workspaces: a VM can run indefinitely, pause with memory and resume weeks later.
- Branching and parallel experiments: fork a running VM, memory included, or boot many clones from one snapshot.
- Agents that must not hold the real keys: credentials are injected into outbound requests at the edge.
- Multi-tenant products: per-customer slugs, scoped identity tokens and private VPCs.
- Work that needs a real kernel: Docker, nested virtual machines, FUSE, eBPF and WireGuard.

## Fits badly

- Production application hosting: Freestyle calls its VMs workbenches, not a place for production apps, and offers no autoscaling, load balancer or CDN.
- Short, cheap tasks: the company says tasks under 15 minutes rarely benefit, and the $50 Hobby minimum dominates the bill.
- Sustained CPU work: hosts are oversubscribed and the company points heavy CI at other providers.
- EU data residency: no region or EU option is published.
- A guaranteed fixed egress address: the shared account IPv4 is not promised to stay the same.

## Features

- **Isolation** (yes): Full VM; root, Docker, KVM. A hardware-virtualised Linux VM with systemd as pid 1. GPU and colocated bare metal are private enterprise offers, not public plans. [source](https://www.freestyle.sh/about.md) [docs](https://www.freestyle.sh/docs/vms)
- **Sizes and regions** (partly): 4–32 vCPU; no region pick. Any size up to the plan caps: Free 4 vCPU / 8 GiB / 32 GB, Hobby 8 / 16 / 64, Pro 32 / 64 / 256. CPU and memory resize live and only grow. No region or EU option is published. [source](https://www.freestyle.sh/pricing.md) [docs](https://www.freestyle.sh/docs/vms/pricing-and-limits)
- **Lifecycle** (yes): 65 ms boot; pause keeps RAM. Pause keeps memory and processes; stop keeps the disk and drops memory; fork copies a running VM. Boot is about 65 ms, and a base snapshot starts in about a second. [source](https://www.freestyle.sh/products/vms) [docs](https://www.freestyle.sh/docs/vms/lifecycle)
- **Snapshots and forks** (yes): Snapshots + live forks. Snapshots capture memory and disk, are private by default and boot in about a second. Snapshots are kept until deleted, so older ones can be chosen. No automatic backup schedule. [source](https://www.freestyle.sh/products/vms) [docs](https://www.freestyle.sh/docs/vms/base-snapshots)
- **Storage** (partly): 16 GiB/file; S3 mount. A persistent VM keeps its disk across a stop; an ephemeral VM is deleted when it stops. Files can be read while paused. No block volume product, and no shared volume beyond an S3 bucket mounted with FUSE. [source](https://www.freestyle.sh/docs/vms/files) [docs](https://www.freestyle.sh/docs/vms/files)
- **Idle and waking** (yes): Idle pause; −1 = never. A paused VM resumes on the next start or on traffic that reaches it. No scheduler: cron inside the VM only runs while it runs. [source](https://www.freestyle.sh/docs/vms/lifecycle) [docs](https://www.freestyle.sh/docs/vms/lifecycle#idle-timeout)
- **Reaching it** (yes): HTTPS domain, SSH, PTY. Public HTTPS with managed certificates, TLS passthrough for non-HTTP, SSH through beta-ssh.freestyle.sh, and a PTY API. There is no hosted browser terminal. [source](https://www.freestyle.sh/docs/vms/network/tls-inbound) [docs](https://www.freestyle.sh/docs/vms/network/tls-inbound)
- **Custom domains** (yes): Own domain + auto HTTPS. Free style.dev subdomains need no DNS or certificate. A verified domain gets a managed certificate once _acme-challenge is delegated; single-label wildcards are supported. [source](https://www.freestyle.sh/docs/vms/domains) [docs](https://www.freestyle.sh/docs/vms/domains)
- **Outbound network** (partly): 50/500 GB free; $0.02/GB. Allowlist by domain, CIDR or identity. Default deny, so no internet until a rule allows it. Every VM shares one account-level outbound IPv4, but Freestyle does not promise it stays fixed. [source](https://www.freestyle.sh/openapi.json) [docs](https://www.freestyle.sh/docs/vms/network/firewall)
- **Keys and secrets** (yes): Edge injection; scoped tokens. Credentials are stored encrypted at the edge and injected into outbound HTTP, Postgres or S3 requests; the VM never receives the real key. Scoped identity tokens limit an end user to named VMs and Linux users. Secrets are not exported as environment variables. [source](https://www.freestyle.sh/docs/vms/network/tls-outbound) [docs](https://www.freestyle.sh/docs/vms/network/tls-outbound)
- **Ways to drive it** (yes): Dashboard, CLI, TS SDK, API. Dashboard, CLI, TypeScript SDK, OpenAPI and a PTY/file API. No MCP server. The PyPI package is the older Sandboxes SDK, not the current VM client. [source](https://www.freestyle.sh/docs/cli) [docs](https://www.freestyle.sh/docs/quickstart)
- **Built-in agents** (partly): Claude Code, Codex preinstalled. Claude Code, Codex, opencode and openclaw are installed in the default Ubuntu image. No prompt API and no one-click Hermes or OpenClaw; a browser and a GNOME desktop come from guides that install them. [source](https://www.freestyle.sh/docs/vms/base-snapshots) [docs](https://www.freestyle.sh/docs/vms/base-snapshots#whats-installed)
- **Teams and accounts** (partly): Teams; SSO/audit Enterprise. Teams, per-VM identities and tokens exist. Named roles, a dollar spend cap and usage alerts are not documented; SAML SSO, SCIM and audit logs are Enterprise-only. [source](https://www.freestyle.sh/docs/vms/client-sessions) [docs](https://www.freestyle.sh/docs/vms/pricing-and-limits)
- **Billing models** (partly): $50 minimum; per second. Per-second meter on allocated vCPU, memory and storage, with monthly allowances on every plan. No flat machine price, and no measured-CPU billing below Enterprise. [source](https://www.freestyle.sh/docs/vms/pricing-and-limits) [docs](https://www.freestyle.sh/docs/vms/pricing-and-limits#usage-pricing)
- **Trials and free tiers** (yes): Free plan; 200 vCPU-h. Free is a hard stop, not paid overage. The only published credit is a $5,000 deal for YC founders; there is no general signup credit. [source](https://www.freestyle.sh/products/vms) [docs](https://www.freestyle.sh/pricing)
- **The company** (partly): Status page; SLA Enterprise. Freestyle Cloud Inc., founded in 2024, YC-backed and 5 employees per Y Combinator. A 99.99% SLA is Enterprise-only; no trust centre, SOC 2 report or DPA is published. [source](https://www.freestyle.sh/status) [docs](https://www.freestyle.sh/status)

## Capabilities

- Its own virtual machine: yes (Full VM, own kernel) [source](https://www.freestyle.sh/docs/vms)
- Root access: yes (root via vm.linuxUser) [source](https://www.freestyle.sh/docs/onboard.md)
- Docker inside: yes (Docker preinstalled) [source](https://www.freestyle.sh/docs/guides/run-docker-in-a-sandbox)
- Nested virtualisation: yes (Full KVM) [source](https://www.freestyle.sh/about.md)
- Your own image: partly. No Dockerfile or image import: you configure a VM and snapshot it to make a custom base. [source](https://www.freestyle.sh/docs/vms/base-snapshots)
- Any size you like: yes (Any size to plan cap) [source](https://www.freestyle.sh/pricing.md)
- Large machines: yes (32 vCPU / 64 GiB (Pro)) [source](https://www.freestyle.sh/products/vms)
- Resize while running: yes (CPU/RAM live; disk grow-only) [source](https://www.freestyle.sh/docs/vms/lifecycle)
- GPUs: partly. GPUs are a private enterprise offer with no published price or self-serve route. [source](https://www.freestyle.sh/about.md)
- Choose the region: no [source](https://www.freestyle.sh/openapi.json)
- Runs in the EU: not-published [source](https://www.freestyle.sh/openapi.json)
- Pause keeps memory: yes (Memory and processes) [source](https://www.freestyle.sh/docs/vms/lifecycle)
- Pre-started pools: not-published [source](https://www.freestyle.sh/docs/vms/base-snapshots)
- Starts in under a second: yes (65 ms; p99 < 400 ms) [source](https://www.freestyle.sh/products/vms)
- Snapshots of files: yes (Snapshot disk) [source](https://www.freestyle.sh/docs/vms/base-snapshots)
- Snapshots with memory: yes (Memory + disk) [source](https://www.freestyle.sh/about.md)
- Copy a running machine: yes (Live fork) [source](https://www.freestyle.sh/products/vms)
- Pick an older snapshot: yes [source](https://www.freestyle.sh/docs/vms/pricing-and-limits)
- Reusable templates: yes (Custom snapshots) [source](https://www.freestyle.sh/docs/vms/base-snapshots)
- Automatic backups: not-published [source](https://www.freestyle.sh/docs/vms/base-snapshots)
- Files survive a stop: yes (Persistent VM keeps disk) [source](https://www.freestyle.sh/docs/vms/lifecycle)
- Separate volumes: partly. No separate volume: files outlive a VM only as a snapshot you boot a new VM from. [source](https://www.freestyle.sh/docs/vms/base-snapshots)
- One volume, several machines: partly. No shared volume; several VMs can share an S3 bucket mounted with FUSE. [source](https://www.freestyle.sh/docs/guides/mount-s3-object-storage-in-a-sandbox)
- Mount outside storage: yes (S3 via FUSE) [source](https://www.freestyle.sh/docs/guides/mount-s3-object-storage-in-a-sandbox)
- Large disk: yes (256 GB (Pro)) [source](https://www.freestyle.sh/pricing.md)
- Can stay on indefinitely: yes (No default run limit) [source](https://www.freestyle.sh/about.md)
- Choose the idle timeout: yes (idleTimeoutSeconds; −1 never) [source](https://www.freestyle.sh/docs/vms/lifecycle)
- Wakes on a request: yes (Traffic wakes it) [source](https://www.freestyle.sh/docs/vms/lifecycle)
- Scheduled runs: not-published [source](https://www.freestyle.sh/docs/vms/lifecycle)
- Public link to a port: yes (style.dev or own domain) [source](https://www.freestyle.sh/docs/vms/network/tls-inbound)
- Private link: partly. You must run your own authorizer; forward auth gates a public URL but there is no built-in share link. [source](https://www.freestyle.sh/docs/vms/forward-auth)
- Real SSH: yes (beta-ssh.freestyle.sh) [source](https://www.freestyle.sh/docs/vms/ssh)
- Terminal in the browser: partly. No hosted terminal: you build one with the PTY API and xterm.js or ttyd. [source](https://www.freestyle.sh/docs/guides/run-a-web-terminal-in-a-sandbox)
- Tunnel to your computer: yes (WireGuard into a VPC) [source](https://www.freestyle.sh/docs/vms/network/tunnels)
- Non-web ports: yes (TLS passthrough; WireGuard) [source](https://www.freestyle.sh/docs/vms/network/tls-inbound)
- Your own domain: yes (Verified domain) [source](https://www.freestyle.sh/docs/vms/domains)
- Automatic HTTPS: yes (Managed certificate) [source](https://www.freestyle.sh/docs/vms/domains)
- Outbound data included: yes (50 GB free; 500 GB paid) [source](https://www.freestyle.sh/pricing.md)
- Allow only some sites: yes (Domain or CIDR rules) [source](https://www.freestyle.sh/docs/vms/network/tls-outbound)
- Turn the internet off: yes (Default deny) [source](https://www.freestyle.sh/openapi.json)
- Fixed outgoing IP: partly. Every VM shares one account-level outbound IPv4 that survives restarts, but Freestyle does not promise it stays fixed. [source](https://www.freestyle.sh/openapi.json)
- Stored secrets: no [source](https://www.freestyle.sh/docs/vms/network/tls-outbound)
- Secrets the agent cannot read: yes (Edge header injection) [source](https://www.freestyle.sh/docs/vms/network/tls-outbound)
- Limited API keys: yes (Per-VM identity tokens) [source](https://www.freestyle.sh/docs/vms/client-sessions)
- Create from the website: yes (dash.freestyle.sh) [source](https://dash.freestyle.sh/assets/index-BLwRVluh.js)
- Command-line tool: yes (freestyle CLI) [source](https://www.freestyle.sh/docs/cli)
- Python SDK: partly. The published Python package is the older Sandboxes SDK (0.0.17); current VM docs are TypeScript-only. [source](https://pypi.org/pypi/freestyle/json)
- TypeScript SDK: yes (npm freestyle) [source](https://www.freestyle.sh/docs/quickstart)
- Documented HTTP API: yes (OpenAPI 3) [source](https://www.freestyle.sh/openapi.json)
- MCP server: not-published [source](https://www.freestyle.sh/docs/guides/migrate-from-e2b)
- Interactive terminal over the API: yes (PTY over WebSocket) [source](https://www.freestyle.sh/docs/vms/pty)
- Files over the API: yes (16 GiB per file) [source](https://www.freestyle.sh/docs/vms/files)
- Coding agents preinstalled: yes (Claude Code, Codex, opencode) [source](https://www.freestyle.sh/docs/vms/base-snapshots)
- Send it a prompt: no [source](https://www.freestyle.sh/docs/guides/run-claude-code-in-a-sandbox)
- One-click Hermes: no [source](https://www.freestyle.sh/docs/vms/base-snapshots)
- One-click OpenClaw: no [source](https://www.freestyle.sh/docs/guides/run-openclaw-in-a-sandbox)
- Browser built in: partly. Chromium is not in the base image; a guide installs it and drives it over CDP. [source](https://www.freestyle.sh/docs/guides/run-chromium-and-chrome-in-a-sandbox)
- Desktop for computer use: partly. No built-in desktop; a guide builds GNOME with TigerVNC and noVNC. [source](https://www.freestyle.sh/docs/guides/run-gnome-in-a-sandbox)
- Runs other platforms' agents: partly. Guides cover Claude Code, Codex, Copilot, t3 and Omnara; Cursor cloud agents, Devin and Claude Managed Agents are not documented. [source](https://www.freestyle.sh/docs/guides/run-github-copilot-in-a-sandbox)
- Team workspace: yes (Teams and team keys) [source](https://www.freestyle.sh/docs/cli)
- Roles and permissions: not-published [source](https://www.freestyle.sh/docs/vms/client-sessions)
- Single sign-on: partly. SAML SSO and SCIM are Enterprise-only. [source](https://www.freestyle.sh/pricing.md)
- Hard spending cap: not-published [source](https://www.freestyle.sh/pricing.md)
- Usage alerts: not-published [source](https://www.freestyle.sh/changelog)
- Audit log: partly. Audit logs are Enterprise-only. [source](https://www.freestyle.sh/pricing.md)
- Billed per second: yes (Per-second meter) [source](https://www.freestyle.sh/docs/vms/pricing-and-limits)
- CPU billed only while working: partly. Public plans bill allocated vCPU whether busy or not; measured CPU is an Enterprise option. [source](https://www.freestyle.sh/pricing.md)
- Paused costs only storage: yes (Storage only) [source](https://www.freestyle.sh/docs/vms/pricing-and-limits)
- No monthly fee: partly. Free has no fee but hard caps; paid use starts at a $50 monthly minimum. [source](https://www.freestyle.sh/pricing.md)
- Flat monthly price: no [source](https://www.freestyle.sh/docs/vms/pricing-and-limits)
- Ongoing free tier: yes (200 vCPU-h/month) [source](https://www.freestyle.sh/pricing.md)
- Free starting credit: partly. Only a YC-founder deal ($5,000) is published; there is no general signup credit. [source](https://www.freestyle.sh/yc)
- Try without a card: yes (Free plan, no card) [source](https://www.freestyle.sh/products/vms)
- Public status page: yes (freestyle.sh/status) [source](https://www.freestyle.sh/status)
- Uptime promise (SLA): partly. The 99.99% SLA is Enterprise-only; no SLA is published for Free, Hobby or Pro. [source](https://www.freestyle.sh/pricing.md)
- SOC 2 report: not-published [source](https://www.freestyle.sh/pricing.md)
- Data processing agreement: not-published [source](https://www.freestyle.sh/privacy)
- Open source or self-hostable: no [source](https://www.freestyle.sh/about.md)

## Usability

- Dashboard: dash.freestyle.sh lists and creates VMs, shows state and wallet usage, and manages domains; the docs also point at admin.freestyle.sh for API keys.
- Without code: The dashboard can create a VM, but running an agent, installing packages or publishing a port still needs the SDK, CLI or API.
- Signup: The Free plan needs no credit card. Adding a card to a Free account charges a $1 verification that Freestyle refunds.
- Docs: Detailed docs with a machine-readable llms-full.txt, an OpenAPI document and dozens of guides. The docs index is the best starting point.
- Trips people up: The $50 Hobby minimum is a floor, not a usage cap.
- Trips people up: A VM reaches nothing until a firewall rule allows it, including the internet.
- Trips people up: Free has hard allowances that pause VMs instead of billing overage.
- Trips people up: No region choice is published.
- Trips people up: Paused VMs still pay for storage, despite 'pay nothing while paused' copy.

## Company

- Legal entity: Freestyle Cloud Inc. The privacy policy gives founders@freestyle.sh as the contact. [source](https://www.freestyle.sh/privacy)
- Founded and team: Founded in 2024 by Benjamin Swerdlow (CEO) and Jacob Zwang (CTO); Y Combinator lists 5 employees in San Francisco. [source](https://www.ycombinator.com/companies/freestyle)
- Status: All systems operational on 30 October 2026; the page was last updated 25 October 2026. [source](https://www.freestyle.sh/status)
- Uptime promise: A 99.99% SLA is an Enterprise feature; no SLA is published for Free, Hobby or Pro. [source](https://www.freestyle.sh/docs/vms/pricing-and-limits)
- Certification: No SOC 2 report, trust centre or DPA page is published. The Enterprise list names SSO, audit logs and an SLA but no audit report.

## Caveats

- **Paused billing is stated two ways** (contradiction): The pricing page says a paused VM bills storage while it sleeps; the product page and a guide say it pays nothing. The rate card follows the pricing page, because its meter lists storage and the changelog charts storage separately.
- **Free persistence is stated two ways** (contradiction): The docs' plan table marks persistent VMs available on all three plans and explains that a persistent VM keeps its disk; the pricing page's limit table marks Persistent VMs and Persistent Snapshots unavailable on Free. The cost case and calculator follow the stricter pricing page ($50 on Hobby for workload C) and note the $0 alternative.
- **Disk sizes are GB in the docs and GiB on the pricing page** (contradiction): The docs' limit table says 32 GB / 64 GB / 256 GB; the pricing page says 32 GiB / 64 GiB / 256 GiB. The difference is about 7% and matters at the cap.
- **Command timeout is stated two ways** (contradiction): The VMs page says vm.exec() stops at five minutes; the October changelog says updated guest agents allow up to 24 hours. Older VMs keep the five-minute limit.
- **Snapshot storage is not priced** (open): The tariff lists only vCPU, memory, storage and transfer. Whether a snapshot bills at the storage rate, and on what size, is not published, so the calculator does not add it.
- **No published security report or DPA** (open): No trust centre, SOC 2 report, DPA or subprocessor page is linked from the site or docs. A buyer who needs one has only the founders@freestyle.sh contact.
- **Team controls are thin below Enterprise** (open): Teams and scoped identities exist, but named roles, a dollar spend cap and usage alerts are not documented; SSO and audit logs are Enterprise-only.

## Sources

- [Freestyle VMs](https://www.freestyle.sh/docs/vms)
- [Pricing and limits](https://www.freestyle.sh/docs/vms/pricing-and-limits)
- [Pricing page](https://www.freestyle.sh/pricing)
- [VM lifecycle](https://www.freestyle.sh/docs/vms/lifecycle)
- [Base snapshots](https://www.freestyle.sh/docs/vms/base-snapshots)
- [SSH access](https://www.freestyle.sh/docs/vms/ssh)
- [Firewall](https://www.freestyle.sh/docs/vms/network/firewall)
- [Outbound TLS and credential injection](https://www.freestyle.sh/docs/vms/network/tls-outbound)
- [API reference](https://www.freestyle.sh/openapi.json)
- [Status](https://www.freestyle.sh/status)
