{
  "data": {
    "a": {
      "slug": "modal",
      "name": "Modal",
      "vendor": "Modal",
      "vendorUrl": "https://modal.com",
      "kind": "platform",
      "category": "gpu-compute",
      "summary": "Serverless functions, web endpoints, servers and GPU jobs from a Python decorator, with JavaScript and Go SDKs.",
      "url": "https://www.anchorterminal.com/tools/modal",
      "markdownUrl": "https://www.anchorterminal.com/tools/modal.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/modal.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/modal.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 deploying. The SDKs and CLI authenticate with a token ID and secret from `modal token new`, read from `MODAL_TOKEN_ID` and `MODAL_TOKEN_SECRET` or `~/.modal.toml`; tokens can carry a TTL. Deployed web endpoints are open by default and can be locked with proxy tokens sent as `Modal-Key` and `Modal-Secret` headers. Servers and Endpoints require a proxy token by default, sent as `Authorization: Bearer \u003cid\u003e.\u003csecret\u003e`.",
      "pricing": "freemium",
      "pricingNotes": "Starter is $0 a month with $30 of compute included every month, 3 seats, 100 containers and 10 concurrent GPUs. Team is $250 a month plus compute with $100 included, unlimited seats, 5,000 containers and 50 concurrent GPUs. Enterprise is custom. GPUs bill per second with nothing charged at zero containers. T4 $0.000164, L4 $0.000222, A10 $0.000306, L40S $0.000542, A100 40 GB $0.000583, A100 80 GB $0.000694, RTX PRO 6000 $0.000842, H100 $0.001097, H200 $0.001261, B200 $0.001736 and B300 $0.001972 a second. The pricing page lists CPU at $0.0000131 a core-second (0.125 core minimum per container) and memory at $0.00000222 a GiB-second, and volumes at $0.09 a GiB-month after 1 TiB free (https://modal.com/pricing).",
      "priceSummary": "$250 / mo",
      "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",
      "llmsTxt": "https://modal.com/llms.txt",
      "capabilities": [
        "compute.gpu",
        "compute.serverless",
        "compute.endpoints",
        "compute.batch",
        "compute.containers"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "python",
        "typescript",
        "go",
        "llms-txt",
        "enterprise"
      ],
      "lastRelease": "2026-09-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.6,
        "grade": "B",
        "agentReady": false,
        "rank": 302,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 57,
          "maintenance": 85,
          "payments": 30,
          "reliability": 70,
          "schema": 70,
          "security": 68,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Scale to zero by default, per-second billing and about one-second container boots. No REST API or OpenAPI spec for deploying or invoking Functions.",
        "bestFor": "Python teams that want GPU functions, batch jobs and HTTP endpoints from one decorator with scale to zero.",
        "strengths": [
          "Scale to zero by default, per-second billing and about one-second container boots",
          "Retention stated per data type (inputs and outputs up to 7 days, logs 1 to 30 days)",
          "Python, JavaScript and Go SDKs, with llms.txt and dated release notes",
          "Four short incidents on the status page between July and September 2026",
          "SOC 2 Type 2, a private HackerOne programme and published disclosure response times"
        ],
        "weaknesses": [
          "No REST API or OpenAPI spec for deploying or invoking Functions",
          "Web endpoints are open by default until proxy tokens are added",
          "RBAC, audit logs and HIPAA only on Enterprise",
          "No published SLA, and Starter caps concurrent GPUs at 10",
          "Region pinning costs 1.15 to 1.75 times the base price"
        ],
        "agentNotes": [
          "Create a proxy token and require it on every web endpoint before sharing the URL; endpoints are public by default",
          "Pass a list to `gpu=` (for example `[\"H100\", \"A100-80GB\"]`) so a job still runs when the first choice is unavailable",
          "Set `scaledown_window` and `min_containers` explicitly; the defaults are 60 seconds and 0",
          "Use `.spawn()` and poll the call ID for long work instead of holding a web request open",
          "Keep web endpoint traffic under 200 requests a second or ask Modal to raise the limit"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.6
          }
        ],
        "editorialScores": {
          "ergonomics": 57,
          "maintenance": 85,
          "payments": 30,
          "reliability": 70,
          "schema": 70,
          "security": 68,
          "transparency": 63
        },
        "provenanceScore": 71
      },
      "connect": {
        "install": "pip install modal \u0026\u0026 modal setup",
        "http": "curl -X POST \"https://$MODAL_WORKSPACE--my-app-predict.modal.run\" \\\n  -H \"Modal-Key: $MODAL_PROXY_KEY\" -H \"Modal-Secret: $MODAL_PROXY_SECRET\" \\\n  -H \"Content-Type: application/json\" -d '{\"prompt\":\"hello\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/compute.gpu",
        "tool": "https://letme.dev/modal"
      },
      "sameCompany": [
        "modal-sandboxes"
      ],
      "area": "models",
      "unitPrices": [
        {
          "item": "H100 80 GB",
          "unit": "gpu-hour",
          "usd": 3.95,
          "note": "$0.001097 a second, may be upgraded to H200 at the same price"
        },
        {
          "item": "H200 141 GB",
          "unit": "gpu-hour",
          "usd": 4.54,
          "note": "$0.001261 a second"
        },
        {
          "item": "B200 180 GB",
          "unit": "gpu-hour",
          "usd": 6.25,
          "note": "$0.001736 a second"
        },
        {
          "item": "A100 80 GB",
          "unit": "gpu-hour",
          "usd": 2.5,
          "note": "$0.000694 a second"
        },
        {
          "item": "L40S 48 GB",
          "unit": "gpu-hour",
          "usd": 1.95,
          "note": "$0.000542 a second"
        },
        {
          "item": "L4 24 GB",
          "unit": "gpu-hour",
          "usd": 0.8,
          "note": "$0.000222 a second"
        },
        {
          "item": "T4 16 GB",
          "unit": "gpu-hour",
          "usd": 0.59,
          "note": "$0.000164 a second"
        },
        {
          "item": "Team plan",
          "unit": "month",
          "usd": 250,
          "note": "Plus compute, $100 included, 50 concurrent GPUs"
        }
      ],
      "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": false,
        "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.",
          "Deployed web endpoints and Servers are served from *.modal.run, a separate domain from modal.com. Deployment itself goes through the SDK, so there's no public API base URL to check.",
          "modal.com/.well-known/security.txt returns 404. The security guide gives security@modal.com and a private HackerOne programme.",
          "Modal Sandboxes are listed separately under code sandboxes."
        ],
        "score": 71
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/modal.json",
      "live": {
        "slug": "modal",
        "vendorStatus": {
          "page": "https://status.modal.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T17:50:52.712660391Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "modal",
            "version": "0.11.0",
            "seenAt": "2026-10-08T16:21:43.713175523Z"
          },
          {
            "registry": "pypi",
            "name": "modal",
            "version": "1.6.1",
            "released": "2026-10-03",
            "seenAt": "2026-10-08T16:21:43.571967985Z"
          }
        ],
        "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:41.354164105Z"
        },
        "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"
        },
        "updatedAt": "2026-10-08T17:50:52.712660391Z"
      }
    },
    "answer": "Modal scores 63.6 (B) on agent readiness against Vast.ai's 62.6 (B), and leads in 4 of 7 scored categories. Vast.ai leads on schema \u0026 documentation.",
    "b": {
      "slug": "vast-ai",
      "name": "Vast.ai",
      "vendor": "Vast.ai Inc.",
      "vendorUrl": "https://vast.ai",
      "kind": "http-api",
      "category": "gpu-compute",
      "summary": "Vast.ai is a marketplace for renting GPUs by the second from independent hosts and data centres, as Docker instances, virtual machines or autoscaling serverless endpoints. Agents use the `vastai` CLI, a Python SDK or a REST API.",
      "url": "https://www.anchorterminal.com/tools/vast-ai",
      "markdownUrl": "https://www.anchorterminal.com/tools/vast-ai.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/vast-ai.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/vast-ai.json",
      "repo": "https://github.com/vast-ai/vast-cli",
      "license": "Proprietary service under Vast.ai's Terms of Use Agreement. The `vastai` CLI and Python SDK on GitHub are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://console.vast.ai/api/v0",
      "packages": [
        {
          "registry": "pypi",
          "name": "vastai"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key from the console's Keys page, sent as `Authorization: Bearer` to https://console.vast.ai/api/v0, or stored once with `vastai set api-key`. Access is self-serve after a browser signup and email verification. A key has full account access by default. Scoped keys take any of 11 permission categories (`instance_read`, `instance_write`, `billing_write` and others) and constraints that narrow an endpoint to resource IDs. Keys are shown once, and can be reset or deleted with immediate effect. The rate-limit page names an `api_key` query parameter as part of a caller's identity, while the authentication page documents only the header.",
      "pricing": "usage",
      "pricingNotes": "Prepaid credit with a $5 minimum deposit and no free tier or trial found. Each host sets its own rate per listing, so there is no fixed price list. Live rates are public at vast.ai/pricing and through `vastai search offers`. GPU time bills per second while an instance runs, storage per second while it exists (stopped included) and bandwidth per byte. Interruptible rentals are bid-priced and reserved rentals are prepaid for 1, 3 or 6 months. Serverless adds no fee on top of instance rates. Spent credit is not refunded (https://docs.vast.ai/guides/reference/billing.md, https://docs.vast.ai/guides/instances/pricing.md, checked 2026-10-08).",
      "priceSummary": "Pay per use",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, llms.txt, the agent pricing page or the OpenAPI file (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 223,
        "npmWeekly": null,
        "pypiWeekly": 32699,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.vast.ai",
      "llmsTxt": "https://docs.vast.ai/llms.txt",
      "openapi": "https://docs.vast.ai/api-reference/openapi.json",
      "capabilities": [
        "compute.gpu",
        "compute.containers",
        "compute.serverless",
        "compute.endpoints"
      ],
      "tags": [
        "hosted",
        "marketplace",
        "usage-priced",
        "prepaid",
        "api-key",
        "scoped-keys",
        "openapi",
        "llms-txt",
        "python",
        "cli",
        "agent-skill",
        "serverless",
        "spot",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-10-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.6,
        "grade": "B",
        "agentReady": false,
        "rank": 331,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 57,
          "maintenance": 81,
          "payments": 20,
          "reliability": 65,
          "schema": 78,
          "security": 72,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "API keys can be limited by permission category and by resource ID, the REST API has a public OpenAPI 3.1 file, and the CLI ships weekly with a skill file for coding agents. Machines belong to independent hosts, prices move with the market, rate-limit thresholds are unpublished, and there is no SLA or free tier.",
        "bestFor": "Cost-sensitive training, batch work and self-managed inference where the agent can search listings, set a price cap and tolerate host variance or interruption.",
        "strengths": [
          "API keys take 11 permission categories and per-endpoint constraints on resource IDs, and can be reset or deleted at once",
          "Public OpenAPI 3.1 file with 89 operations, llms.txt and Markdown docs pages",
          "MIT CLI and Python SDK, v1.8.3 on 2 October 2026, with 12 tagged releases since 27 July 2026",
          "Per-second billing, with serverless workers charged at the same rates as rented instances",
          "Vulnerability disclosure policy with safe harbour and triage within 5 business days, and an account audit log from the CLI"
        ],
        "weaknesses": [
          "No SLA. The terms say availability is not guaranteed and the service can change without notice",
          "Rate-limit thresholds are unpublished and 429 responses carry no `Retry-After` header",
          "No free tier. Credit is prepaid with a $5 minimum deposit after a browser signup and email verification",
          "Hosts are independent. The security FAQ says individual hosts may have less formal security than Secure Cloud data centres",
          "The terms of 1 September 2026 prohibit scripts and automated access to the services without a separate written agreement, which conflicts with the public API"
        ],
        "agentNotes": [
          "Create a scoped key with `vastai create api-key --permissions` for the agent. A default key has full account access, billing and key management included",
          "Pass `--raw` on every CLI command for JSON output, and `-y` on `vastai destroy instance`, which otherwise waits for a confirmation prompt",
          "Register an SSH key with `vastai create ssh-key` before creating an instance, or the host is unreachable",
          "Destroy instances when finished. A stopped instance still bills storage, and a zero balance without a saved card leads to deletion",
          "Back off on HTTP 429 yourself when calling REST directly. The CLI retries 429 three times from 0.15 seconds",
          "Filter searches with `verified=true` or the Secure Cloud option for sensitive data, and set a `dph_total` price cap"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62.6
          }
        ],
        "editorialScores": {
          "ergonomics": 57,
          "maintenance": 81,
          "payments": 20,
          "reliability": 65,
          "schema": 78,
          "security": 72,
          "transparency": 45
        },
        "provenanceScore": 79
      },
      "connect": {
        "install": "pip install vastai",
        "http": "curl -s -H \"Authorization: Bearer $VAST_API_KEY\" \\\n  \"https://console.vast.ai/api/v0/users/current/\"",
        "claudeCode": "/plugin marketplace add vast-ai/vast-claude-plugin\n/plugin install vastai"
      },
      "letme": {
        "capability": "https://letme.dev/compute.gpu",
        "tool": "https://letme.dev/vast-ai"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "Vast.ai Inc.",
        "domain": "vast.ai",
        "domainRegistered": "2017-12-16",
        "endpointOnVendorDomain": true,
        "terms": "https://vast.ai/terms",
        "privacy": "https://vast.ai/privacy",
        "statusPage": "https://status.vast.ai",
        "changelog": "https://github.com/vast-ai/vast-cli/releases",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Terms of Use Agreement, version date 1 September 2026, names Vast.ai Inc. and its affiliates, covers the website and the rental service, and is governed by California law with JAMS arbitration in the Los Angeles area.",
          "The privacy policy, version date 18 June 2025, names Vast.ai Inc. and a Privacy Officer at contact@vast.ai. It is written for users of the website and contains an unfilled `[INSERT HYPERLINK]` placeholder.",
          "A Data Processing Agreement at vast.ai/data-processing-agreement forms part of the terms, with standard contractual clauses and five named sub-processors (Stripe, Google, Meta, Twitter, Microsoft).",
          "The REST API answers at console.vast.ai and serverless routing at run.vast.ai, both on the vendor's domain. Rented machines belong to independent hosts.",
          "vast.ai/.well-known/security.txt returns 404. A vulnerability disclosure policy dated 23 July 2025 at vast.ai/vulnerability-disclosure-policy sends reports to security@vast.ai.",
          "No API changelog was found in the docs index. The changelog link is the CLI and SDK repository's release list, which has no CHANGELOG file.",
          "RDAP for vast.ai gives a registration date of 2017-12-16."
        ],
        "score": 79
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/vast-ai.json",
      "live": {
        "slug": "vast-ai",
        "probe": {
          "target": "https://console.vast.ai/api/v0",
          "method": "get",
          "lastAt": "2026-10-08T20:21:31.725784812Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 359,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 341,
          "p95ms24h": 444,
          "samples24h": 32,
          "samples30d": 32,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 32,
              "ok": 32
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.vast.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:39:18.949416936Z"
        },
        "pages": [
          {
            "url": "https://docs.vast.ai/guides/instances/pricing.md",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:19:43.22968168Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7cd305f9206a"
          },
          {
            "url": "https://vast.ai/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:30.293684318Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "afe890f5aa20"
          },
          {
            "url": "https://vast.ai/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:32.570996649Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "652ca94c3dd7"
          }
        ],
        "updatedAt": "2026-10-08T20:21:31.725784812Z"
      }
    },
    "facts": [
      {
        "a": "Model platform",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Modal",
        "b": "Vast.ai Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://console.vast.ai/api/v0",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "Proprietary service under Vast.ai's Terms of Use Agreement. The `vastai` CLI and Python SDK on GitHub are MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-28",
        "b": "2026-10-02",
        "name": "Last release"
      },
      {
        "a": "2026-05-01",
        "b": "2026-09-01",
        "name": "Terms last updated"
      },
      {
        "a": "2023-05-17",
        "b": "2025-06-18",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "514 stars, 941k npm/wk, 10.1M PyPI/wk",
        "b": "223 stars, 33k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "4/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Modal scores 63.6 (B) on agent readiness against Vast.ai's 62.6 (B), and leads in 4 of 7 scored categories. Vast.ai leads on schema \u0026 documentation.",
        "question": "Which is better for AI agents, Modal or Vast.ai?"
      },
      {
        "answer": "No hosted endpoint is listed for Modal. Vast.ai has a hosted endpoint at https://console.vast.ai/api/v0.",
        "question": "Can an agent call Modal and Vast.ai without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 70 against 65",
          "Payments \u0026 pricing, 30 against 20",
          "Transparency \u0026 trust, 67 against 62"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Python teams that want GPU functions, batch jobs and HTTP endpoints from one decorator with scale to zero.",
        "slug": "modal",
        "watchFor": "No REST API or OpenAPI spec for deploying or invoking Functions"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 78 against 70"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "Cost-sensitive training, batch work and self-managed inference where the agent can search listings, set a price cap and tolerate host variance or interruption.",
        "slug": "vast-ai",
        "watchFor": "No SLA. The terms say availability is not guaranteed and the service can change without notice"
      }
    ],
    "job": {
      "capability": "compute.gpu",
      "name": "Compute gpu"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/baseten-vs-modal.json",
        "title": "Baseten vs Modal",
        "url": "https://www.anchorterminal.com/compare/baseten-vs-modal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/baseten-vs-vast-ai.json",
        "title": "Baseten vs Vast.ai",
        "url": "https://www.anchorterminal.com/compare/baseten-vs-vast-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/beam-vs-modal.json",
        "title": "Beam vs Modal",
        "url": "https://www.anchorterminal.com/compare/beam-vs-modal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/beam-vs-vast-ai.json",
        "title": "Beam vs Vast.ai",
        "url": "https://www.anchorterminal.com/compare/beam-vs-vast-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cerebrium-vs-modal.json",
        "title": "Cerebrium vs Modal",
        "url": "https://www.anchorterminal.com/compare/cerebrium-vs-modal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cerebrium-vs-vast-ai.json",
        "title": "Cerebrium vs Vast.ai",
        "url": "https://www.anchorterminal.com/compare/cerebrium-vs-vast-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coreweave-vs-modal.json",
        "title": "CoreWeave vs Modal",
        "url": "https://www.anchorterminal.com/compare/coreweave-vs-modal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coreweave-vs-vast-ai.json",
        "title": "CoreWeave vs Vast.ai",
        "url": "https://www.anchorterminal.com/compare/coreweave-vs-vast-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/koyeb-vs-modal.json",
        "title": "Koyeb vs Modal",
        "url": "https://www.anchorterminal.com/compare/koyeb-vs-modal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/koyeb-vs-vast-ai.json",
        "title": "Koyeb vs Vast.ai",
        "url": "https://www.anchorterminal.com/compare/koyeb-vs-vast-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lambda-vs-modal.json",
        "title": "Lambda Cloud vs Modal",
        "url": "https://www.anchorterminal.com/compare/lambda-vs-modal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lambda-vs-vast-ai.json",
        "title": "Lambda Cloud vs Vast.ai",
        "url": "https://www.anchorterminal.com/compare/lambda-vs-vast-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/modal-vs-northflank.json",
        "title": "Modal vs Northflank",
        "url": "https://www.anchorterminal.com/compare/modal-vs-northflank"
      },
      {
        "json": "https://www.anchorterminal.com/compare/modal-vs-replicate-deploy.json",
        "title": "Modal vs Replicate Deployments",
        "url": "https://www.anchorterminal.com/compare/modal-vs-replicate-deploy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/modal-vs-runpod.json",
        "title": "Modal vs Runpod",
        "url": "https://www.anchorterminal.com/compare/modal-vs-runpod"
      },
      {
        "json": "https://www.anchorterminal.com/compare/northflank-vs-vast-ai.json",
        "title": "Northflank vs Vast.ai",
        "url": "https://www.anchorterminal.com/compare/northflank-vs-vast-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/replicate-deploy-vs-vast-ai.json",
        "title": "Replicate Deployments vs Vast.ai",
        "url": "https://www.anchorterminal.com/compare/replicate-deploy-vs-vast-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/runpod-vs-vast-ai.json",
        "title": "Runpod vs Vast.ai",
        "url": "https://www.anchorterminal.com/compare/runpod-vs-vast-ai"
      }
    ],
    "scores": [
      {
        "by": 5,
        "edge": "modal",
        "key": "reliability",
        "modal": 70,
        "name": "Reliability",
        "vast-ai": 65,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 8,
        "edge": "vast-ai",
        "key": "schema",
        "modal": 70,
        "name": "Schema \u0026 documentation",
        "vast-ai": 78,
        "weight": 13
      },
      {
        "by": 0,
        "edge": "",
        "key": "ergonomics",
        "modal": 57,
        "name": "Agent ergonomics",
        "vast-ai": 57,
        "weight": 13
      },
      {
        "by": 4,
        "edge": "vast-ai",
        "key": "security",
        "modal": 68,
        "name": "Security \u0026 auth",
        "vast-ai": 72,
        "weight": 14
      },
      {
        "by": 10,
        "edge": "modal",
        "key": "payments",
        "modal": 30,
        "name": "Payments \u0026 pricing",
        "vast-ai": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 4,
        "edge": "modal",
        "key": "maintenance",
        "modal": 85,
        "name": "Maintenance \u0026 community",
        "vast-ai": 81,
        "weight": 7
      },
      {
        "by": 5,
        "edge": "modal",
        "key": "transparency",
        "modal": 67,
        "name": "Transparency \u0026 trust",
        "vast-ai": 62,
        "weight": 7
      }
    ],
    "summary": "Modal scores 63.6 (B) on agent readiness against Vast.ai's 62.6 (B), and leads in 4 of 7 scored categories. Vast.ai leads on schema \u0026 documentation. Both do compute gpu.",
    "verdicts": {
      "modal": "Scale to zero by default, per-second billing and about one-second container boots. No REST API or OpenAPI spec for deploying or invoking Functions.",
      "vast-ai": "API keys can be limited by permission category and by resource ID, the REST API has a public OpenAPI 3.1 file, and the CLI ships weekly with a skill file for coding agents. Machines belong to independent hosts, prices move with the market, rate-limit thresholds are unpublished, and there is no SLA or free tier."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/modal-vs-vast-ai",
    "json": "https://www.anchorterminal.com/compare/modal-vs-vast-ai.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/modal-vs-vast-ai.md",
    "slim": "https://www.anchorterminal.com/compare/modal-vs-vast-ai.min.md"
  },
  "markdown": "Modal scores 63.6 (B) on agent readiness against Vast.ai's 62.6 (B), and leads in 4 of 7 scored categories. Vast.ai leads on schema \u0026 documentation. Both do compute gpu.\n\n- Modal: grade B, 63.6/100, rank #302 of 722. Markdown https://www.anchorterminal.com/tools/modal.md · JSON https://www.anchorterminal.com/api/v1/tools/modal.json\n- Vast.ai: grade B, 62.6/100, rank #331 of 722. Markdown https://www.anchorterminal.com/tools/vast-ai.md · JSON https://www.anchorterminal.com/api/v1/tools/vast-ai.json\n\n## Which one, for what\n\n### Modal (B)\n\nGood for: Python teams that want GPU functions, batch jobs and HTTP endpoints from one decorator with scale to zero.\n\nAhead on:\n- Reliability, 70 against 65\n- Payments \u0026 pricing, 30 against 20\n- Transparency \u0026 trust, 67 against 62\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: No REST API or OpenAPI spec for deploying or invoking Functions\n\n### Vast.ai (B)\n\nGood for: Cost-sensitive training, batch work and self-managed inference where the agent can search listings, set a price cap and tolerate host variance or interruption.\n\nAhead on:\n- Schema \u0026 documentation, 78 against 70\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: No SLA. The terms say availability is not guaranteed and the service can change without notice\n\n\n## Score by category\n\n| Category | Weight | Modal | Vast.ai | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 65 | Modal +5 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 70 | 78 | Vast.ai +8 |\n| Agent ergonomics | 13% (16.2 this run) | 57 | 57 | even |\n| Security \u0026 auth | 14% (17.5 this run) | 68 | 72 | Vast.ai +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 20 | Modal +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 81 | Modal +4 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 67 | 62 | Modal +5 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63.6 · B** | **62.6 · B** | |\n\n## Facts side by side\n\n| Fact | Modal | Vast.ai |\n| --- | --- | --- |\n| Kind | Model platform | HTTP API |\n| Vendor | Modal | Vast.ai Inc. |\n| Hosted endpoint | no (local only) | `https://console.vast.ai/api/v0` |\n| Transports |  | HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Pay per use |\n| x402 | no | no |\n| Licence | Apache-2.0 | Proprietary service under Vast.ai's Terms of Use Agreement. The `vastai` CLI and Python SDK on GitHub are MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-28 | 2026-10-02 |\n| Terms last updated | 2026-05-01 | 2026-09-01 |\n| Privacy policy last updated | 2023-05-17 | 2025-06-18 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 514 stars, 941k npm/wk, 10.1M PyPI/wk | 223 stars, 33k PyPI/wk |\n| Agent reviews | 4/5 (2) | none |\n\n## Verdicts\n\n**Modal.** Scale to zero by default, per-second billing and about one-second container boots. No REST API or OpenAPI spec for deploying or invoking Functions.\n\n**Vast.ai.** API keys can be limited by permission category and by resource ID, the REST API has a public OpenAPI 3.1 file, and the CLI ships weekly with a skill file for coding agents. Machines belong to independent hosts, prices move with the market, rate-limit thresholds are unpublished, and there is no SLA or free tier.\n\n## Before you call either\n\n### Modal\n\n1. Create a proxy token and require it on every web endpoint before sharing the URL; endpoints are public by default\n2. Pass a list to `gpu=` (for example `[\"H100\", \"A100-80GB\"]`) so a job still runs when the first choice is unavailable\n3. Set `scaledown_window` and `min_containers` explicitly; the defaults are 60 seconds and 0\n4. Use `.spawn()` and poll the call ID for long work instead of holding a web request open\n5. Keep web endpoint traffic under 200 requests a second or ask Modal to raise the limit\n\n### Vast.ai\n\n1. Create a scoped key with `vastai create api-key --permissions` for the agent. A default key has full account access, billing and key management included\n2. Pass `--raw` on every CLI command for JSON output, and `-y` on `vastai destroy instance`, which otherwise waits for a confirmation prompt\n3. Register an SSH key with `vastai create ssh-key` before creating an instance, or the host is unreachable\n4. Destroy instances when finished. A stopped instance still bills storage, and a zero balance without a saved card leads to deletion\n5. Back off on HTTP 429 yourself when calling REST directly. The CLI retries 429 three times from 0.15 seconds\n6. Filter searches with `verified=true` or the Secure Cloud option for sensitive data, and set a `dph_total` price cap\n\n## Questions\n\n### Which is better for AI agents, Modal or Vast.ai?\n\nModal scores 63.6 (B) on agent readiness against Vast.ai's 62.6 (B), and leads in 4 of 7 scored categories. Vast.ai leads on schema \u0026 documentation.\n\n### Can an agent call Modal and Vast.ai without installing anything?\n\nNo hosted endpoint is listed for Modal. Vast.ai has a hosted endpoint at https://console.vast.ai/api/v0.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/modal-vs-vast-ai.json, and with the fewest tokens: https://www.anchorterminal.com/compare/modal-vs-vast-ai.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"modal\", \"b\": \"vast-ai\"}`. From a terminal: `anchor compare modal vast-ai`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/modal.json and https://www.anchorterminal.com/api/v1/tools/vast-ai.json\n\n## Other comparisons with Modal or Vast.ai\n\n- [Baseten vs Modal](https://www.anchorterminal.com/compare/baseten-vs-modal.md)\n- [Baseten vs Vast.ai](https://www.anchorterminal.com/compare/baseten-vs-vast-ai.md)\n- [Beam vs Modal](https://www.anchorterminal.com/compare/beam-vs-modal.md)\n- [Beam vs Vast.ai](https://www.anchorterminal.com/compare/beam-vs-vast-ai.md)\n- [Cerebrium vs Modal](https://www.anchorterminal.com/compare/cerebrium-vs-modal.md)\n- [Cerebrium vs Vast.ai](https://www.anchorterminal.com/compare/cerebrium-vs-vast-ai.md)\n- [CoreWeave vs Modal](https://www.anchorterminal.com/compare/coreweave-vs-modal.md)\n- [CoreWeave vs Vast.ai](https://www.anchorterminal.com/compare/coreweave-vs-vast-ai.md)\n- [Koyeb vs Modal](https://www.anchorterminal.com/compare/koyeb-vs-modal.md)\n- [Koyeb vs Vast.ai](https://www.anchorterminal.com/compare/koyeb-vs-vast-ai.md)\n- [Lambda Cloud vs Modal](https://www.anchorterminal.com/compare/lambda-vs-modal.md)\n- [Lambda Cloud vs Vast.ai](https://www.anchorterminal.com/compare/lambda-vs-vast-ai.md)\n- [Modal vs Northflank](https://www.anchorterminal.com/compare/modal-vs-northflank.md)\n- [Modal vs Replicate Deployments](https://www.anchorterminal.com/compare/modal-vs-replicate-deploy.md)\n- [Modal vs Runpod](https://www.anchorterminal.com/compare/modal-vs-runpod.md)\n- [Northflank vs Vast.ai](https://www.anchorterminal.com/compare/northflank-vs-vast-ai.md)\n- [Replicate Deployments vs Vast.ai](https://www.anchorterminal.com/compare/replicate-deploy-vs-vast-ai.md)\n- [Runpod vs Vast.ai](https://www.anchorterminal.com/compare/runpod-vs-vast-ai.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "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": "Modal vs Vast.ai",
        "url": ""
      }
    ],
    "description": "Modal scores 63.6 (B) on agent readiness against Vast.ai's 62.6 (B), and leads in 4 of 7 scored categories. Vast.ai leads on schema \u0026 documentation. Both do compute gpu. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Modal B 63.6",
      "Vast.ai B 62.6",
      "scores"
    ],
    "h1": "Modal vs Vast.ai",
    "image": "https://www.anchorterminal.com/assets/og/compare-modal-vs-vast-ai.png",
    "path": "/compare/modal-vs-vast-ai",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Modal vs Vast.ai for AI agents, B 63.6 vs B 62.6 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/modal-vs-vast-ai"
  },
  "tokens": {
    "markdown": 2050,
    "slim": 680
  },
  "version": 1
}
