# Daytona

Secure Infrastructure for Running AI-Generated Code

Source: https://wheredoirunthis.com/products/daytona · JSON: https://wheredoirunthis.com/api/products/daytona · Read on 2026-10-15

## At a glance

- Type: Sandbox
- Kind: Hosted
- Isolation: Container
- Free tier: Yes
- Starting price: Not disclosed
- GPU: Yes
- Regions: 2
- Coverage: 29 of 61 assessed capabilities supported
- Agent readiness: read 10 of 11 signals, drive 11 of 11 signals

## Links

- Homepage: https://www.daytona.io/
- Docs: https://www.daytona.io/docs
- Pricing: https://www.daytona.io/pricing

## Pricing

- Model: Usage-based PAYG; Enterprise custom terms; startup credits
- Unit: Per-second billing; rates displayed per vCPU-hour, GiB-RAM-hour and GiB-storage-hour; GPU-hour and Windows premium
- Free tier: Yes

| Tier | Price | Includes | Notes |
| --- | --- | --- | --- |
| Pay-as-you-go | $0 base + metered resources | $200 one-time trial compute credit; not monthly recurring credit. | Verification tiers affect capacity and network access; not a blanket claim of no tiers. [source](https://www.daytona.io/pricing) |
| Enterprise | Custom |  | Larger limits, SSO, audit logs or BYOC; contact sales. [source](https://www.daytona.io/pricing) |

- Overages: CPU $0.0504/vCPU-h; RAM $0.0162/GiB-h; disk $0.000108/GiB-h; Windows +$0.0858/vCPU-h. GPU on-demand/preemptible: B300 6.25/4.08, B200 6.25/3.59, MI355X 5.99/3.44, H200 4.54/2.61, H100 3.95/2.27, RTX PRO6000 3.03/1.74, RTX5090 1.29/0.74, RTX4090 0.99/0.57 USD/h.
- Card required: No
- Source: https://www.daytona.io/pricing

## Website design

Desktop public website · assessed 2026-10-15

Complete assessment.

Dark, spacious marketing pages pair white sans-serif headlines and blue actions with monospaced technical details and fine outlined panels. Documentation switches to a white, three-column reading layout with monospaced headings and green navigation accents.

- Styles: Swiss-inspired, Corporate
- Landing page: captured
- Pricing: captured
- Docs: captured

## Runtime

- **GPU & accelerators**: Yes — "NVIDIA and AMD GPU sandboxes; preemptible and on-demand rate cards." [source](https://www.daytona.io/pricing) (confidence: high)
- **BYOC (Bring your own cloud)**: Customer-managed compute / BYOC; Enterprise sales for deployment on your own infrastructure. — "Customer-managed runners do not establish an OSS license or self-hostable current control plane." [source](https://www.daytona.io/docs/en/bring-your-own-compute.md) (confidence: high)
- **Secrets management**: Opaque secret placeholders with outbound HTTPS credential injection; secrets remain outside sandbox. [source](https://www.daytona.io/docs/en/secrets.md)
- **Storage options**: Persistent sandbox disk, snapshots and shared volumes; first 5 GiB storage free. [source](https://www.daytona.io/docs/en/volumes.md)
- **Supported workloads**: ai-agent-code-execution, computer-use-desktop, data-analysis, gpu-inference-fine-tuning, persistent-development [source](https://www.daytona.io/docs/en/sandboxes.md)
- **Persistence**: Persistent by default; stop preserves identity, filesystem and configuration until explicit/ephemeral/auto-delete removal. [source](https://www.daytona.io/docs/en/persistence.md)
- **Data jurisdiction**: United States, Europe — "Shared regions us/eu. Earth is logical global GPU placement, not a country or residency promise; dedicated/custom region arrangements separate." [source](https://www.daytona.io/docs/en/regions.md) (confidence: high)
- **Resource limits & quotas**: Tier-based organization quotas; documented general API 10k/20k/40k/50k rpm and sandbox creation 300/400/500/600 rpm; runtime/resource quotas apply. — "Monthly sandbox throughput is not the concurrent sandbox cap. No live capacity reservation tested." [source](https://www.daytona.io/docs/en/limits.md) (confidence: high)
- **SDK languages**: python, typescript, javascript, ruby, go, java [source](https://www.daytona.io/docs/)
- **Network & egress controls**: Yes — "Block-all, CIDR/domain allowlists and outbound proxy; automatic tier restrictions on lower tiers." [source](https://www.daytona.io/docs/en/network-limits.md) (confidence: high)
- **Snapshots & forks**: Yes — "VM forks duplicate filesystem and memory; VM pause/resume and hot snapshots preserve running state. Container filesystem snapshots are distinct." [source](https://www.daytona.io/docs/en/sandboxes.md) (confidence: high)
- **Deployment methods**: sdk, api, cli, mcp, container-image, dockerfile [source](https://www.daytona.io/docs/en/sandboxes.md)
- **Isolation**: Container — "Default container sandbox: dedicated namespaces and resource limits. Selectable Linux VM/Windows sandboxes have their own kernel; GPU uses isolated container/exclusive GPU. Primary enum represents default, not all classes." [source](https://www.daytona.io/docs/en/isolation.md) (confidence: high)

## Capabilities

### AI & agents

| Capability | Status | Evidence |
| --- | --- | --- |
| Agent skills | Supported | "Go, and Ruby SDKs. ## Installation Daytona provides multiple options to install the agent skill. ### Skills ```bash npx skills add https://github.com/daytona/skills --skill daytona ``` ### Claude Code (Plugin) ```bash claude plugin marketplace add daytona/skills claude plugin install daytona@daytona --scope user ``` Scope options: `user` (all projects), `project` (shared via git), `local` (gitignored). ### Manual Clone the Daytona skills repository: ```bash git clone https://github.com/daytona/skills.git ``` Copy the `daytona` subdirectory into your agent's `skills` directory: \| **Agent** \| **Skill directory**" [source](https://www.daytona.io/docs/en/agent-skills.md) |
| AI app builder | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| Autonomous QA agent | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| Built-in coding agent | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| BYOK for LLMs | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| Credential-injection proxy | Supported | "sandbox. Instead of an environment variable holding the actual API key, the sandbox holds an opaque placeholder token. An outbound proxy replaces the placeholder with the real value before the request reaches its destination, and only when the request goes to a host you have allowed. This lets you give a sandbox access to a credential such as an LLM API key or a database password while keeping the plaintext out of the sandbox environment, file system, process arguments, and logs. Code running in the sandbox can use the credential to reach an approved host, but cannot read the value, and cannot send it to any other host as long as the secret has a [host allowlist](#" [source](https://www.daytona.io/docs/en/secrets.md) |
| LLM gateway | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| MCP client | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| MCP-server hosting | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| MCP server | Supported | "# Daytona MCP Server Daytona Model Context Protocol (MCP) server enables AI agents to interact with [Daytona Sandboxes](https://www.daytona.io/docs/en/sandboxes.md) programmatically. This guide covers how to set up and use the MCP server with various AI agents. ## Install Daytona CLI Install the Daytona CLI to manage the MCP server. ```bash brew install daytonaio/cli/daytona ``` ```bash powershell -Command "irm https://get.daytona.io/windows \| iex" ```" [source](https://www.daytona.io/docs/en/mcp.md) |
| Model inference API (first-party) | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| Preinstalled coding agent | Supported | "This creates a sandbox named `claude-sandbox`, visible in your [Dashboard](https://app.daytona.io/dashboard/sandboxes). The default Daytona snapshot includes Claude Code, so the command above is all you need. :::tip Need more power? Pass `--snapshot daytona-large` or `--snapshot daytona-medium` flag to increase your sandbox resources. See [default snapshots](https://www.daytona.io/docs/en/snapshots.md#default-snapshots) for resource details. ::: ### Connect to the Sandbox SSH into your sandbox: ```bash daytona ssh claude-sandbox ``` You now have an interactive terminal session inside the sandbox. ### Run C" [source](https://www.daytona.io/docs/en/guides/claude/claude-code-run-cli-sandbox.md) |

### Networking & delivery

| Capability | Status | Evidence |
| --- | --- | --- |
| Automatic HTTPS | Supported | "view URLs require a token unless the sandbox is public preview = sandbox.get_preview_link(3000) print(preview.url) # https://3000-{sandboxId}.{proxy-domain} print(preview.token) # sent via the x-daytona-preview-token header ``` ```typescript import { Daytona } from '@daytona/sdk' const daytona = new Daytona() const sandbox = await daytona.create() // Preview URLs require a token unless the sandbox is public const preview = await sandbox.getPreviewLink(3000) console.log(preview.url) // https://3000-{sandboxId}.{proxy-domain} console.log(preview.token) // sent via the x-daytona-preview-token" [source](https://www.daytona.io/docs/en/isolation.md) |
| Custom domains | Partially supported | "Customer can run a custom preview proxy under their domain; not evidenced as platform-managed CNAME/TLS binding. Custom proxy implementation required." [source](https://www.daytona.io/docs/en/custom-preview-proxy.md) |
| Direct public IPv6 | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| Edge KV store | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| Egress controls | Supported | "and above; restricted on Tier 1 and 2 \| <u>[**Network limits**](https://www.daytona.io/docs/en/network-limits.md)</u>: block all, CIDR allow list, domain allow list, or <u>[**outbound proxy**](https://www.daytona.io/docs/en/network-limits.md#outbound-proxy)</u> \| \| Internet to sandbox \| Authenticated preview URLs and SSH access \| <u>[**Preview tokens and signed URLs**](https://www.daytona.io/docs/en/preview.md)</u> and <u>[**SSH tokens**](https://www.daytona.io/docs/en/ssh-access.md)</u>; the **`public`** flag opts previews out of authentication \| \| Sandbox to sandbox \| No shared network" [source](https://www.daytona.io/docs/en/isolation.md) |
| Email send / receive | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| Public preview URLs | Supported | "# Preview Daytona provides preview URLs for accessing services running in your sandboxes. Any process listening for HTTP traffic on ports `1` - `65535` can be previewed through a generated URL. Daytona supports two types of preview URLs, each with a different authentication mechanism: - [Standard preview URL](#standard-preview-url) uses the sandbox ID in the URL and requires a separate token for authentication. That token is sandbox-wide and cannot be" [source](https://www.daytona.io/docs/en/preview.md) |
| Private networking | Supported | "network. [Linked sandboxes](https://www.daytona.io/docs/en/sandboxes.md#linked-sandboxes) are the deliberate exception: children are scheduled onto the same runner as their parent and joined into a link network where each sandbox is reachable by name, while remaining isolated from every sandbox outside the group. ```python from daytona import CreateSandboxFromSnapshotParams, Daytona daytona = Daytona() parent = daytona.create() # Only linked sandboxes share a network; everything else is isolated child = daytona.create(CreateSandboxFromSnapshotParams( linked_sandbox=parent.id, ephemeral=True, )) # Sandboxes on the link network are reachabl" [source](https://www.daytona.io/docs/en/isolation.md) |
| Built-in reverse proxy | Supported | "d-host) to forward your value unchanged. ## WebSocket support The preview proxy fully supports WebSocket connections. WebSocket upgrade requests (`Upgrade: websocket`) are automatically detected and proxied. WebSocket connections skip the preview warning page. ## Reserved ports The following ports are reserved for internal services and always require authentication, even on public sandboxes: \| Port \| Service \| \| ----------- \| ----------------------------------------- \| \| **`22222`** \| [**Web** terminal](https://www.daytona.io/docs/en/web-termin" [source](https://www.daytona.io/docs/en/custom-preview-proxy.md) |

### Organisation & security

| Capability | Status | Evidence |
| --- | --- | --- |
| Built-in auth | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| BYOC | Supported | "# Bring Your Own Compute (BYOC) Bring Your Own Compute enables you to run sandbox workloads on your own infrastructure while using Daytona's control plane to manage them. Daytona provides two [built-in regions](https://www.daytona.io/docs/en/regions.md) (**US** and **EU**) for shared compute resources and handling provisioning, maintenance, monitoring, and scaling on your behalf. You can define one or more [custom regions](#custom-regions) and attach your own runner nodes. Custom regions can also include a region-specific sandbox proxy service and snapshot man" [source](https://www.daytona.io/docs/en/bring-your-own-compute.md) |
| Deploy into customers' VPCs | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| Secrets management | Supported | "ate to external services without hardcoding credentials into your source, snapshots, or sandbox environment variables. Secrets are organization-scoped, encrypted credentials that Daytona injects into a sandbox's outbound HTTPS traffic without ever placing the plaintext inside the sandbox. Instead of an environment variable holding the actual API key, the sandbox holds an opaque placeholder token. An outbound proxy replaces the placeholder with the real value before the request reaches its destination, and only when the request goes to a host you have allowed. This lets you give a sandbox access to a credential such" [source](https://www.daytona.io/docs/en/secrets.md) |
| Self-host / OSS core | Not supported | "Primary current hosted core closed June 2026. Archived historical AGPL code is sibling only; do not score primary hosted pass." [source](https://raw.githubusercontent.com/daytonaio/daytona/main/README.md) |
| Sharing | Supported | "ication. That token is sandbox-wide and cannot be revoked — use it for your own programmatic access, not for sharing - [Signed preview URL](#signed-preview-url) embeds the authentication token directly in the URL, requiring no headers. The token is bound to a single port, expires, and can be revoked — use it when sharing access with someone else ## Authentication If a sandbox has its `public` property set to `true`, preview links are publicly accessible without authentication. Otherwise, authentication is required. The authentication mechanism depends on the preview U" [source](https://www.daytona.io/docs/en/preview.md) |
| SSO / SAML | Partially supported | "y provider step by step, with instructions and screenshots for each screen you configure on the identity provider side. Connections can use SAML or OIDC. Daytona lists the connections you configure on the SSO page. Managing SSO requires the **`manage:sso`** permission. Organization owners and members with the **SSO Admin** assignment can open the SSO page. See [roles](https://www.daytona.io/docs/en/organizations.md#roles). :::note SSO is available on the Enterprise plan for collaborative organizations. Personal organizations cannot configure SSO. ::: ## Configure SSO Connect an identity provi" [source](https://www.daytona.io/docs/en/sso.md) |
| Teams | Supported | "# Organizations Daytona provides organizations as a way to group resources and enable collaboration. Users can work individually in their personal organization or together in a collaborative organization. Go to [Daytona Dashboard ↗](https://app.daytona.io/dashboard) to manage your organizations, or use the [API](https://www.daytona.io/docs/en/tools/api.md#daytona/tag/organizations) to manage them programmatically. ## Personal vs Collaborative Every Daytona" [source](https://www.daytona.io/docs/en/organizations.md) |
| Workload identity | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |

### Developer access

| Capability | Status | Evidence |
| --- | --- | --- |
| CLI | Supported | "# CLI Daytona provides command-line access to core features for interacting with Daytona Sandboxes, including managing their lifecycle, snapshots, and more. The CLI reference lists all commands supported by the `daytona` command-line tool, complete with a description of their behavior, and any supported flags. You can access this documentation on a per-command basis by appending the `--help`/`-h` flag when invoking `daytona`. ## Installation Install the Da" [source](https://www.daytona.io/docs/en/tools/cli.md) |
| E2B-compatible API | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| Filesystem API | Supported | "```bash curl 'https://proxy.app.daytona.io/toolbox/{sandboxId}/files/folder?path=&mode=' \ --request POST ``` ### Upload files Daytona provides methods to upload a single or multiple files in sandboxes. #### Upload a single file Upload a single file by providing the content to upload and the path to the file to upload it to. ```python # Upload from memory (small files) content = b"Hello, World!" sandbox.fs.upload_file(content, "remote_file.txt") # Upload from a local file path (streams large files) sandbox.fs.upload_file("local_file.txt", "remote_file.txt") ```" [source](https://www.daytona.io/docs/en/file-system-operations.md) |
| Git deploy | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| HTTP data API | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| OpenAPI spec | Supported | "{ "openapi": "3.0.0", "info": { "contact": { "email": "support@daytona.com", "name": "Daytona Platforms Inc.", "url": "https://www.daytona.io" }, "description": "Daytona AI platform API Docs", "license": { "name": "Apache-2.0", "url": "https://www.apache.org/licenses/LICENSE-2.0" }, "title": "Daytona", "version": "1.0" }, "servers"" [source](https://www.daytona.io/docs/openapi.json) |
| Private container registry | Partially supported | "Snapshots from private registries documents pulling external private images; it does not establish a general hosted private image registry. Daytona stores snapshots." [source](https://www.daytona.io/docs/en/snapshots.md) |
| Public API | Supported | "curl 'https://app.daytona.io/api/api-keys' \ --header 'X-Daytona-Organization-ID: YOUR_ORGANIZATION_ID' \ --header 'Authorization: Bearer YOUR_JWT_TOKEN' ``` ## Get current API key Get details of the API key used to authenticate the current request. ```bash curl 'https://app.daytona.io/api/api-keys/current' \ --header 'X-Daytona-Organization-ID: YOUR_ORGANIZATION_ID' \ --header 'Authorization: Bearer YOUR_API_KEY' ``` ## Get API key Get a single API key by name. ```bash curl 'https://app.daytona.io/api/api-keys/my-api-key' \ --header 'X-Daytona-Organization-ID: YOU" [source](https://www.daytona.io/docs/en/api-keys.md) |
| SDK | Supported | "rom daytona import Daytona daytona = Daytona() sandbox = daytona.create() ``` ```typescript import { Daytona } from '@daytona/sdk' const daytona = new Daytona() const sandbox = await daytona.create() ``` ```ruby require 'daytona' daytona = Daytona::Daytona.new sandbox = daytona.create ``` ```go package main import ( "context" "github.com/daytona/clients/sdk-go/pkg/daytona" ) func main() { client, _ := daytona.NewClient() ctx := context.Background() _, _ = client.Create(ctx, nil) } ``` ```java import io.daytona.sdk.Daytona; import io.daytona.sdk.Sandbox; pub" [source](https://www.daytona.io/docs/en/sandboxes.md) |
| SSH access | Supported | "# SSH Access Daytona provides SSH access to your sandboxes using token-based authentication. This allows you to connect from local terminals, IDEs, and development tools without installing additional software. ## Access from Dashboard Create an SSH access token directly from the [Daytona Dashboard ↗](https://app.daytona.io/dashboard/sandboxes). 1. Go to [Sandboxes ↗](https://app.daytona.io/dashboard/sandboxes) 2. Locate the sandbox you want to cre" [source](https://www.daytona.io/docs/en/ssh-access.md) |

### Compute & storage

| Capability | Status | Evidence |
| --- | --- | --- |
| Cloud-init / ignition config | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| Desktop / computer-use sandbox | Supported | "# Computer Use Computer Use enables programmatic control of desktop environments within sandboxes. It provides mouse, keyboard, screenshot, screen recording, and display operations for automating GUI interactions and testing desktop applications. Computer Use and [VNC](https://www.daytona.io/docs/en/vnc-access.md) work together to enable both manual and automated desktop interactions. VNC provides the visual interface for users to manually interact with the" [source](https://www.daytona.io/docs/en/computer-use.md) |
| GPU compute | Supported | "lt. Daytona also provides [VM sandboxes](#vm-sandboxes) with a dedicated **Linux VM** or **Windows** operating system, [GPU sandboxes](#gpu-sandboxes) with **NVIDIA** and **AMD GPU** acceleration for model inference, fine-tuning, and GPU-accelerated compute, and [macOS sandboxes](#macos-sandboxes) running on dedicated Apple silicon hardware. <DocLinkCardGrid> <DocLinkCard title="Container" href="#create-sandboxes" icon="package" description="Default Linux container runtime for running processes and executing code." features={['<90ms', 'Dynamic builds', '" [source](https://www.daytona.io/docs/en/sandboxes.md) |
| Live-state (memory) snapshots | Supported | "is preserved through <u>[**pause / resume**](https://www.daytona.io/docs/en/sandboxes.md#pause--resume-sandboxes)</u>: pausing freezes the VM with memory intact, resuming continues all processes from the point they were frozen. Use <u>[**hot snapshots**](https://www.daytona.io/docs/en/snapshots.md#create-snapshot-from-sandbox)</u> or <u>[**forks**](https://www.daytona.io/docs/en/sandboxes.md#fork-sandboxes)</u> to capture memory. \| \| GPU \| Ephemeral by design: deleted on stop, and memory is not preserved. Use <u>[**volumes**](https://www.daytona.io/docs/en/volumes." [source](https://www.daytona.io/docs/en/persistence.md) |
| Multi-region | Supported | "s managed by Daytona and available to all organizations: \| **Region** \| **Target** \| \| ------------- \| ---------- \| \| United States \| **`us`** \| \| Europe \| **`eu`** \| ```python from daytona import Daytona, DaytonaConfig # Configure Daytona to use the US region config = DaytonaConfig( target="us" ) # Initialize the Daytona client with the specified configuration daytona = Daytona(config) # Create a sandbox in the US region sandbox = daytona.create() ``` ```typescript import { Daytona } from '@daytona/sdk' // Configure Daytona to use the US region const daytona = n" [source](https://www.daytona.io/docs/en/regions.md) |
| Object storage | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| Persistent disk | Supported | "# Persistence Daytona sandboxes are persistent by default. Stopping a sandbox does not destroy it: the sandbox keeps its identity, its filesystem, and its configuration, and can be started again at any point with all files, installed packages, and repositories intact. A sandbox is only deleted when you delete it, mark it as [ephemeral](https://www.daytona.io/docs/en/sandboxes.md#ephemeral-sandboxes), or set an [auto-delete interval](https://www.daytona.io/docs/en/sandboxes.md#auto-delete-interval). Per" [source](https://www.daytona.io/docs/en/persistence.md) |
| Sandbox templates / custom images | Supported | "ew sandboxes can start from the same snapshot. Daytona provides default snapshots for creating sandboxes. You can also create snapshots from images, capture the state of existing sandboxes, or create warm pools for a snapshot: - [**Create snapshots from an image**](#create-snapshots): define the base operating system, language runtimes, packages, and project-level setup in an image or Dockerfile, and Daytona builds it into a snapshot you can use to create sandboxes - [**Create snapshots from a sandbox**](#create-snapshot-from-sandbox): captures and persists a sandbox's current" [source](https://www.daytona.io/docs/en/snapshots.md) |
| Scale to zero | Supported | "\| \| Stopped \| ✗ \| ✗ \| ✓ \| Billed for reserved disk only. <u>[**Ephemeral sandboxes**](https://www.daytona.io/docs/en/sandboxes.md#ephemeral-sandboxes) </u> and <u>[**GPU sandboxes**](https://www.daytona.io/docs/en/sandboxes.md#gpu-sandboxes)</u> are automatically deleted when stopped, so stopped billing does not apply to them. \| \| Paused \| ✗ \| ✗ \| ✓ \| Billed for reserved disk only. The preserved memory state is not billed. Supported" [source](https://www.daytona.io/docs/en/billing.md) |
| Selectable isolation runtime | Supported | "access to a full composable computer where they can install packages, run servers, compile code, and manage processes. Sandboxes run as **Linux containers** by default. Daytona also provides [VM sandboxes](#vm-sandboxes) with a dedicated **Linux VM** or **Windows** operating system, [GPU sandboxes](#gpu-sandboxes) with **NVIDIA** and **AMD GPU** acceleration for model inference, fine-tuning, and GPU-accelerated compute, and [macOS sandboxes](#macos-sandboxes) running on dedicated Apple silicon hardware. <DocLinkCardGrid> <DocLinkCard title="Container" href="#create-sandboxes" icon="package" d" [source](https://www.daytona.io/docs/en/sandboxes.md) |
| Snapshots / forking | Supported | "shots.md#create-snapshot-from-sandbox)</u> to capture filesystem state, then create a new sandbox from that snapshot. Forking creates a duplicate of a Linux VM sandbox's filesystem and memory state in a new sandbox. The forked sandbox is fully independent: it can be started, stopped, and deleted without affecting the original. Daytona tracks the parent-child relationship in a fork tree, so you can trace a fork's lineage back to the sandbox it was created from. You can fork a fork to build branches. The parent sandbox cannot be deleted while it has active fork children. A fork of a [KVM sandbox](#nested-virtualization) inherits the `kvm` setting. Forking a" [source](https://www.daytona.io/docs/en/sandboxes.md) |

### Data

| Capability | Status | Evidence |
| --- | --- | --- |
| Database branching | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| Ephemeral instant DB (no-signup) | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| First-party database | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| Vector search | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |

### Platform & operations

| Capability | Status | Evidence |
| --- | --- | --- |
| Managed CI/CD runners | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| Built-in observability | Supported | "app.daytona.io/dashboard) 2. Navigate to **Sandboxes** section 3. Open the **Sandbox Details** sheet for any sandbox 4. Use the **Logs**, **Traces**, and **Metrics** tabs to inspect the collected telemetry data ```python # Historical resource metrics (CPU, memory, disk) samples = sandbox.get_metrics() for s in samples: print(f"{s.timestamp}: CPU {s.cpu_used_pct}%") ``` ```typescript // Historical resource metrics (CPU, memory, disk) const samples = await sandbox.getMetrics() for (const s of samples) { console.log(`${s.timestamp.toISOString()} CPU: ${s.cpuUsedPct}%`) } ``` ```ruby # Historical resource" [source](https://www.daytona.io/docs/en/observability/otel-collection.md) |
| Preview environments | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| Scheduled tasks | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| Project template marketplace | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |
| Durable workflows | Not supported | "No advertised first-party capability found across fresh docs index, landing, pricing and relevant capability docs; this is a bounded absence observation, not a vendor assertion." [source](https://www.daytona.io/docs/llms.txt) |

## Agent readiness

### Read: 10 of 11 signals present

10/11 signals (7 full, 3 partial)

- Llms txt: pass — "Root redirects to /docs/llms.txt: 217561 bytes, substantive documentation index including OpenAPI specs, billing, platform and SDK reference. Oversized pointer + 190KB index excerpt retained."
- Llms full txt: pass — "/docs/llms-full.txt 200, 3136236 bytes; comprehensive docs bundle; oversized pointer retained."
- Robots AI policy: partial — "User-agent: * Allow: / Sitemap: https://www.daytona.io/sitemap.xml — no explicit named AI UA policy."
- JSON LD: fail — "No application/ld+json scripts found in fresh 1867624-byte homepage HTML."
- Sitemap: pass — "robots sitemap.xml returns 200 error HTML, not XML; HTML link rel=sitemap points to /sitemap-index.xml, valid index of seven sitemaps. sitemap-dotfiles.xml 21547 bytes and sitemap-changelog.xml 12365 bytes retained; substantive URL set."
- Meta quality: pass — "Title Daytona - Secure Infrastructure for Running AI-Generated Code; description Deploy Al code with confidence ... 90ms environment creation, stateful operations, and enterprise-grade security; og:title og:description og:image og:url og:type present."
- Markdown negotiation: pass — "GET homepage Accept:text/markdown -> 200 Content-Type:text/markdown; charset=utf-8, 11965 bytes clean markdown, frontmatter + hero + SDK examples. refresh-markdown-negotiation.txt retained."
- Content efficiency: partial — "Homepage text extraction with script/style/svg removed: 41757 UTF8 bytes / 1867624 HTML bytes = 2.2358%, in 1–5% band. Repeated Framer responsive text included, so conservative partial."
- Docs discoverable: pass — "Homepage header contains Docs link; markdown negotiated hero View Docs -> https://www.daytona.io/docs/."
- Pricing machine readable: pass — "HTML readable rate cards CPU $0.0504/h RAM $0.0162/GiB-h storage $0.000108/GiB-h; on-demand and preemptible GPU tables."
- Anti bot: partial — "Landing/pricing/docs fetched headlessly. Public trust.daytona.io initially HTTP403; sequential foxcrawl rendered it successfully exit0. Some public paths need browser, not blanket full."

### Drive: 11 of 11 signals present

11/11 signals (9 full, 2 partial)

- Public API: pass — "Fresh api-key docs and all SDK reference; REST spec 137 paths."
- Openapi spec: pass — "https://www.daytona.io/docs/openapi.json 200, 703754 bytes, parsed JSON openapi 3.0.0, 137 paths. Toolbox and Analytics specs also fetchable; oversized pointers retained."
- MCP server: pass — "# Daytona MCP Server Daytona Model Context Protocol (MCP) server enables AI agents to interact with [Daytona Sandboxes](https://www.daytona.io/docs/en/sandboxes.md) programmatically. This guide covers how to set up and use the MCP server with various AI agents. ## Install Daytona CLI Install the Daytona CLI to manage the MCP server. ```bash brew install daytonaio/cli/daytona ``` ```bash powershell -Command "irm https://get.daytona.io/windows | iex" ``` ## Authenticate with Daytona Authenticate with Daytona to enable MCP server access. ```bash daytona login ``` ## Initialize MCP server Initialize the MCP server with your preferred AI agent. Supported agents include Claude, Cursor, and Windsurf. ```bash # Initialize with Claude daytona mcp init claude # Initialize with Cursor daytona mcp init cursor # Initialize with Windsurf daytona mcp init windsurf ``` After initialization, open your AI agent application to begin using Daytona features. ## Configure MCP server Generate MCP configuration for integration with other AI agents. ```bash daytona mcp config ``` This command outputs a JSON configuration that you can copy into your agent's settings: ```json { "mcpServers": { "daytona-mcp": { "command": "daytona", "args": ["mcp", "start"], "env": { "HOME": "${HOME}", "PATH": "${HOME}:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/homebrew/bin" }, "logFile": "${HOME}/Library/Logs/daytona/daytona-mcp-server.log" } } } ``` :::note For Windows users, add the following to the `env` field: <br /> ```json "APPDATA": "${APPDATA}" ``` ::: ## Start MCP server Manually start the MCP server. ```bash daytona mcp start ``` ## Available tools MCP server provides the following tools for interacting with Daytona Sandboxes: - [Sandbox management](https://www.daytona.io/docs/en/sandboxes.md) - [File system operations](https://www.daytona.io/docs/en/file-system-operations.md) - [Git operations](https://www.daytona.io/docs/en/git-operations.md) - [Process and code execution](https://www.daytona.io"
- SDK packages: pass — "Python TypeScript/JS Ruby Go Java official SDKs documented; new Go path github.com/daytona/clients/sdk-go."
- Auth docs: pass — "API keys docs Bearer auth, JWT, scope table, manage:api_keys, child-scope subset requirements."
- Agent self serve creds: pass — "Managed API keys let a manager key mint, list, and delete child API keys without a JWT session. Documented POST calls for manager and child keys. Initial manager creation is dashboard/JWT bootstrap; do not imply anonymous self registration."
- Webhooks: partial — "Detailed webhook lifecycle events, JSON payloads, deliveries/retries/configuration; no signing/verification/Svix found in fresh 12194-byte guide. Rubric requires signing for full. May need support enablement."
- CLI tool: pass — "Official CLI docs installations and sandbox lifecycle commands."
- Error model: pass — "Python Errors documents server envelope machine code, source DAYTONA_API/DAYTONA_DAEMON/DAYTONA_PROXY, message/status_code/headers; limits provides JSON 429 example. Typed errors across SDKs retained."
- Rate limit docs: pass — "Limits guide table 10k/20k/40k/50k general requests per min across tiers1–4, 300/400/500/600 sandbox creation; X-RateLimit-Limit-{throttler}, Remaining, Reset and Retry-After documented."
- Agent config: partial — "Official installable daytona/skills skill and Claude plugin are one substantive skills surface. /agents.md and /.well-known/agent both404; do not count llms.txt as agents.md."

## Coding harnesses

- Claude Code (Anthropic) — "Run Claude Code in a Daytona Sandbox via CLI" [source](https://www.daytona.io/docs/en/guides/claude/claude-code-run-cli-sandbox.md)
- Cursor (Anysphere) — "Supported agents include Claude, Cursor, and Windsurf." [source](https://www.daytona.io/docs/en/mcp.md)
- Windsurf (Codeium) — "Supported agents include Claude, Cursor, and Windsurf." [source](https://www.daytona.io/docs/en/mcp.md)
- OpenCode (opencode) — "This guide demonstrates how to run the Daytona OpenCode plugin which integrates Daytona sandboxes and OpenCode." [source](https://www.daytona.io/docs/en/guides/opencode/opencode-plugin.md)
- Devin (Cognition) — "Devin sessions can now run on Daytona sandboxes." [source](https://www.daytona.io/dotfiles/devin-outposts-on-daytona)
- Gemini CLI (Google) — "Run Gemini CLI Headlessly in Daytona and Stream Its Output" [source](https://www.daytona.io/docs/llms.txt)

Plausible compatibility (derived, not stored):

- Aider
- Amp
- Antigravity
- Codex CLI
- Droid
- Goose
- Hermes Agent
- Kilo Code
- Kiro CLI
- Pi
- Qwen Code

## Compliance & regions

- SOC 2 Type II: certified (scope: hosted) — "Daytona's SOC 2 Type II examination is complete. Insight Assurance issued the report on July 28, 2026 with an unqualified opinion covering the period December 16, 2025 through March 15, 2026." [source](https://trust.daytona.io/)
- SOC 2 Type I: certified (scope: hosted) — "SOC 2 Type 1" [source](https://trust.daytona.io/)
- ISO/IEC 27001: certified (scope: hosted) — "ISO/IEC 27001" [source](https://trust.daytona.io/)
- HIPAA: self-attested (scope: hosted) — "HIPAA" [source](https://trust.daytona.io/)
- GDPR: self-attested (scope: hosted) — "GDPR" [source](https://trust.daytona.io/)
- Regions: us (United States), eu (Europe)
- Regions note: Shared managed regions. GPU Earth is a logical globally placed pool ignoring region preference, not a specific residency guarantee; dedicated/custom regions may be arranged.

## Company & presence

- Founded: 2023
- Funding: Series A, $24M, 2026-02-05
- Privacy policy: https://www.daytona.io/privacy-policy
- Terms of service: https://www.daytona.io/terms-of-service
- GitHub: https://github.com/daytonaio/daytona
- Blog: https://www.daytona.io/dotfiles
- Docs: https://www.daytona.io/docs
- X/Twitter: https://twitter.com/daytonaio
- Slack: https://go.daytona.io/slack
- YouTube: https://youtube.com/@daytonaio
- LinkedIn: https://www.linkedin.com/company/daytonaio/

## Nearby in the atlas

- [Agent Safehouse](/products/agent-safehouse.md)
- [Agent Sandbox](/products/agent-sandbox.md)
- [Agent Substrate](/products/agent-substrate.md)
- [Agent37](/products/agent37.md)
- [AgentNest](/products/agentnest.md)
- [Anthropic Sandbox Runtime (srt)](/products/sandbox-runtime.md)

## Method

Facts come from the product's own public pages. Each claim carries its evidence: a quote and the page it came from. We count capabilities rather than grade products, and "Not assessed" means we have not checked, never that the product lacks it.
