{
  "data": {
    "a": {
      "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:11:20.135416857Z"
        },
        "updatedAt": "2026-10-09T10:11:20.135416857Z"
      }
    },
    "answer": "Sprites scores 58.3 (C) on agent readiness against Together Code Sandbox's 53.6 (D), and leads in 3 of 7 scored categories. Together Code Sandbox leads on schema \u0026 documentation.",
    "b": {
      "slug": "together-code-sandbox",
      "name": "Together Code Sandbox",
      "vendor": "Together AI",
      "vendorUrl": "https://www.together.ai",
      "kind": "http-api",
      "category": "code-sandboxes",
      "summary": "Together AI's hosted virtual machine sandboxes for running commands and code, built from Docker-image snapshots and driven from the `together-sandbox` Python SDK, TypeScript SDK or CLI. Access is by allowlist, on request to Together.",
      "url": "https://www.anchorterminal.com/tools/together-code-sandbox",
      "markdownUrl": "https://www.anchorterminal.com/tools/together-code-sandbox.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/together-code-sandbox.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/together-code-sandbox.json",
      "repo": "https://github.com/togethercomputer/together-sandbox",
      "license": "Proprietary service under Together's terms of service. The SDKs, CLI and OpenAPI documents on GitHub are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.bartender.codesandbox.io",
      "packages": [
        {
          "registry": "pypi",
          "name": "together-sandbox"
        },
        {
          "registry": "npm",
          "name": "together-sandbox"
        }
      ],
      "auth": "api-key",
      "authNotes": "Access is by allowlist. The docs say the `together-sandbox` SDK and CLI must be enabled for an organisation and to contact Together to request it. Once enabled, a project-scoped Together API key is sent as a Bearer token, read from `TOGETHER_API_KEY`. Keys are revocable, can carry an expiry date and have no finer scopes. Each running sandbox also has its own agent token for the in-VM API, which the SDKs handle.",
      "pricing": "usage",
      "pricingNotes": "The pricing page lists Code Sandbox compute at $0.0446 per vCPU-hour and $0.0149 per GiB of RAM per hour, and does not say whether that rate covers the new SDK as well as the legacy one. No free tier or sandbox lets an agent start without a contract. Together has no free trial, platform access needs a $15 first credit purchase, and the organisation must then be enabled on request (https://www.together.ai/pricing, https://docs.together.ai/docs/billing-credits).",
      "priceSummary": "$0.0446 / vCPU-hr",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs page, the repository or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 3,
        "npmWeekly": 1298,
        "pypiWeekly": 3387,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.together.ai/docs/together-code-sandbox",
      "llmsTxt": "https://docs.together.ai/llms.txt",
      "openapi": "https://togethercomputer.github.io/together-sandbox/api-openapi.json",
      "capabilities": [
        "sandbox.code",
        "sandbox.fs",
        "sandbox.persist"
      ],
      "tags": [
        "hosted",
        "usage",
        "allowlist",
        "sales-led",
        "openapi",
        "llms-txt",
        "python",
        "typescript",
        "cli",
        "security-txt"
      ],
      "lastRelease": "2026-10-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.6,
        "grade": "D",
        "agentReady": false,
        "rank": 628,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 12,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 83,
          "payments": 20,
          "reliability": 25,
          "schema": 86,
          "security": 47,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Two public OpenAPI documents, MIT clients for Python and TypeScript, cursor pagination and built-in retries make the surface easy for an agent to drive. Access is the limit. Together enables the SDK per organisation on request, publishes no rate limits or SLA, and neither status page names the sandbox service.",
        "bestFor": "Teams already buying from Together, and former CodeSandbox SDK users, who want Docker-defined sandboxes with disk and memory snapshots from Python or TypeScript.",
        "strengths": [
          "Public OpenAPI documents for the management API (17 operations) and the in-VM API (25), in the repository and on GitHub Pages",
          "Terminating with `memory: true` saves disk and memory, and a new sandbox created from that snapshot resumes its running processes",
          "List calls are cursor-paginated (1 to 100 a page) with filters for status, source snapshot and tags",
          "Both SDKs retry 408, 429 and 5xx three times with exponential backoff, and the docs warn that `snapshots.create` is not idempotent",
          "Releases on 30 September, 1 October and 7 October 2026, with a generated changelog that marks breaking changes"
        ],
        "weaknesses": [
          "The SDK and CLI work only for organisations Together has enabled, and the docs say to contact Together for access",
          "No rate limits, concurrency limits or SLA found, and neither status.together.ai nor status.codesandbox.io names the service",
          "Every sandbox port is public unless an experimental inbound policy is set, and no outbound controls exist yet",
          "Three major versions between 2 June and 28 July 2026, and memory snapshots were removed in 4.0.0 and restored in 4.0.4",
          "The management API answers at `api.bartender.codesandbox.io`, off Together's domain, and the privacy policy's data table has no sandbox row"
        ],
        "agentNotes": [
          "Confirm the organisation is on Together's allowlist before installing. A valid `TOGETHER_API_KEY` alone is not enough",
          "Build a snapshot first with `snapshots.create`. No default image exists, and every sandbox needs `snapshot_id` or `snapshot_alias`",
          "Set `ttl` at creation or call `terminate()`. Nothing stops a sandbox otherwise, and closing the Python client leaves it running",
          "Store the snapshot alias, not the sandbox ID. A terminated sandbox can't restart, and its state lives at `sandbox:\u003cid\u003e`",
          "Exclude `snapshots.create` from retries with `should_retry`, and set `experimental.network_policy` before serving anything private on a port"
        ],
        "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": 53.6
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 83,
          "payments": 20,
          "reliability": 25,
          "schema": 86,
          "security": 47,
          "transparency": 43
        },
        "provenanceScore": 77
      },
      "connect": {
        "install": "pip install together-sandbox  # or npm install together-sandbox"
      },
      "letme": {
        "capability": "https://letme.dev/sandbox.code",
        "tool": "https://letme.dev/together-code-sandbox"
      },
      "sameCompany": [
        "together-fine-tuning"
      ],
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "vCPU",
          "unit": "vcpu-hour",
          "usd": 0.0446,
          "note": "RAM extra at $0.0149 per GiB-hour. Listed under Code Sandbox on the pricing page, which doesn't name the SDK"
        },
        {
          "item": "Default sandbox (1 vCPU, 2 GiB)",
          "unit": "session-hour",
          "usd": 0.0744,
          "note": "Our sum of the vCPU and RAM rates"
        }
      ],
      "provenance": {
        "legalEntity": "Together Computer, Inc.",
        "domain": "together.ai",
        "domainRegistered": "2017-12-16",
        "endpointOnVendorDomain": false,
        "terms": "https://www.together.ai/terms-of-service",
        "privacy": "https://www.together.ai/privacy",
        "statusPage": "https://status.together.ai",
        "changelog": "https://github.com/togethercomputer/together-sandbox/blob/main/CHANGELOG.md",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The terms of service (updated 19 May 2026) name Together Computer, Inc., a Delaware corporation at 251 Rhode Island Street, San Francisco, and cover the website and the Services. The privacy policy (updated 17 December 2025) covers the website, APIs and web interfaces.",
          "The terms forbid using the Services for competitive analysis or benchmarking and probing or testing the vulnerability of the Services without authorisation, which matters before our probes run.",
          "The management API answers at api.bartender.codesandbox.io and sandbox URLs sit under csb.app. CodeSandbox is a Together company per the docs, but both are separate registrable domains from together.ai.",
          "status.together.ai has no sandbox component. status.codesandbox.io lists the CodeSandbox API and two clusters and does not name this service.",
          "security.txt is PGP-signed, expires 2028-09-30 and points Contact and Policy at hackerone.com/together_ai. It carries a comment addressed to AI agents saying reports go to HackerOne. Recorded as a fact, and we did not act on it.",
          "RDAP for together.ai gives a registration date of 2017-12-16.",
          "trust.together.ai is script-drawn and showed our reader only its title. No DPA or sub-processor page was found."
        ],
        "score": 77
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/together-code-sandbox.json",
      "live": {
        "slug": "together-code-sandbox",
        "probe": {
          "target": "https://api.bartender.codesandbox.io",
          "method": "get",
          "lastAt": "2026-10-09T10:14:30.155277956Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 143,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 146,
          "p95ms24h": 181,
          "samples24h": 28,
          "samples30d": 28,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 28,
              "ok": 28
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.together.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:58:36.139351511Z"
        },
        "updatedAt": "2026-10-09T10:14:30.155277956Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Fly.io",
        "b": "Together AI",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.bartender.codesandbox.io",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Fly.io Terms of Service. The JavaScript, Go, Python and Elixir SDKs are MIT",
        "b": "Proprietary service under Together's terms of service. The SDKs, CLI and OpenAPI documents on GitHub are MIT",
        "name": "Licence"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-06",
        "b": "2026-10-07",
        "name": "Last release"
      },
      {
        "a": "2026-04-29",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-24",
        "b": "no date given",
        "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": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "158k npm/wk, 59k PyPI/wk",
        "b": "3 stars, 1.3k npm/wk, 3.4k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Sprites scores 58.3 (C) on agent readiness against Together Code Sandbox's 53.6 (D), and leads in 3 of 7 scored categories. Together Code Sandbox leads on schema \u0026 documentation.",
        "question": "Which is better for AI agents, Sprites or Together Code Sandbox?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Sprites and Together Code Sandbox need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Sprites. Together Code Sandbox has a hosted endpoint at https://api.bartender.codesandbox.io.",
        "question": "Can an agent call Sprites and Together Code Sandbox without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 55 against 25",
          "Security \u0026 auth, 59 against 47",
          "Payments \u0026 pricing, 30 against 20"
        ],
        "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"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 86 against 74"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "Teams already buying from Together, and former CodeSandbox SDK users, who want Docker-defined sandboxes with disk and memory snapshots from Python or TypeScript.",
        "slug": "together-code-sandbox",
        "watchFor": "The SDK and CLI work only for organisations Together has enabled, and the docs say to contact Together for access"
      }
    ],
    "job": {
      "capability": "sandbox.code",
      "name": "Sandbox code"
    },
    "others": [
      {
        "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/agentcore-code-interpreter-vs-together-code-sandbox.json",
        "title": "Amazon Bedrock AgentCore Code Interpreter vs Together Code Sandbox",
        "url": "https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-together-code-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/blaxel-sandboxes-vs-together-code-sandbox.json",
        "title": "Blaxel Sandboxes vs Together Code Sandbox",
        "url": "https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-together-code-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/cloudflare-sandbox-sdk-vs-together-code-sandbox.json",
        "title": "Cloudflare Sandbox SDK vs Together Code Sandbox",
        "url": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-together-code-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/daytona-vs-together-code-sandbox.json",
        "title": "Daytona vs Together Code Sandbox",
        "url": "https://www.anchorterminal.com/compare/daytona-vs-together-code-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deno-sandbox-vs-sprites.json",
        "title": "Deno Sandbox vs Sprites",
        "url": "https://www.anchorterminal.com/compare/deno-sandbox-vs-sprites"
      },
      {
        "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/e2b-vs-sprites.json",
        "title": "E2B vs Sprites",
        "url": "https://www.anchorterminal.com/compare/e2b-vs-sprites"
      },
      {
        "json": "https://www.anchorterminal.com/compare/e2b-vs-together-code-sandbox.json",
        "title": "E2B vs Together Code Sandbox",
        "url": "https://www.anchorterminal.com/compare/e2b-vs-together-code-sandbox"
      },
      {
        "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/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/microsoft-execution-containers-vs-together-code-sandbox.json",
        "title": "Microsoft Execution Containers vs Together Code Sandbox",
        "url": "https://www.anchorterminal.com/compare/microsoft-execution-containers-vs-together-code-sandbox"
      },
      {
        "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/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/morph-cloud-vs-together-code-sandbox.json",
        "title": "Morph Cloud vs Together Code Sandbox",
        "url": "https://www.anchorterminal.com/compare/morph-cloud-vs-together-code-sandbox"
      },
      {
        "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/runloop-vs-together-code-sandbox.json",
        "title": "Runloop Devboxes vs Together Code Sandbox",
        "url": "https://www.anchorterminal.com/compare/runloop-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/together-code-sandbox-vs-vercel-sandbox.json",
        "title": "Together Code Sandbox vs Vercel Sandbox",
        "url": "https://www.anchorterminal.com/compare/together-code-sandbox-vs-vercel-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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent37-vs-together-code-sandbox.json",
        "title": "Agent 37 Cloud vs Together Code Sandbox",
        "url": "https://www.anchorterminal.com/compare/agent37-vs-together-code-sandbox"
      }
    ],
    "scores": [
      {
        "by": 30,
        "edge": "sprites",
        "key": "reliability",
        "name": "Reliability",
        "sprites": 55,
        "together-code-sandbox": 25,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 12,
        "edge": "together-code-sandbox",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "sprites": 74,
        "together-code-sandbox": 86,
        "weight": 13
      },
      {
        "by": 2,
        "edge": "together-code-sandbox",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "sprites": 68,
        "together-code-sandbox": 70,
        "weight": 13
      },
      {
        "by": 12,
        "edge": "sprites",
        "key": "security",
        "name": "Security \u0026 auth",
        "sprites": 59,
        "together-code-sandbox": 47,
        "weight": 14
      },
      {
        "by": 10,
        "edge": "sprites",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "sprites": 30,
        "together-code-sandbox": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 3,
        "edge": "together-code-sandbox",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "sprites": 80,
        "together-code-sandbox": 83,
        "weight": 7
      },
      {
        "by": 1,
        "edge": "together-code-sandbox",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "sprites": 59,
        "together-code-sandbox": 60,
        "weight": 7
      }
    ],
    "summary": "Sprites scores 58.3 (C) on agent readiness against Together Code Sandbox's 53.6 (D), and leads in 3 of 7 scored categories. Together Code Sandbox leads on schema \u0026 documentation. Both do sandbox code.",
    "verdicts": {
      "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.",
      "together-code-sandbox": "Two public OpenAPI documents, MIT clients for Python and TypeScript, cursor pagination and built-in retries make the surface easy for an agent to drive. Access is the limit. Together enables the SDK per organisation on request, publishes no rate limits or SLA, and neither status page names the sandbox service."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/sprites-vs-together-code-sandbox",
    "json": "https://www.anchorterminal.com/compare/sprites-vs-together-code-sandbox.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/sprites-vs-together-code-sandbox.md",
    "slim": "https://www.anchorterminal.com/compare/sprites-vs-together-code-sandbox.min.md"
  },
  "markdown": "Sprites scores 58.3 (C) on agent readiness against Together Code Sandbox's 53.6 (D), and leads in 3 of 7 scored categories. Together Code Sandbox leads on schema \u0026 documentation. Both do sandbox code.\n\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- Together Code Sandbox: grade D, 53.6/100, rank #628 of 842. Markdown https://www.anchorterminal.com/tools/together-code-sandbox.md · JSON https://www.anchorterminal.com/api/v1/tools/together-code-sandbox.json\n\n## Which one, for what\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 25\n- Security \u0026 auth, 59 against 47\n- Payments \u0026 pricing, 30 against 20\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### Together Code Sandbox (D)\n\nGood for: Teams already buying from Together, and former CodeSandbox SDK users, who want Docker-defined sandboxes with disk and memory snapshots from Python or TypeScript.\n\nAhead on:\n- Schema \u0026 documentation, 86 against 74\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: The SDK and CLI work only for organisations Together has enabled, and the docs say to contact Together for access\n\n\n## Score by category\n\n| Category | Weight | Sprites | Together Code Sandbox | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 55 | 25 | Sprites +30 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 74 | 86 | Together Code Sandbox +12 |\n| Agent ergonomics | 13% (16.2 this run) | 68 | 70 | Together Code Sandbox +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 59 | 47 | Sprites +12 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 20 | Sprites +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 80 | 83 | Together Code Sandbox +3 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 59 | 60 | Together Code Sandbox +1 |\n| Negative events | ≤15 | -2 | 0 | |\n| **Total** | | **58.3 · C** | **53.6 · D** | |\n\n## Facts side by side\n\n| Fact | Sprites | Together Code Sandbox |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Fly.io | Together AI |\n| Hosted endpoint | no (local only) | `https://api.bartender.codesandbox.io` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | Proprietary service under the Fly.io Terms of Service. The JavaScript, Go, Python and Elixir SDKs are MIT | Proprietary service under Together's terms of service. The SDKs, CLI and OpenAPI documents on GitHub are MIT |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-06 | 2026-10-07 |\n| Terms last updated | 2026-04-29 | no date given |\n| Privacy policy last updated | 2026-09-24 | no date given |\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 | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 158k npm/wk, 59k PyPI/wk | 3 stars, 1.3k npm/wk, 3.4k PyPI/wk |\n\n## Verdicts\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**Together Code Sandbox.** Two public OpenAPI documents, MIT clients for Python and TypeScript, cursor pagination and built-in retries make the surface easy for an agent to drive. Access is the limit. Together enables the SDK per organisation on request, publishes no rate limits or SLA, and neither status page names the sandbox service.\n\n## Before you call either\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### Together Code Sandbox\n\n1. Confirm the organisation is on Together's allowlist before installing. A valid `TOGETHER_API_KEY` alone is not enough\n2. Build a snapshot first with `snapshots.create`. No default image exists, and every sandbox needs `snapshot_id` or `snapshot_alias`\n3. Set `ttl` at creation or call `terminate()`. Nothing stops a sandbox otherwise, and closing the Python client leaves it running\n4. Store the snapshot alias, not the sandbox ID. A terminated sandbox can't restart, and its state lives at `sandbox:\u003cid\u003e`\n5. Exclude `snapshots.create` from retries with `should_retry`, and set `experimental.network_policy` before serving anything private on a port\n\n## Questions\n\n### Which is better for AI agents, Sprites or Together Code Sandbox?\n\nSprites scores 58.3 (C) on agent readiness against Together Code Sandbox's 53.6 (D), and leads in 3 of 7 scored categories. Together Code Sandbox leads on schema \u0026 documentation.\n\n### Do Sprites and Together Code Sandbox need an API key?\n\nBoth need an API key.\n\n### Can an agent call Sprites and Together Code Sandbox without installing anything?\n\nNo hosted endpoint is listed for Sprites. Together Code Sandbox has a hosted endpoint at https://api.bartender.codesandbox.io.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/sprites-vs-together-code-sandbox.json, and with the fewest tokens: https://www.anchorterminal.com/compare/sprites-vs-together-code-sandbox.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"sprites\", \"b\": \"together-code-sandbox\"}`. From a terminal: `anchor compare sprites together-code-sandbox`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/sprites.json and https://www.anchorterminal.com/api/v1/tools/together-code-sandbox.json\n\n## Other comparisons with Sprites or Together Code Sandbox\n\n- [Amazon Bedrock AgentCore Code Interpreter vs Sprites](https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-sprites.md)\n- [Amazon Bedrock AgentCore Code Interpreter vs Together Code Sandbox](https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-together-code-sandbox.md)\n- [Blaxel Sandboxes vs Sprites](https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-sprites.md)\n- [Blaxel Sandboxes vs Together Code Sandbox](https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-together-code-sandbox.md)\n- [Cloudflare Sandbox SDK vs Sprites](https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-sprites.md)\n- [Cloudflare Sandbox SDK vs Together Code Sandbox](https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-together-code-sandbox.md)\n- [Daytona vs Sprites](https://www.anchorterminal.com/compare/daytona-vs-sprites.md)\n- [Daytona vs Together Code Sandbox](https://www.anchorterminal.com/compare/daytona-vs-together-code-sandbox.md)\n- [Deno Sandbox vs Sprites](https://www.anchorterminal.com/compare/deno-sandbox-vs-sprites.md)\n- [Deno Sandbox vs Together Code Sandbox](https://www.anchorterminal.com/compare/deno-sandbox-vs-together-code-sandbox.md)\n- [E2B vs Sprites](https://www.anchorterminal.com/compare/e2b-vs-sprites.md)\n- [E2B vs Together Code Sandbox](https://www.anchorterminal.com/compare/e2b-vs-together-code-sandbox.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- [Microsoft Execution Containers vs Sprites](https://www.anchorterminal.com/compare/microsoft-execution-containers-vs-sprites.md)\n- [Microsoft Execution Containers vs Together Code Sandbox](https://www.anchorterminal.com/compare/microsoft-execution-containers-vs-together-code-sandbox.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- [Morph Cloud vs Sprites](https://www.anchorterminal.com/compare/morph-cloud-vs-sprites.md)\n- [Morph Cloud vs Together Code Sandbox](https://www.anchorterminal.com/compare/morph-cloud-vs-together-code-sandbox.md)\n- [Runloop Devboxes vs Sprites](https://www.anchorterminal.com/compare/runloop-vs-sprites.md)\n- [Runloop Devboxes vs Together Code Sandbox](https://www.anchorterminal.com/compare/runloop-vs-together-code-sandbox.md)\n- [Sprites vs Vercel Sandbox](https://www.anchorterminal.com/compare/sprites-vs-vercel-sandbox.md)\n- [Together Code Sandbox vs Vercel Sandbox](https://www.anchorterminal.com/compare/together-code-sandbox-vs-vercel-sandbox.md)\n- [Agent 37 Cloud vs Sprites](https://www.anchorterminal.com/compare/agent37-vs-sprites.md)\n- [Agent 37 Cloud vs Together Code Sandbox](https://www.anchorterminal.com/compare/agent37-vs-together-code-sandbox.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": "Sprites vs Together Code Sandbox",
        "url": ""
      }
    ],
    "description": "Sprites scores 58.3 (C) on agent readiness against Together Code Sandbox's 53.6 (D), and leads in 3 of 7 scored categories. Together Code Sandbox leads on schema \u0026 documentation. Both do sandbox code. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Sprites C 58.3",
      "Together Code Sandbox D 53.6",
      "scores"
    ],
    "h1": "Sprites vs Together Code Sandbox",
    "image": "https://www.anchorterminal.com/assets/og/compare-sprites-vs-together-code-sandbox.png",
    "path": "/compare/sprites-vs-together-code-sandbox",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Sprites vs Together Code Sandbox for AI agents, C 58.3 vs D 53.6",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/sprites-vs-together-code-sandbox"
  },
  "tokens": {
    "markdown": 2750,
    "slim": 630
  },
  "version": 1
}
