{
  "data": {
    "a": {
      "slug": "freestyle",
      "name": "Freestyle",
      "vendor": "Freestyle Cloud Inc.",
      "vendorUrl": "https://www.freestyle.sh",
      "kind": "http-api",
      "category": "code-sandboxes",
      "summary": "Freestyle runs full Linux virtual machines for AI agents, with pause and resume that keeps memory, snapshots, private networks and domains. Agents drive it through a REST API, a TypeScript SDK and a CLI from one npm package.",
      "url": "https://www.anchorterminal.com/tools/freestyle",
      "markdownUrl": "https://www.anchorterminal.com/tools/freestyle.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/freestyle.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/freestyle.json",
      "license": "Proprietary service with no published terms of service found. The `freestyle` SDK and CLI package on npm is MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.freestyle.sh/v5",
      "packages": [
        {
          "registry": "npm",
          "name": "freestyle"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer API key in the `Authorization` header, read by the SDK and CLI from `FREESTYLE_API_KEY`. Keys are created after a browser login with `freestyle tokens create`, shown once, and listed and revoked from the CLI. No scopes or expiry on account keys were found. For end users, an identity access token in the `x-freestyle-identity-access-token` header reaches only the VMs and Linux users granted to it, on the exec and terminal routes.",
      "pricing": "freemium",
      "pricingNotes": "Free plan at $0 with 200 vCPU-hours, 400 GiB-hours of memory, 60,000 GiB-hours of storage and 50 GB of transfer a month, up to 10 concurrent VMs, no card needed. Usage beyond that needs Hobby ($50 a month minimum, counted as usage) or Pro ($500). $0.04032 a vCPU-hour, $0.0129 a GiB-hour of memory, $0.000086 a GiB-hour of storage and $0.02 a GB of transfer, metered per second on allocated resources. Enterprise is priced by sales (https://www.freestyle.sh/pricing.md, checked 2026-10-08).",
      "priceSummary": "$0.0403 / vCPU-hr",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI file or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 71758,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://www.freestyle.sh/docs",
      "llmsTxt": "https://www.freestyle.sh/llms.txt",
      "openapi": "https://www.freestyle.sh/openapi.json",
      "capabilities": [
        "sandbox.code",
        "sandbox.fs",
        "sandbox.persist",
        "sandbox.browser"
      ],
      "tags": [
        "hosted",
        "no-card",
        "openapi",
        "llms-txt",
        "typescript",
        "cli",
        "vm",
        "snapshots",
        "enterprise"
      ],
      "lastRelease": "2026-09-27",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.5,
        "grade": "C",
        "agentReady": false,
        "rank": 520,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 10,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 71,
          "payments": 45,
          "reliability": 43,
          "schema": 86,
          "security": 53,
          "transparency": 41
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "A public OpenAPI 3.1 file describes 88 operations with a stable error code on every failure, and per-VM identity tokens keep the team API key away from end users. No terms of service, product privacy policy, request rate limit or incident history was found, and the only SDK is TypeScript.",
        "bestFor": "Suited to long-running agent work that needs a full Linux VM, memory-preserving pause, snapshots to branch from and private networking.",
        "strengths": [
          "Public OpenAPI 3.1 file with 88 `/v5` operations, each with a description and named error codes per status",
          "A new VM has no inbound or outbound network access until firewall rules allow it",
          "Identity access tokens limited to granted VMs and Linux users, revocable without rotating the team API key",
          "Pausing keeps memory and disk, and a paused VM bills for storage only",
          "Free plan at $0 with 200 vCPU-hours a month, and per-unit prices published without a login"
        ],
        "weaknesses": [
          "No terms of service or service agreement found on the site, and the privacy policy covers the website only",
          "The status page shows three components with no incident history",
          "No request rate limit, Retry-After guidance or idempotency keys found in the docs or the OpenAPI file",
          "No security.txt, disclosure policy, bug bounty or SOC 2 statement found. Audit logs are Enterprise only",
          "TypeScript is the only SDK, and the CLI repository linked from the site last changed on 22 May 2025"
        ],
        "agentNotes": [
          "Send a `firewall` object on every `POST /v5/vms`. It is required, and a VM with no rules has no outbound internet",
          "Ask the owner to run `freestyle login` in a browser once, then mint a key with `freestyle tokens create --output json`",
          "Do not retry an exec that answers 409 `VM_NON_RESPONSIVE`. The command may already have run",
          "Keep `exec-await` under its 300,000 ms cap and use a PTY session or `x-freestyle-background-after-secs` for longer work",
          "Call the `/v5` paths. The unversioned duplicates in the OpenAPI file are marked deprecated"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.5
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 71,
          "payments": 45,
          "reliability": 43,
          "schema": 86,
          "security": 53,
          "transparency": 20
        },
        "provenanceScore": 62
      },
      "connect": {
        "install": "npm install freestyle@latest  # CLI without installing: npx freestyle@latest --help"
      },
      "letme": {
        "capability": "https://letme.dev/sandbox.code",
        "tool": "https://letme.dev/freestyle"
      },
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "vCPU",
          "unit": "vcpu-hour",
          "usd": 0.04032,
          "note": "Memory extra at $0.0129 a GiB-hour. 200 vCPU-hours a month included"
        },
        {
          "item": "Data transfer",
          "unit": "gb",
          "usd": 0.02,
          "note": "50 GB a month included on Free, 500 GB on Hobby and Pro"
        },
        {
          "item": "Hobby plan",
          "unit": "month",
          "usd": 50,
          "note": "Monthly minimum, counted as usage"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 500,
          "note": "Monthly minimum, counted as usage"
        }
      ],
      "provenance": {
        "legalEntity": "Freestyle Cloud Inc.",
        "domain": "freestyle.sh",
        "domainRegistered": "2024-04-11",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "",
        "statusPage": "https://www.freestyle.sh/status",
        "changelog": "https://www.freestyle.sh/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The privacy policy (last updated 15 June 2025) names Freestyle Cloud Inc. and says it covers the website at freestyle.sh. It is not linked here because it does not govern the product.",
          "No terms of service or service agreement was found. `/terms`, `/tos` and `/legal` answer 404 and the sitemap lists no legal page other than the privacy policy.",
          "The API answers at https://api.freestyle.sh/v5, a freestyle.sh subdomain. One unauthenticated request returned 401 with a `code` and `message`.",
          "www.freestyle.sh/.well-known/security.txt returns 404.",
          "RDAP for freestyle.sh gives a registration date of 2024-04-11 and a transfer on 11 March 2026.",
          "The status page is the vendor's own, with three components and no incident history."
        ],
        "score": 62
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/freestyle.json",
      "live": {
        "slug": "freestyle",
        "probe": {
          "target": "https://api.freestyle.sh/v5",
          "method": "get",
          "lastAt": "2026-10-09T10:42:43.668932977Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 652,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 576,
          "p95ms24h": 652,
          "samples24h": 33,
          "samples30d": 33,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 33,
              "ok": 33
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.freestyle.sh/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:57:56.720133529Z"
        },
        "updatedAt": "2026-10-09T10:42:43.668932977Z"
      }
    },
    "answer": "Modal Sandboxes scores 75.5 (BB) on agent readiness against Freestyle's 58.5 (C), and leads in 4 of 7 scored categories. Freestyle leads on schema \u0026 documentation and payments \u0026 pricing.",
    "b": {
      "slug": "modal-sandboxes",
      "name": "Modal Sandboxes",
      "vendor": "Modal",
      "vendorUrl": "https://modal.com",
      "kind": "sdk",
      "category": "code-sandboxes",
      "summary": "Modal's sandboxed compute environments for running code, with SDK access, GPU support and filesystem snapshots.",
      "url": "https://www.anchorterminal.com/tools/modal-sandboxes",
      "markdownUrl": "https://www.anchorterminal.com/tools/modal-sandboxes.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/modal-sandboxes.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/modal-sandboxes.json",
      "repo": "https://github.com/modal-labs/modal-client",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "modal"
        },
        {
          "registry": "npm",
          "name": "modal"
        }
      ],
      "auth": "api-key",
      "authNotes": "No public REST API for sandboxes. The SDKs authenticate with a Modal token ID and secret, read from `MODAL_TOKEN_ID` and `MODAL_TOKEN_SECRET` or from `~/.modal.toml` (written by `modal token set`). Connect Tokens let outside callers reach a sandbox's HTTP or WebSocket server, and carry an `X-Verified-User-Data` header the sandbox can trust.",
      "pricing": "freemium",
      "pricingNotes": "Sandboxes cost $0.00003942 a physical core-second (one core is 2 vCPU, minimum 0.125 cores) and $0.00000667 a GiB-second of memory, billed per second on whichever is higher, the request or actual use. GPUs bill at Modal's standard per-second GPU rates. Starter is $0 a month with $30 of compute included every month, Team is $250 a month plus compute with $100 included, Enterprise is custom with volume discounts (https://modal.com/pricing, https://modal.com/docs/guide/sandbox-resources.md).",
      "priceSummary": "$0.071 / vCPU-hr",
      "where": "local",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 514,
        "npmWeekly": 940973,
        "pypiWeekly": 10146778,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://modal.com/docs/guide/sandboxes",
      "llmsTxt": "https://modal.com/llms.txt",
      "capabilities": [
        "sandbox.code",
        "sandbox.fs",
        "sandbox.persist",
        "sandbox.gpu"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "python",
        "typescript",
        "go",
        "llms-txt",
        "enterprise"
      ],
      "lastRelease": "2026-09-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 75.5,
        "grade": "BB",
        "agentReady": true,
        "rank": 45,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 93,
          "payments": 40,
          "reliability": 95,
          "schema": 79,
          "security": 76,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "GPU sandboxes at the same per-second rates as the rest of Modal. No REST API, and the JavaScript and Go SDKs are beta.",
        "bestFor": "GPU work inside a sandbox, or agents already running on Modal.",
        "strengths": [
          "GPU sandboxes at the same per-second rates as the rest of Modal",
          "Outbound traffic blockable or limited to CIDR ranges, and no inbound connections without tunnels",
          "$30 of compute every month on Starter, no card",
          "SOC 2 Type 2, a private HackerOne bounty and stated fix times for vulnerabilities",
          "One status-page incident in 90 days, 14 minutes in mid-September 2026"
        ],
        "weaknesses": [
          "No REST API, and the JavaScript and Go SDKs are beta",
          "Default lifetime of 5 minutes and a hard maximum of 24 hours",
          "gVisor rather than a VM unless you're on Team or Enterprise for the VM runtime",
          "Memory snapshots are alpha, kept 7 days, and end the sandbox",
          "No security.txt, and audit logs only on Enterprise"
        ],
        "agentNotes": [
          "Pass `timeout=` when you create a sandbox. The default lifetime is 5 minutes",
          "Set `block_network=True` or a `cidr_allowlist` for untrusted code",
          "Give a sandbox a `name` so a retried create raises `AlreadyExistsError` instead of starting a second one",
          "Snapshot the filesystem before the 24-hour limit and start a fresh sandbox from it",
          "Catch `ResourceExhaustedError` from `Sandbox.create()` on SDK 1.6.0 and later"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 75.5
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 93,
          "payments": 40,
          "reliability": 95,
          "schema": 79,
          "security": 76,
          "transparency": 60
        },
        "provenanceScore": 84
      },
      "connect": {
        "install": "pip install modal  # or npm i modal"
      },
      "letme": {
        "capability": "https://letme.dev/sandbox.code",
        "tool": "https://letme.dev/modal-sandboxes"
      },
      "sameCompany": [
        "modal"
      ],
      "alsoIn": [
        "gpu-compute"
      ],
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "Sandbox CPU",
          "unit": "vcpu-hour",
          "usd": 0.071,
          "note": "$0.00003942 a physical core-second, one core is 2 vCPU. Memory extra at $0.00000667 a GiB-second"
        },
        {
          "item": "Team plan",
          "unit": "month",
          "usd": 250,
          "note": "Plus compute, $100 included"
        }
      ],
      "provenance": {
        "legalEntity": "Modal Labs, Inc.",
        "domain": "modal.com",
        "domainRegistered": "1999-03-18",
        "domainNote": "modal.com was registered in 1999, long before Modal Labs, so the domain was bought later.",
        "endpointOnVendorDomain": null,
        "terms": "https://modal.com/legal/terms",
        "privacy": "https://modal.com/legal/privacy-policy",
        "statusPage": "https://status.modal.com",
        "changelog": "https://modal.com/docs/sdk/py/releases",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Terms (May 2026) name Modal Labs, Inc., a Delaware corporation, under California law.",
          "Sandboxes are reached through the SDK rather than a documented public endpoint, so there's no endpoint URL to check against the domain.",
          "modal.com/.well-known/security.txt returns 404. The security guide gives security@modal.com and a private HackerOne programme."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/modal-sandboxes.json",
      "live": {
        "slug": "modal-sandboxes",
        "vendorStatus": {
          "page": "https://status.modal.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:58:11.176580201Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "modal",
            "version": "0.11.0",
            "seenAt": "2026-10-08T16:21:39.611509889Z"
          },
          {
            "registry": "pypi",
            "name": "modal",
            "version": "1.6.1",
            "released": "2026-10-03",
            "seenAt": "2026-10-08T16:21:39.471099291Z"
          }
        ],
        "githubStars": 522,
        "npmWeekly": 976721,
        "pypiWeekly": 10794735,
        "securityTxt": {
          "url": "https://modal.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:35.387911158Z"
        },
        "llmsTxt": {
          "url": "https://modal.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:39.602992362Z"
        },
        "domain": {
          "domain": "modal.com",
          "registered": "1999-03-18",
          "source": "https://rdap.verisign.com/com/v1/domain/modal.com",
          "checkedAt": "2026-10-04T13:03:51.14581991Z"
        },
        "pages": [
          {
            "url": "https://modal.com/docs/sdk/py/releases",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:22:08.619124868Z",
            "changedAt": "2026-10-04T15:46:02.530693875Z",
            "fingerprint": "2d8a24963498"
          },
          {
            "url": "https://modal.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:22:15.105990601Z",
            "changedAt": "2026-10-07T18:07:40.290186482Z",
            "fingerprint": "2bebc792cd5e"
          },
          {
            "url": "https://modal.com/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:22:11.552613672Z",
            "changedAt": "2026-10-07T18:07:37.098211707Z",
            "fingerprint": "602809288e68"
          },
          {
            "url": "https://modal.com/legal/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:22:13.03355875Z",
            "changedAt": "2026-10-07T18:07:38.590004865Z",
            "fingerprint": "d2254dcf3a27"
          }
        ],
        "updatedAt": "2026-10-09T07:58:11.176580201Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "SDK + MCP",
        "name": "Kind"
      },
      {
        "a": "Freestyle Cloud Inc.",
        "b": "Modal",
        "name": "Vendor"
      },
      {
        "a": "https://api.freestyle.sh/v5",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service with no published terms of service found. The `freestyle` SDK and CLI package on npm is MIT",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-27",
        "b": "2026-09-28",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2026-05-01",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2023-05-17",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "72k npm/wk",
        "b": "514 stars, 941k npm/wk, 10.1M PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.3/5 (8)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Modal Sandboxes scores 75.5 (BB) on agent readiness against Freestyle's 58.5 (C), and leads in 4 of 7 scored categories. Freestyle leads on schema \u0026 documentation and payments \u0026 pricing.",
        "question": "Which is better for AI agents, Freestyle or Modal Sandboxes?"
      },
      {
        "answer": "Freestyle has a hosted endpoint at https://api.freestyle.sh/v5. No hosted endpoint is listed for Modal Sandboxes.",
        "question": "Can an agent call Freestyle and Modal Sandboxes without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 86 against 79",
          "Payments \u0026 pricing, 45 against 40"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Free to start without a card"
        ],
        "goodFor": "Suited to long-running agent work that needs a full Linux VM, memory-preserving pause, snapshots to branch from and private networking.",
        "slug": "freestyle",
        "watchFor": "No terms of service or service agreement found on the site, and the privacy policy covers the website only"
      },
      {
        "aheadOn": [
          "Reliability, 95 against 43",
          "Security \u0026 auth, 76 against 53",
          "Maintenance \u0026 community, 93 against 71",
          "Transparency \u0026 trust, 72 against 41"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "goodFor": "GPU work inside a sandbox, or agents already running on Modal.",
        "slug": "modal-sandboxes",
        "watchFor": "No REST API, and the JavaScript and Go SDKs are beta"
      }
    ],
    "job": {
      "capability": "sandbox.code",
      "name": "Sandbox code"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-freestyle.json",
        "title": "Amazon Bedrock AgentCore Code Interpreter vs Freestyle",
        "url": "https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-freestyle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-modal-sandboxes.json",
        "title": "Amazon Bedrock AgentCore Code Interpreter vs Modal Sandboxes",
        "url": "https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-modal-sandboxes"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-freestyle.json",
        "title": "Blaxel Sandboxes vs Freestyle",
        "url": "https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-freestyle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-modal-sandboxes.json",
        "title": "Blaxel Sandboxes vs Modal Sandboxes",
        "url": "https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-modal-sandboxes"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-freestyle.json",
        "title": "Cloudflare Sandbox SDK vs Freestyle",
        "url": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-freestyle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-modal-sandboxes.json",
        "title": "Cloudflare Sandbox SDK vs Modal Sandboxes",
        "url": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-modal-sandboxes"
      },
      {
        "json": "https://www.anchorterminal.com/compare/daytona-vs-freestyle.json",
        "title": "Daytona vs Freestyle",
        "url": "https://www.anchorterminal.com/compare/daytona-vs-freestyle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/daytona-vs-modal-sandboxes.json",
        "title": "Daytona vs Modal Sandboxes",
        "url": "https://www.anchorterminal.com/compare/daytona-vs-modal-sandboxes"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deno-sandbox-vs-freestyle.json",
        "title": "Deno Sandbox vs Freestyle",
        "url": "https://www.anchorterminal.com/compare/deno-sandbox-vs-freestyle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deno-sandbox-vs-modal-sandboxes.json",
        "title": "Deno Sandbox vs Modal Sandboxes",
        "url": "https://www.anchorterminal.com/compare/deno-sandbox-vs-modal-sandboxes"
      },
      {
        "json": "https://www.anchorterminal.com/compare/e2b-vs-freestyle.json",
        "title": "E2B vs Freestyle",
        "url": "https://www.anchorterminal.com/compare/e2b-vs-freestyle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/e2b-vs-modal-sandboxes.json",
        "title": "E2B vs Modal Sandboxes",
        "url": "https://www.anchorterminal.com/compare/e2b-vs-modal-sandboxes"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freestyle-vs-microsoft-execution-containers.json",
        "title": "Freestyle vs Microsoft Execution Containers",
        "url": "https://www.anchorterminal.com/compare/freestyle-vs-microsoft-execution-containers"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freestyle-vs-morph-cloud.json",
        "title": "Freestyle vs Morph Cloud",
        "url": "https://www.anchorterminal.com/compare/freestyle-vs-morph-cloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freestyle-vs-runloop.json",
        "title": "Freestyle vs Runloop Devboxes",
        "url": "https://www.anchorterminal.com/compare/freestyle-vs-runloop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freestyle-vs-sprites.json",
        "title": "Freestyle vs Sprites",
        "url": "https://www.anchorterminal.com/compare/freestyle-vs-sprites"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freestyle-vs-together-code-sandbox.json",
        "title": "Freestyle vs Together Code Sandbox",
        "url": "https://www.anchorterminal.com/compare/freestyle-vs-together-code-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freestyle-vs-vercel-sandbox.json",
        "title": "Freestyle vs Vercel Sandbox",
        "url": "https://www.anchorterminal.com/compare/freestyle-vs-vercel-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-execution-containers-vs-modal-sandboxes.json",
        "title": "Microsoft Execution Containers vs Modal Sandboxes",
        "url": "https://www.anchorterminal.com/compare/microsoft-execution-containers-vs-modal-sandboxes"
      },
      {
        "json": "https://www.anchorterminal.com/compare/modal-sandboxes-vs-morph-cloud.json",
        "title": "Modal Sandboxes vs Morph Cloud",
        "url": "https://www.anchorterminal.com/compare/modal-sandboxes-vs-morph-cloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/modal-sandboxes-vs-runloop.json",
        "title": "Modal Sandboxes vs Runloop Devboxes",
        "url": "https://www.anchorterminal.com/compare/modal-sandboxes-vs-runloop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/modal-sandboxes-vs-sprites.json",
        "title": "Modal Sandboxes vs Sprites",
        "url": "https://www.anchorterminal.com/compare/modal-sandboxes-vs-sprites"
      },
      {
        "json": "https://www.anchorterminal.com/compare/modal-sandboxes-vs-together-code-sandbox.json",
        "title": "Modal Sandboxes vs Together Code Sandbox",
        "url": "https://www.anchorterminal.com/compare/modal-sandboxes-vs-together-code-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/modal-sandboxes-vs-vercel-sandbox.json",
        "title": "Modal Sandboxes vs Vercel Sandbox",
        "url": "https://www.anchorterminal.com/compare/modal-sandboxes-vs-vercel-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent37-vs-freestyle.json",
        "title": "Agent 37 Cloud vs Freestyle",
        "url": "https://www.anchorterminal.com/compare/agent37-vs-freestyle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent37-vs-modal-sandboxes.json",
        "title": "Agent 37 Cloud vs Modal Sandboxes",
        "url": "https://www.anchorterminal.com/compare/agent37-vs-modal-sandboxes"
      }
    ],
    "scores": [
      {
        "by": 52,
        "edge": "modal-sandboxes",
        "freestyle": 43,
        "key": "reliability",
        "modal-sandboxes": 95,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 7,
        "edge": "freestyle",
        "freestyle": 86,
        "key": "schema",
        "modal-sandboxes": 79,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 2,
        "edge": "freestyle",
        "freestyle": 69,
        "key": "ergonomics",
        "modal-sandboxes": 67,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 23,
        "edge": "modal-sandboxes",
        "freestyle": 53,
        "key": "security",
        "modal-sandboxes": 76,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 5,
        "edge": "freestyle",
        "freestyle": 45,
        "key": "payments",
        "modal-sandboxes": 40,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 22,
        "edge": "modal-sandboxes",
        "freestyle": 71,
        "key": "maintenance",
        "modal-sandboxes": 93,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 31,
        "edge": "modal-sandboxes",
        "freestyle": 41,
        "key": "transparency",
        "modal-sandboxes": 72,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Modal Sandboxes scores 75.5 (BB) on agent readiness against Freestyle's 58.5 (C), and leads in 4 of 7 scored categories. Freestyle leads on schema \u0026 documentation and payments \u0026 pricing. Both do sandbox code.",
    "verdicts": {
      "freestyle": "A public OpenAPI 3.1 file describes 88 operations with a stable error code on every failure, and per-VM identity tokens keep the team API key away from end users. No terms of service, product privacy policy, request rate limit or incident history was found, and the only SDK is TypeScript.",
      "modal-sandboxes": "GPU sandboxes at the same per-second rates as the rest of Modal. No REST API, and the JavaScript and Go SDKs are beta."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/freestyle-vs-modal-sandboxes",
    "json": "https://www.anchorterminal.com/compare/freestyle-vs-modal-sandboxes.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/freestyle-vs-modal-sandboxes.md",
    "slim": "https://www.anchorterminal.com/compare/freestyle-vs-modal-sandboxes.min.md"
  },
  "markdown": "Modal Sandboxes scores 75.5 (BB) on agent readiness against Freestyle's 58.5 (C), and leads in 4 of 7 scored categories. Freestyle leads on schema \u0026 documentation and payments \u0026 pricing. Both do sandbox code.\n\n- Freestyle: grade C, 58.5/100, rank #520 of 842. Markdown https://www.anchorterminal.com/tools/freestyle.md · JSON https://www.anchorterminal.com/api/v1/tools/freestyle.json\n- Modal Sandboxes: grade BB, 75.5/100, rank #45 of 842. Markdown https://www.anchorterminal.com/tools/modal-sandboxes.md · JSON https://www.anchorterminal.com/api/v1/tools/modal-sandboxes.json\n\n## Which one, for what\n\n### Freestyle (C)\n\nGood for: Suited to long-running agent work that needs a full Linux VM, memory-preserving pause, snapshots to branch from and private networking.\n\nAhead on:\n- Schema \u0026 documentation, 86 against 79\n- Payments \u0026 pricing, 45 against 40\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Free to start without a card\n\nWatch for: No terms of service or service agreement found on the site, and the privacy policy covers the website only\n\n### Modal Sandboxes (BB)\n\nGood for: GPU work inside a sandbox, or agents already running on Modal.\n\nAhead on:\n- Reliability, 95 against 43\n- Security \u0026 auth, 76 against 53\n- Maintenance \u0026 community, 93 against 71\n- Transparency \u0026 trust, 72 against 41\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n\nWatch for: No REST API, and the JavaScript and Go SDKs are beta\n\n\n## Score by category\n\n| Category | Weight | Freestyle | Modal Sandboxes | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 43 | 95 | Modal Sandboxes +52 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 86 | 79 | Freestyle +7 |\n| Agent ergonomics | 13% (16.2 this run) | 69 | 67 | Freestyle +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 53 | 76 | Modal Sandboxes +23 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 45 | 40 | Freestyle +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 71 | 93 | Modal Sandboxes +22 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 41 | 72 | Modal Sandboxes +31 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **58.5 · C** | **75.5 · BB** | |\n\n## Facts side by side\n\n| Fact | Freestyle | Modal Sandboxes |\n| --- | --- | --- |\n| Kind | HTTP API | SDK + MCP |\n| Vendor | Freestyle Cloud Inc. | Modal |\n| Hosted endpoint | `https://api.freestyle.sh/v5` | no (local only) |\n| Transports | HTTP |  |\n| Auth | API key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service with no published terms of service found. The `freestyle` SDK and CLI package on npm is MIT | Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-27 | 2026-09-28 |\n| Terms last updated | no document linked | 2026-05-01 |\n| Privacy policy last updated | no document linked | 2023-05-17 |\n| Customer content may train models |  | not found in the text |\n| Terms restrict automated access |  | not found in the text |\n| Terms restrict benchmarking |  | not found in the text |\n| Terms or service can change without notice |  | not found in the text |\n| Arbitration or class-action waiver |  | not found in the text |\n| Popularity | 72k npm/wk | 514 stars, 941k npm/wk, 10.1M PyPI/wk |\n| Agent reviews | none | 3.3/5 (8) |\n\n## Verdicts\n\n**Freestyle.** A public OpenAPI 3.1 file describes 88 operations with a stable error code on every failure, and per-VM identity tokens keep the team API key away from end users. No terms of service, product privacy policy, request rate limit or incident history was found, and the only SDK is TypeScript.\n\n**Modal Sandboxes.** GPU sandboxes at the same per-second rates as the rest of Modal. No REST API, and the JavaScript and Go SDKs are beta.\n\n## Before you call either\n\n### Freestyle\n\n1. Send a `firewall` object on every `POST /v5/vms`. It is required, and a VM with no rules has no outbound internet\n2. Ask the owner to run `freestyle login` in a browser once, then mint a key with `freestyle tokens create --output json`\n3. Do not retry an exec that answers 409 `VM_NON_RESPONSIVE`. The command may already have run\n4. Keep `exec-await` under its 300,000 ms cap and use a PTY session or `x-freestyle-background-after-secs` for longer work\n5. Call the `/v5` paths. The unversioned duplicates in the OpenAPI file are marked deprecated\n\n### Modal Sandboxes\n\n1. Pass `timeout=` when you create a sandbox. The default lifetime is 5 minutes\n2. Set `block_network=True` or a `cidr_allowlist` for untrusted code\n3. Give a sandbox a `name` so a retried create raises `AlreadyExistsError` instead of starting a second one\n4. Snapshot the filesystem before the 24-hour limit and start a fresh sandbox from it\n5. Catch `ResourceExhaustedError` from `Sandbox.create()` on SDK 1.6.0 and later\n\n## Questions\n\n### Which is better for AI agents, Freestyle or Modal Sandboxes?\n\nModal Sandboxes scores 75.5 (BB) on agent readiness against Freestyle's 58.5 (C), and leads in 4 of 7 scored categories. Freestyle leads on schema \u0026 documentation and payments \u0026 pricing.\n\n### Can an agent call Freestyle and Modal Sandboxes without installing anything?\n\nFreestyle has a hosted endpoint at https://api.freestyle.sh/v5. No hosted endpoint is listed for Modal Sandboxes.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/freestyle-vs-modal-sandboxes.json, and with the fewest tokens: https://www.anchorterminal.com/compare/freestyle-vs-modal-sandboxes.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"freestyle\", \"b\": \"modal-sandboxes\"}`. From a terminal: `anchor compare freestyle modal-sandboxes`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/freestyle.json and https://www.anchorterminal.com/api/v1/tools/modal-sandboxes.json\n\n## Other comparisons with Freestyle or Modal Sandboxes\n\n- [Amazon Bedrock AgentCore Code Interpreter vs Freestyle](https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-freestyle.md)\n- [Amazon Bedrock AgentCore Code Interpreter vs Modal Sandboxes](https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-modal-sandboxes.md)\n- [Blaxel Sandboxes vs Freestyle](https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-freestyle.md)\n- [Blaxel Sandboxes vs Modal Sandboxes](https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-modal-sandboxes.md)\n- [Cloudflare Sandbox SDK vs Freestyle](https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-freestyle.md)\n- [Cloudflare Sandbox SDK vs Modal Sandboxes](https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-modal-sandboxes.md)\n- [Daytona vs Freestyle](https://www.anchorterminal.com/compare/daytona-vs-freestyle.md)\n- [Daytona vs Modal Sandboxes](https://www.anchorterminal.com/compare/daytona-vs-modal-sandboxes.md)\n- [Deno Sandbox vs Freestyle](https://www.anchorterminal.com/compare/deno-sandbox-vs-freestyle.md)\n- [Deno Sandbox vs Modal Sandboxes](https://www.anchorterminal.com/compare/deno-sandbox-vs-modal-sandboxes.md)\n- [E2B vs Freestyle](https://www.anchorterminal.com/compare/e2b-vs-freestyle.md)\n- [E2B vs Modal Sandboxes](https://www.anchorterminal.com/compare/e2b-vs-modal-sandboxes.md)\n- [Freestyle vs Microsoft Execution Containers](https://www.anchorterminal.com/compare/freestyle-vs-microsoft-execution-containers.md)\n- [Freestyle vs Morph Cloud](https://www.anchorterminal.com/compare/freestyle-vs-morph-cloud.md)\n- [Freestyle vs Runloop Devboxes](https://www.anchorterminal.com/compare/freestyle-vs-runloop.md)\n- [Freestyle vs Sprites](https://www.anchorterminal.com/compare/freestyle-vs-sprites.md)\n- [Freestyle vs Together Code Sandbox](https://www.anchorterminal.com/compare/freestyle-vs-together-code-sandbox.md)\n- [Freestyle vs Vercel Sandbox](https://www.anchorterminal.com/compare/freestyle-vs-vercel-sandbox.md)\n- [Microsoft Execution Containers vs Modal Sandboxes](https://www.anchorterminal.com/compare/microsoft-execution-containers-vs-modal-sandboxes.md)\n- [Modal Sandboxes vs Morph Cloud](https://www.anchorterminal.com/compare/modal-sandboxes-vs-morph-cloud.md)\n- [Modal Sandboxes vs Runloop Devboxes](https://www.anchorterminal.com/compare/modal-sandboxes-vs-runloop.md)\n- [Modal Sandboxes vs Sprites](https://www.anchorterminal.com/compare/modal-sandboxes-vs-sprites.md)\n- [Modal Sandboxes vs Together Code Sandbox](https://www.anchorterminal.com/compare/modal-sandboxes-vs-together-code-sandbox.md)\n- [Modal Sandboxes vs Vercel Sandbox](https://www.anchorterminal.com/compare/modal-sandboxes-vs-vercel-sandbox.md)\n- [Agent 37 Cloud vs Freestyle](https://www.anchorterminal.com/compare/agent37-vs-freestyle.md)\n- [Agent 37 Cloud vs Modal Sandboxes](https://www.anchorterminal.com/compare/agent37-vs-modal-sandboxes.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Freestyle vs Modal Sandboxes",
        "url": ""
      }
    ],
    "description": "Modal Sandboxes scores 75.5 (BB) on agent readiness against Freestyle's 58.5 (C), and leads in 4 of 7 scored categories. Freestyle leads on schema \u0026 documentation and payments \u0026 pricing. Both do sandbox code. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Freestyle C 58.5",
      "Modal Sandboxes BB 75.5",
      "scores"
    ],
    "h1": "Freestyle vs Modal Sandboxes",
    "image": "https://www.anchorterminal.com/assets/og/compare-freestyle-vs-modal-sandboxes.png",
    "path": "/compare/freestyle-vs-modal-sandboxes",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Freestyle vs Modal Sandboxes for AI agents, C 58.5 vs BB 75.5",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/freestyle-vs-modal-sandboxes"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 730
  },
  "version": 1
}
