{
  "data": {
    "a": {
      "slug": "deno-sandbox",
      "name": "Deno Sandbox",
      "vendor": "Deno Land Inc.",
      "vendorUrl": "https://deno.com",
      "kind": "http-api",
      "category": "code-sandboxes",
      "summary": "Deno Sandbox runs Linux microVMs on Deno Deploy for untrusted or AI-generated code. It is driven from the `@deno/sandbox` JavaScript SDK, the `deno-sandbox` Python SDK or the `deno sandbox` CLI, and launched in beta on 3 February 2026.",
      "url": "https://www.anchorterminal.com/tools/deno-sandbox",
      "markdownUrl": "https://www.anchorterminal.com/tools/deno-sandbox.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/deno-sandbox.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/deno-sandbox.json",
      "repo": "https://github.com/denoland/sandbox-py",
      "license": "Proprietary service under the Deno Deploy terms and conditions. The `@deno/sandbox` and `deno-sandbox` SDKs are MIT",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@deno/sandbox"
        },
        {
          "registry": "pypi",
          "name": "deno-sandbox"
        }
      ],
      "auth": "api-key",
      "authNotes": "An organisation access token (prefix `ddo_`) created under Settings in console.deno.com, read by the SDKs from `DENO_DEPLOY_TOKEN` and sent as a Bearer token. The same token manages the organisation's Deno Deploy apps. No scopes or expiry were found in the reviewed docs, the docs say to rotate a leaked token from the dashboard, and all organisation members hold owner permissions. Signup is in a browser.",
      "pricing": "paid",
      "pricingNotes": "Sandboxes need the Pro plan ($20 a month) or above, and the Free plan does not include them. Compute bills through the Deploy meters at $0.10 a CPU-hour and $0.025 a GiB-hour of memory beyond the plan's allowance (50 CPU-hours and 750 GiB-hours on Pro), and volume storage at $0.20 a GiB-month beyond 5 GiB on Pro. Spend limits can be set on paid plans (https://deno.com/deploy/pricing, checked 2026-10-08).",
      "priceSummary": "$0.10 / vCPU-hr",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the sandbox docs, the pricing page or the OpenAPI document (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 6,
        "npmWeekly": 1971,
        "pypiWeekly": 31729,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.deno.com/sandbox/",
      "llmsTxt": "https://docs.deno.com/llms.txt",
      "capabilities": [
        "sandbox.code",
        "sandbox.fs",
        "sandbox.persist"
      ],
      "tags": [
        "hosted",
        "paid",
        "beta",
        "microvm",
        "typescript",
        "python",
        "cli",
        "llms-txt",
        "status-page",
        "enterprise"
      ],
      "lastRelease": "2026-07-22",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 50.3,
        "grade": "D",
        "agentReady": false,
        "rank": 689,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 14,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 60,
          "maintenance": 45,
          "payments": 20,
          "reliability": 48,
          "schema": 66,
          "security": 61,
          "transparency": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -2,
        "negativeNotes": [
          "2026-10-08: the Create page (last modified 28 January 2026) says a default sandbox has no outbound network access, while the Security page of the same date says outbound access is unrestricted unless `allowNet` is set. A reader of the first page would leave egress open. 2 points. https://docs.deno.com/sandbox/create/ and https://docs.deno.com/sandbox/security/"
        ],
        "verdict": "Secrets stay outside the microVM and are substituted only on outbound requests to approved hosts, and an allowlist limits egress. The service is still in beta, sandboxes need the $20 Pro plan, lifetime is capped at 30 minutes, and no sandbox operation appears in the published OpenAPI document.",
        "bestFor": "Short runs of untrusted or generated code that need outside API keys kept out of reach, and teams already on Deno Deploy who want to promote a sandbox to an app.",
        "strengths": [
          "Secrets are held outside the VM. Code sees a placeholder, and the real value is substituted only on requests to hosts named for that secret",
          "`allowNet` restricts outbound traffic to listed hostnames, wildcard subdomains, ports or IP addresses",
          "Each sandbox is a Firecracker microVM per the product page, with 2 vCPUs, 768 MB to 4 GB of memory and 10 GB of disk",
          "Volumes of 300 MB to 20 GB persist between sandboxes, and read-only snapshots of a volume can boot new sandboxes",
          "Unit prices are public, $0.10 a CPU-hour, $0.025 a GiB-hour of memory and $0.20 a GiB-month of volume storage"
        ],
        "weaknesses": [
          "Beta since 3 February 2026. The docs call the present phase pre-release, and no general availability date was found",
          "Sandboxes are not included in the Free plan. Access starts at Pro, $20 a month, after a browser signup",
          "The published OpenAPI document at `api.deno.com/v2/openapi.json` has 34 operations and none for sandboxes, volumes or snapshots",
          "The Create page says a default sandbox has no outbound network access, and the Security page says outbound access is unrestricted by default",
          "Maximum lifetime is 30 minutes, volumes exist only in `ord`, and no API rate limits or 429 guidance were found",
          "Organisation tokens carry no scopes in the reviewed docs, and every organisation member has owner permissions"
        ],
        "agentNotes": [
          "Set `DENO_DEPLOY_TOKEN` to an organisation token (prefix `ddo_`) from Settings in console.deno.com. The organisation must be on Pro or above",
          "Pass `allowNet` on every `Sandbox.create()`. The Security page says outbound access is unrestricted when it is omitted",
          "Pass credentials through `secrets` with a `hosts` list, not `env`, so code in the VM sees only a placeholder",
          "The default timeout ends the VM when the client disconnects. Pass a duration such as `\"10m\"` and reconnect with `Sandbox.connect({ id })`, up to 30 minutes",
          "Create volumes in `ord` and start the sandbox in `ord`. A volume mounts only in its own region",
          "`exposeHttp` URLs are public with no authentication. Treat the random subdomain as a secret"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 50.3
          }
        ],
        "editorialScores": {
          "ergonomics": 60,
          "maintenance": 45,
          "payments": 20,
          "reliability": 48,
          "schema": 66,
          "security": 61,
          "transparency": 35
        },
        "provenanceScore": 80
      },
      "connect": {
        "install": "npm install @deno/sandbox  # or pip install deno-sandbox"
      },
      "letme": {
        "capability": "https://letme.dev/sandbox.code",
        "tool": "https://letme.dev/deno-sandbox"
      },
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "Active CPU beyond plan allowance",
          "unit": "vcpu-hour",
          "usd": 0.1,
          "note": "Memory extra at $0.025 a GiB-hour"
        },
        {
          "item": "Volume storage beyond plan allowance",
          "unit": "gb-month",
          "usd": 0.2,
          "note": "Priced per GiB"
        },
        {
          "item": "Pro plan, the lowest that includes sandboxes",
          "unit": "month",
          "usd": 20,
          "note": "Includes 50 CPU-hours, 750 GiB-hours of memory and 5 GiB of volume storage"
        }
      ],
      "provenance": {
        "legalEntity": "Deno Land Inc.",
        "domain": "deno.com",
        "domainRegistered": "1999-03-09",
        "endpointOnVendorDomain": false,
        "terms": "https://docs.deno.com/deploy/terms_and_conditions/",
        "privacy": "https://docs.deno.com/deploy/privacy_policy/",
        "statusPage": "https://denostatus.com",
        "changelog": "https://docs.deno.com/deploy/changelog/",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The Deno Deploy terms and conditions (last modified 30 September 2026) name Deno Land Inc. and govern the Deploy services, of which Sandbox is a part. No separate sandbox terms were found.",
          "The privacy policy (last modified 30 September 2026) gives Deno Land Inc., 1111 6th Ave Ste 550, PMB 702973, San Diego CA 92101. A DPA is listed under Enterprise only, and no public copy was found.",
          "The Python SDK's default sandbox endpoint is `\u003cregion\u003e.sandbox-api.deno.net`, a second domain of the vendor's, while listing and volumes go through console.deno.com.",
          "deno.com/.well-known/security.txt gives deploy@deno.com and a policy link and has no Expires field, which RFC 9116 requires. It is recorded as valid to match other listings with the same gap. The policy page gives security@deno.com.",
          "RDAP for deno.com gives a registration date of 1999-03-09.",
          "The Deploy changelog's newest entry is dated 12 March 2026."
        ],
        "score": 80
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/deno-sandbox.json",
      "live": {
        "slug": "deno-sandbox",
        "vendorStatus": {
          "page": "https://denostatus.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:57:48.013369722Z"
        },
        "updatedAt": "2026-10-09T07:57:48.013369722Z"
      }
    },
    "answer": "Sprites scores 58.3 (C) on agent readiness against Deno Sandbox's 50.3 (D), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "sprites",
      "name": "Sprites",
      "vendor": "Fly.io",
      "vendorUrl": "https://fly.io",
      "kind": "http-api",
      "category": "code-sandboxes",
      "summary": "Sprites are hosted Linux microVMs from Fly.io that keep their disk between runs, pause when idle and wake on request. They are driven through a REST API, a CLI, four SDKs or a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/sprites",
      "markdownUrl": "https://www.anchorterminal.com/tools/sprites.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/sprites.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/sprites.json",
      "repo": "https://github.com/superfly/sprites-js",
      "license": "Proprietary service under the Fly.io Terms of Service. The JavaScript, Go, Python and Elixir SDKs are MIT",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@fly/sprites"
        },
        {
          "registry": "pypi",
          "name": "sprites-py"
        }
      ],
      "auth": "api-key",
      "authNotes": "A bearer token created at sprites.dev/account after signing in with a Fly.io account, sent as `Authorization: Bearer \u003ctoken\u003e` to `https://api.sprites.dev`. Tokens belong to an organisation, and no scopes or expiry were found in the reviewed docs. The CLI signs in through a browser with `sprite org auth` or takes a token with `sprite auth setup --token`. The hosted MCP server uses OAuth with a token restricted by default to a name prefix and a capped number of Sprites.",
      "pricing": "usage",
      "pricingNotes": "$0.0385 a CPU-hour and $0.021875 a GB-hour of memory while a Sprite is active, hot storage at $0.000683 a GB-hour while awake and cold storage at $0.000027 a GB-hour while data is kept. Nothing is charged per Sprite or for bandwidth. New organisations get a $30 trial credit, and whether it needs a card was not established. The product page also describes monthly plans with allowances, of which Hero ($100) and Mythic ($2,000) are priced (https://fly.io/sprites/, https://fly.io/pricing/, checked 2026-10-08).",
      "priceSummary": "$0.0385 / vCPU-hr",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Sprites docs, the OpenAPI document or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 157565,
        "pypiWeekly": 58695,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.fly.io/sprites",
      "llmsTxt": "https://docs.fly.io/llms.txt",
      "openapi": "https://docs.fly.io/sprites/api/openapi.json",
      "capabilities": [
        "sandbox.code",
        "sandbox.fs",
        "sandbox.persist"
      ],
      "tags": [
        "hosted",
        "usage-priced",
        "microvm",
        "persistent",
        "checkpoints",
        "openapi",
        "cli",
        "typescript",
        "python",
        "go",
        "elixir",
        "mcp",
        "llms-txt",
        "status-page"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.3,
        "grade": "C",
        "agentReady": false,
        "rank": 528,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 11,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 80,
          "payments": 30,
          "reliability": 55,
          "schema": 74,
          "security": 59,
          "transparency": 59
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -2,
        "negativeNotes": [
          "2026-10-08: the Fly.io pricing page says of Sprites \"No plans and no tiers\", while the Sprites product page read the same day describes paid plans (Hero at $100 a month, Mythic at $2,000) that carry usage allowances and set concurrency and creation-rate limits. Prices for the other named plans were not found. 2 points. https://fly.io/pricing/ and https://fly.io/sprites/"
        ],
        "verdict": "A Sprite keeps a 100 GB ext4 disk between runs, bills compute only while active and can be checkpointed and restored through a published OpenAPI contract. The status page records four Sprites incidents in the last 90 days, one lasting over seven hours, and outbound network access is unrestricted until a policy is set.",
        "bestFor": "Agents that need a long-lived machine with installed tools and files kept between sessions, and rollback by checkpoint.",
        "strengths": [
          "The filesystem persists across pauses, and compute billing stops about 30 seconds after activity ends, per the lifecycle docs",
          "A public OpenAPI 3.1 document covers 44 operations on sprites, exec, files, checkpoints, services and policies, with an AsyncAPI file for the WebSocket calls",
          "Connectors hold third-party credentials outside the Sprite, deny access by default and can limit which provider paths a Sprite may call",
          "Checkpoints are copy-on-write snapshots of the writable filesystem, and the last five are mounted read-only inside the Sprite",
          "Unit prices are public, $0.0385 a CPU-hour, $0.021875 a GB-hour of memory and about $0.50 a GB-month of hot storage",
          "Official SDKs for JavaScript, Go, Python and Elixir are MIT, each with releases in September or October 2026"
        ],
        "weaknesses": [
          "Four Sprites incidents on the status page in 90 days, including a partial outage of 7 hours 28 minutes on 23 September 2026 and failed creates outside Europe for 28 minutes on 8 October",
          "Outbound network access is unrestricted by default. The DNS allowlist is opt-in and set from outside the Sprite",
          "The product page creates a Sprite with `PUT /v1/sprites/my-sprite` and a JSON `command` body, while the OpenAPI document creates with `POST /v1/sprites` and passes `cmd` as a query parameter",
          "No API changelog, deprecation policy or error-code reference was found in the reviewed documentation",
          "The pricing page says Sprites have no plans and no tiers, while the product page describes paid plans that set concurrency and creation-rate limits",
          "No scopes were found for API tokens created at sprites.dev/account. Only the MCP connector's OAuth token is restricted by default"
        ],
        "agentNotes": [
          "Create a token at sprites.dev/account after a browser signup, and send it as `Authorization: Bearer \u003ctoken\u003e` to `https://api.sprites.dev`",
          "Follow the OpenAPI document, not the product page example. Create with `POST /v1/sprites` and a JSON `name`, and run commands with `POST /v1/sprites/{name}/exec` using `cmd` query parameters",
          "Set a network policy with `POST /v1/sprites/{name}/policy/network` before running untrusted code. Egress is open until one is set",
          "Processes started by exec stop on a cold wake. Define a Service for anything that must answer the request that wakes the Sprite",
          "Create a checkpoint before a restore. Restoring replaces the filesystem, ends active sessions and keeps no copy of the replaced state",
          "Sprite creation is limited to 10 a minute on pay-as-you-go. The Go SDK reads `Retry-After` and the error code `sprite_creation_rate_limited` on a 429",
          "Delete Sprites you no longer need. An idle Sprite still bills cold storage for the bytes it holds"
        ],
        "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.3
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 80,
          "payments": 30,
          "reliability": 55,
          "schema": 74,
          "security": 59,
          "transparency": 54
        },
        "provenanceScore": 64
      },
      "connect": {
        "install": "curl -fsSL https://sprites.dev/install.sh | sh  # CLI. SDKs: npm install @fly/sprites, pip install sprites-py",
        "http": "curl -X POST https://api.sprites.dev/v1/sprites -H \"Authorization: Bearer $SPRITES_TOKEN\" -H \"Content-Type: application/json\" -d '{\"name\": \"my-sprite\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/sandbox.code",
        "tool": "https://letme.dev/sprites"
      },
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "CPU time while active",
          "unit": "vcpu-hour",
          "usd": 0.0385,
          "note": "Memory extra at $0.021875 a GB-hour"
        },
        {
          "item": "Hot storage while the Sprite is awake",
          "unit": "gb-month",
          "usd": 0.5,
          "note": "Billed at $0.000683 a GB-hour, on bytes written"
        },
        {
          "item": "Cold storage while data is kept",
          "unit": "gb-month",
          "usd": 0.02,
          "note": "Billed at $0.000027 a GB-hour"
        }
      ],
      "provenance": {
        "legalEntity": "Fly.io, Inc.",
        "domain": "fly.io",
        "domainRegistered": "2004-07-15",
        "endpointOnVendorDomain": false,
        "terms": "https://fly.io/legal/terms-of-service/",
        "privacy": "https://fly.io/legal/privacy-policy/",
        "statusPage": "https://status.flyio.net",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Terms of Service (effective 29 April 2026) name Fly.io, Inc. and cover the website and all products and services reached through it. No separate Sprites terms were found.",
          "The Privacy Statement is effective 24 September 2026. The sub-processor list was last updated the same day.",
          "The API is at api.sprites.dev and Sprite URLs are on sprites.app, second domains of the vendor's. sprites.dev redirects to fly.io/sprites, and RDAP gives its registration date as 2025-06-03.",
          "RDAP for fly.io gives a registration date of 2004-07-15.",
          "fly.io/.well-known/security.txt returned 404. The security docs give security@fly.io for reports.",
          "No changelog for the Sprites API or environment was found. The Python SDK repository keeps a CHANGELOG.md."
        ],
        "score": 64
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/sprites.json",
      "live": {
        "slug": "sprites",
        "vendorStatus": {
          "page": "https://status.flyio.net",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-09T10:42:04.682831341Z"
        },
        "updatedAt": "2026-10-09T10:42:04.682831341Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Deno Land Inc.",
        "b": "Fly.io",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Deno Deploy terms and conditions. The `@deno/sandbox` and `deno-sandbox` SDKs are MIT",
        "b": "Proprietary service under the Fly.io Terms of Service. The JavaScript, Go, Python and Elixir SDKs are MIT",
        "name": "Licence"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-07-22",
        "b": "2026-10-06",
        "name": "Last release"
      },
      {
        "a": "2026-09-30",
        "b": "2026-04-29",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-30",
        "b": "2026-09-24",
        "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": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "6 stars, 2k npm/wk, 32k PyPI/wk",
        "b": "158k npm/wk, 59k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Sprites scores 58.3 (C) on agent readiness against Deno Sandbox's 50.3 (D), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Deno Sandbox or Sprites?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Deno Sandbox and Sprites need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Deno Sandbox. No hosted endpoint is listed for Sprites.",
        "question": "Can an agent call Deno Sandbox and Sprites without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Short runs of untrusted or generated code that need outside API keys kept out of reach, and teams already on Deno Deploy who want to promote a sandbox to an app.",
        "slug": "deno-sandbox",
        "watchFor": "Beta since 3 February 2026. The docs call the present phase pre-release, and no general availability date was found"
      },
      {
        "aheadOn": [
          "Reliability, 55 against 48",
          "Schema \u0026 documentation, 74 against 66",
          "Agent ergonomics, 68 against 60",
          "Payments \u0026 pricing, 30 against 20",
          "Maintenance \u0026 community, 80 against 45"
        ],
        "also": null,
        "goodFor": "Agents that need a long-lived machine with installed tools and files kept between sessions, and rollback by checkpoint.",
        "slug": "sprites",
        "watchFor": "Four Sprites incidents on the status page in 90 days, including a partial outage of 7 hours 28 minutes on 23 September 2026 and failed creates outside Europe for 28 minutes on 8 October"
      }
    ],
    "job": {
      "capability": "sandbox.code",
      "name": "Sandbox code"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-deno-sandbox.json",
        "title": "Amazon Bedrock AgentCore Code Interpreter vs Deno Sandbox",
        "url": "https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-deno-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-sprites.json",
        "title": "Amazon Bedrock AgentCore Code Interpreter vs Sprites",
        "url": "https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-sprites"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-deno-sandbox.json",
        "title": "Blaxel Sandboxes vs Deno Sandbox",
        "url": "https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-deno-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-sprites.json",
        "title": "Blaxel Sandboxes vs Sprites",
        "url": "https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-sprites"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-deno-sandbox.json",
        "title": "Cloudflare Sandbox SDK vs Deno Sandbox",
        "url": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-deno-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-sprites.json",
        "title": "Cloudflare Sandbox SDK vs Sprites",
        "url": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-sprites"
      },
      {
        "json": "https://www.anchorterminal.com/compare/daytona-vs-deno-sandbox.json",
        "title": "Daytona vs Deno Sandbox",
        "url": "https://www.anchorterminal.com/compare/daytona-vs-deno-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/daytona-vs-sprites.json",
        "title": "Daytona vs Sprites",
        "url": "https://www.anchorterminal.com/compare/daytona-vs-sprites"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deno-sandbox-vs-e2b.json",
        "title": "Deno Sandbox vs E2B",
        "url": "https://www.anchorterminal.com/compare/deno-sandbox-vs-e2b"
      },
      {
        "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-microsoft-execution-containers.json",
        "title": "Deno Sandbox vs Microsoft Execution Containers",
        "url": "https://www.anchorterminal.com/compare/deno-sandbox-vs-microsoft-execution-containers"
      },
      {
        "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/deno-sandbox-vs-morph-cloud.json",
        "title": "Deno Sandbox vs Morph Cloud",
        "url": "https://www.anchorterminal.com/compare/deno-sandbox-vs-morph-cloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deno-sandbox-vs-runloop.json",
        "title": "Deno Sandbox vs Runloop Devboxes",
        "url": "https://www.anchorterminal.com/compare/deno-sandbox-vs-runloop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deno-sandbox-vs-together-code-sandbox.json",
        "title": "Deno Sandbox vs Together Code Sandbox",
        "url": "https://www.anchorterminal.com/compare/deno-sandbox-vs-together-code-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deno-sandbox-vs-vercel-sandbox.json",
        "title": "Deno Sandbox vs Vercel Sandbox",
        "url": "https://www.anchorterminal.com/compare/deno-sandbox-vs-vercel-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/e2b-vs-sprites.json",
        "title": "E2B vs Sprites",
        "url": "https://www.anchorterminal.com/compare/e2b-vs-sprites"
      },
      {
        "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/microsoft-execution-containers-vs-sprites.json",
        "title": "Microsoft Execution Containers vs Sprites",
        "url": "https://www.anchorterminal.com/compare/microsoft-execution-containers-vs-sprites"
      },
      {
        "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/morph-cloud-vs-sprites.json",
        "title": "Morph Cloud vs Sprites",
        "url": "https://www.anchorterminal.com/compare/morph-cloud-vs-sprites"
      },
      {
        "json": "https://www.anchorterminal.com/compare/runloop-vs-sprites.json",
        "title": "Runloop Devboxes vs Sprites",
        "url": "https://www.anchorterminal.com/compare/runloop-vs-sprites"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sprites-vs-together-code-sandbox.json",
        "title": "Sprites vs Together Code Sandbox",
        "url": "https://www.anchorterminal.com/compare/sprites-vs-together-code-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sprites-vs-vercel-sandbox.json",
        "title": "Sprites vs Vercel Sandbox",
        "url": "https://www.anchorterminal.com/compare/sprites-vs-vercel-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent37-vs-deno-sandbox.json",
        "title": "Agent 37 Cloud vs Deno Sandbox",
        "url": "https://www.anchorterminal.com/compare/agent37-vs-deno-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent37-vs-sprites.json",
        "title": "Agent 37 Cloud vs Sprites",
        "url": "https://www.anchorterminal.com/compare/agent37-vs-sprites"
      }
    ],
    "scores": [
      {
        "by": 7,
        "deno-sandbox": 48,
        "edge": "sprites",
        "key": "reliability",
        "name": "Reliability",
        "sprites": 55,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 8,
        "deno-sandbox": 66,
        "edge": "sprites",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "sprites": 74,
        "weight": 13
      },
      {
        "by": 8,
        "deno-sandbox": 60,
        "edge": "sprites",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "sprites": 68,
        "weight": 13
      },
      {
        "by": 2,
        "deno-sandbox": 61,
        "edge": "deno-sandbox",
        "key": "security",
        "name": "Security \u0026 auth",
        "sprites": 59,
        "weight": 14
      },
      {
        "by": 10,
        "deno-sandbox": 20,
        "edge": "sprites",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "sprites": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 35,
        "deno-sandbox": 45,
        "edge": "sprites",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "sprites": 80,
        "weight": 7
      },
      {
        "by": 1,
        "deno-sandbox": 58,
        "edge": "sprites",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "sprites": 59,
        "weight": 7
      }
    ],
    "summary": "Sprites scores 58.3 (C) on agent readiness against Deno Sandbox's 50.3 (D), and leads in 6 of 7 scored categories. Both do sandbox code.",
    "verdicts": {
      "deno-sandbox": "Secrets stay outside the microVM and are substituted only on outbound requests to approved hosts, and an allowlist limits egress. The service is still in beta, sandboxes need the $20 Pro plan, lifetime is capped at 30 minutes, and no sandbox operation appears in the published OpenAPI document.",
      "sprites": "A Sprite keeps a 100 GB ext4 disk between runs, bills compute only while active and can be checkpointed and restored through a published OpenAPI contract. The status page records four Sprites incidents in the last 90 days, one lasting over seven hours, and outbound network access is unrestricted until a policy is set."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/deno-sandbox-vs-sprites",
    "json": "https://www.anchorterminal.com/compare/deno-sandbox-vs-sprites.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/deno-sandbox-vs-sprites.md",
    "slim": "https://www.anchorterminal.com/compare/deno-sandbox-vs-sprites.min.md"
  },
  "markdown": "Sprites scores 58.3 (C) on agent readiness against Deno Sandbox's 50.3 (D), and leads in 6 of 7 scored categories. Both do sandbox code.\n\n- Deno Sandbox: grade D, 50.3/100, rank #689 of 842. Markdown https://www.anchorterminal.com/tools/deno-sandbox.md · JSON https://www.anchorterminal.com/api/v1/tools/deno-sandbox.json\n- Sprites: grade C, 58.3/100, rank #528 of 842. Markdown https://www.anchorterminal.com/tools/sprites.md · JSON https://www.anchorterminal.com/api/v1/tools/sprites.json\n\n## Which one, for what\n\n### Deno Sandbox (D)\n\nGood for: Short runs of untrusted or generated code that need outside API keys kept out of reach, and teams already on Deno Deploy who want to promote a sandbox to an app.\n\nWatch for: Beta since 3 February 2026. The docs call the present phase pre-release, and no general availability date was found\n\n### Sprites (C)\n\nGood for: Agents that need a long-lived machine with installed tools and files kept between sessions, and rollback by checkpoint.\n\nAhead on:\n- Reliability, 55 against 48\n- Schema \u0026 documentation, 74 against 66\n- Agent ergonomics, 68 against 60\n- Payments \u0026 pricing, 30 against 20\n- Maintenance \u0026 community, 80 against 45\n\nWatch for: Four Sprites incidents on the status page in 90 days, including a partial outage of 7 hours 28 minutes on 23 September 2026 and failed creates outside Europe for 28 minutes on 8 October\n\n\n## Score by category\n\n| Category | Weight | Deno Sandbox | Sprites | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 48 | 55 | Sprites +7 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 66 | 74 | Sprites +8 |\n| Agent ergonomics | 13% (16.2 this run) | 60 | 68 | Sprites +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 61 | 59 | Deno Sandbox +2 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 30 | Sprites +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 45 | 80 | Sprites +35 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 58 | 59 | Sprites +1 |\n| Negative events | ≤15 | -2 | -2 | |\n| **Total** | | **50.3 · D** | **58.3 · C** | |\n\n## Facts side by side\n\n| Fact | Deno Sandbox | Sprites |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Deno Land Inc. | Fly.io |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Paid | Pay per use |\n| x402 | no | no |\n| Licence | Proprietary service under the Deno Deploy terms and conditions. The `@deno/sandbox` and `deno-sandbox` SDKs are MIT | Proprietary service under the Fly.io Terms of Service. The JavaScript, Go, Python and Elixir SDKs are MIT |\n| Read-only variant documented | yes | yes |\n| llms.txt | yes | yes |\n| Last release | 2026-07-22 | 2026-10-06 |\n| Terms last updated | 2026-09-30 | 2026-04-29 |\n| Privacy policy last updated | 2026-09-30 | 2026-09-24 |\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 | not found in the text |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 6 stars, 2k npm/wk, 32k PyPI/wk | 158k npm/wk, 59k PyPI/wk |\n\n## Verdicts\n\n**Deno Sandbox.** Secrets stay outside the microVM and are substituted only on outbound requests to approved hosts, and an allowlist limits egress. The service is still in beta, sandboxes need the $20 Pro plan, lifetime is capped at 30 minutes, and no sandbox operation appears in the published OpenAPI document.\n\n**Sprites.** A Sprite keeps a 100 GB ext4 disk between runs, bills compute only while active and can be checkpointed and restored through a published OpenAPI contract. The status page records four Sprites incidents in the last 90 days, one lasting over seven hours, and outbound network access is unrestricted until a policy is set.\n\n## Before you call either\n\n### Deno Sandbox\n\n1. Set `DENO_DEPLOY_TOKEN` to an organisation token (prefix `ddo_`) from Settings in console.deno.com. The organisation must be on Pro or above\n2. Pass `allowNet` on every `Sandbox.create()`. The Security page says outbound access is unrestricted when it is omitted\n3. Pass credentials through `secrets` with a `hosts` list, not `env`, so code in the VM sees only a placeholder\n4. The default timeout ends the VM when the client disconnects. Pass a duration such as `\"10m\"` and reconnect with `Sandbox.connect({ id })`, up to 30 minutes\n5. Create volumes in `ord` and start the sandbox in `ord`. A volume mounts only in its own region\n6. `exposeHttp` URLs are public with no authentication. Treat the random subdomain as a secret\n\n### Sprites\n\n1. Create a token at sprites.dev/account after a browser signup, and send it as `Authorization: Bearer \u003ctoken\u003e` to `https://api.sprites.dev`\n2. Follow the OpenAPI document, not the product page example. Create with `POST /v1/sprites` and a JSON `name`, and run commands with `POST /v1/sprites/{name}/exec` using `cmd` query parameters\n3. Set a network policy with `POST /v1/sprites/{name}/policy/network` before running untrusted code. Egress is open until one is set\n4. Processes started by exec stop on a cold wake. Define a Service for anything that must answer the request that wakes the Sprite\n5. Create a checkpoint before a restore. Restoring replaces the filesystem, ends active sessions and keeps no copy of the replaced state\n6. Sprite creation is limited to 10 a minute on pay-as-you-go. The Go SDK reads `Retry-After` and the error code `sprite_creation_rate_limited` on a 429\n7. Delete Sprites you no longer need. An idle Sprite still bills cold storage for the bytes it holds\n\n## Questions\n\n### Which is better for AI agents, Deno Sandbox or Sprites?\n\nSprites scores 58.3 (C) on agent readiness against Deno Sandbox's 50.3 (D), and leads in 6 of 7 scored categories.\n\n### Do Deno Sandbox and Sprites need an API key?\n\nBoth need an API key.\n\n### Can an agent call Deno Sandbox and Sprites without installing anything?\n\nNo hosted endpoint is listed for Deno Sandbox. No hosted endpoint is listed for Sprites.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/deno-sandbox-vs-sprites.json, and with the fewest tokens: https://www.anchorterminal.com/compare/deno-sandbox-vs-sprites.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"deno-sandbox\", \"b\": \"sprites\"}`. From a terminal: `anchor compare deno-sandbox sprites`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/deno-sandbox.json and https://www.anchorterminal.com/api/v1/tools/sprites.json\n\n## Other comparisons with Deno Sandbox or Sprites\n\n- [Amazon Bedrock AgentCore Code Interpreter vs Deno Sandbox](https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-deno-sandbox.md)\n- [Amazon Bedrock AgentCore Code Interpreter vs Sprites](https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-sprites.md)\n- [Blaxel Sandboxes vs Deno Sandbox](https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-deno-sandbox.md)\n- [Blaxel Sandboxes vs Sprites](https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-sprites.md)\n- [Cloudflare Sandbox SDK vs Deno Sandbox](https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-deno-sandbox.md)\n- [Cloudflare Sandbox SDK vs Sprites](https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-sprites.md)\n- [Daytona vs Deno Sandbox](https://www.anchorterminal.com/compare/daytona-vs-deno-sandbox.md)\n- [Daytona vs Sprites](https://www.anchorterminal.com/compare/daytona-vs-sprites.md)\n- [Deno Sandbox vs E2B](https://www.anchorterminal.com/compare/deno-sandbox-vs-e2b.md)\n- [Deno Sandbox vs Freestyle](https://www.anchorterminal.com/compare/deno-sandbox-vs-freestyle.md)\n- [Deno Sandbox vs Microsoft Execution Containers](https://www.anchorterminal.com/compare/deno-sandbox-vs-microsoft-execution-containers.md)\n- [Deno Sandbox vs Modal Sandboxes](https://www.anchorterminal.com/compare/deno-sandbox-vs-modal-sandboxes.md)\n- [Deno Sandbox vs Morph Cloud](https://www.anchorterminal.com/compare/deno-sandbox-vs-morph-cloud.md)\n- [Deno Sandbox vs Runloop Devboxes](https://www.anchorterminal.com/compare/deno-sandbox-vs-runloop.md)\n- [Deno Sandbox vs Together Code Sandbox](https://www.anchorterminal.com/compare/deno-sandbox-vs-together-code-sandbox.md)\n- [Deno Sandbox vs Vercel Sandbox](https://www.anchorterminal.com/compare/deno-sandbox-vs-vercel-sandbox.md)\n- [E2B vs Sprites](https://www.anchorterminal.com/compare/e2b-vs-sprites.md)\n- [Freestyle vs Sprites](https://www.anchorterminal.com/compare/freestyle-vs-sprites.md)\n- [Microsoft Execution Containers vs Sprites](https://www.anchorterminal.com/compare/microsoft-execution-containers-vs-sprites.md)\n- [Modal Sandboxes vs Sprites](https://www.anchorterminal.com/compare/modal-sandboxes-vs-sprites.md)\n- [Morph Cloud vs Sprites](https://www.anchorterminal.com/compare/morph-cloud-vs-sprites.md)\n- [Runloop Devboxes vs Sprites](https://www.anchorterminal.com/compare/runloop-vs-sprites.md)\n- [Sprites vs Together Code Sandbox](https://www.anchorterminal.com/compare/sprites-vs-together-code-sandbox.md)\n- [Sprites vs Vercel Sandbox](https://www.anchorterminal.com/compare/sprites-vs-vercel-sandbox.md)\n- [Agent 37 Cloud vs Deno Sandbox](https://www.anchorterminal.com/compare/agent37-vs-deno-sandbox.md)\n- [Agent 37 Cloud vs Sprites](https://www.anchorterminal.com/compare/agent37-vs-sprites.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": "Deno Sandbox vs Sprites",
        "url": ""
      }
    ],
    "description": "Sprites scores 58.3 (C) on agent readiness against Deno Sandbox's 50.3 (D), and leads in 6 of 7 scored categories. Both do sandbox code. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Deno Sandbox D 50.3",
      "Sprites C 58.3",
      "scores"
    ],
    "h1": "Deno Sandbox vs Sprites",
    "image": "https://www.anchorterminal.com/assets/og/compare-deno-sandbox-vs-sprites.png",
    "path": "/compare/deno-sandbox-vs-sprites",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Deno Sandbox vs Sprites for AI agents, D 50.3 vs C 58.3",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/deno-sandbox-vs-sprites"
  },
  "tokens": {
    "markdown": 2600,
    "slim": 630
  },
  "version": 1
}
