The idea

The surfaces fall into two groups. A control plane creates, stops and configures machines: dashboard, REST or gRPC API, SDKs, CLI, and increasingly an MCP server an AI assistant can call. An execution plane gets inside: SSH, a web terminal, a desktop, a file API.

A dashboard that can create a sandbox is not the same as a product that gives you an agent. Several providers can create a machine with a button and still expect a command to do anything useful with it. Others document a prompt to paste into Claude Code or Cursor as the intended no-code path.

MCP is the newest surface and the easiest to misread. A hosted MCP server that manages sandboxes is a control plane. An MCP server running inside the sandbox is a tool surface for the agent. They are different products with the same name.

Where providers split

The claim on the left, the provider's own words on the right

Dashboard-first and CLI-first

InstaBox, Lizard, Runtime, Blaxel and Morph document creating a machine from a dashboard. boxd and Boat are CLI-first: every guide starts with an install command, and the dashboard is a viewer for machines you already made. E2B and Vercel are SDK-first.

The practical test is whether the first machine can be created without a terminal. At InstaBox and Lizard it can. At boxd and Boat it cannot.

SSH is not universal

boxd, Boat and Sandboxer expose real SSH. Agent 37 tunnels SSH over a WebSocket, E2B proxies it, InstaBox routes it through a gateway, and Runtime carries it over its API. Lizard has no SSH protocol at all: its shell is over the provider's transport, so scp and port forwarding do not work. Vercel does not publish an SSH endpoint.

Two kinds of MCP

Sandboxer, Runtime, Lizard and Blaxel document a hosted MCP server that can create and drive sandboxes from Claude or ChatGPT. E2B has an MCP gateway inside the sandbox and a docs MCP, but a sandbox-management MCP is not established. Agent 37, InstaBox and boxd publish no control-plane MCP; Boat publishes a docs MCP only.

That distinction decides whether an assistant can start a machine for you or only read the manual.

One worked case

The same job at every provider, from the documented defaults

A designer wants the first machine without a terminal

Someone who does not use a shell needs to create a machine, open a desktop, and start a coding agent. Nothing about the hourly rate matters until that works.

  1. Create

    A dashboard button, or an install command and a CLI call.

  2. Enter

    A browser desktop, a web terminal, or SSH from a laptop.

  3. Prompt

    An agent API call, a CLI prompt, or a terminal where they type the command themselves.

Six providers document creating a machine from a dashboard, and four of those also open a desktop. At the CLI-first providers the dashboard is a viewer, so the first step is a terminal whatever the marketing page shows.

What each provider does

Agent 37
The dashboard lists instances, but whether it can create one by clicking is not published; the CLI and the API can.
Blaxel
A console terminal and a CLI sit alongside the SDKs and a per-sandbox MCP server.
Boat
The first step is a shell command: boat new, then boat prompt. The dashboard is a viewer for machines you already made.
boxd
CLI-first: every guide starts with an install command, and the wire API is gRPC with no REST.
Cloudflare Sandbox
The first sandbox needs a Worker, a Durable Object and a Docker build; the dashboard only shows what already exists.
Daytona
A non-coder creates a sandbox in the browser Playground, opens the terminal or VNC tab, and never installs the CLI.
E2B
SDK-first: Python and JavaScript SDKs, a CLI, and SSH through a WebSocket proxy.
InstaBox
A dashboard creates the machine and opens a clickable VNC desktop, with a web terminal as backup.
Lizard
The dashboard creates a machine and opens a terminal; there is no SSH protocol at all.
Modal
The first machine is a Sandbox.create call; the dashboard shows metrics and modal shell attaches to something that already exists.
Morph
A devbox API and a configurable remote desktop, plus SDKs, a CLI and a tmux API for agents.
Runtime
A dashboard creates a sandbox, with a desktop, SSH over the API and a hosted MCP server.
Sandboxer
A dashboard, a static CLI, a VNC desktop and a browser terminal, with SSH and SCP as real ports.
Sprites
A CLI and an interactive console; SSH needs a server installed inside and proxied.
Vercel Sandbox
A CLI, JavaScript and Python SDKs, and a dashboard that can stop or delete a sandbox but not drive it.
Tensorlake
The first machine comes from tl sbx create or Sandbox.create; the console lists sandboxes and their logs, but no page documents creating one by clicking.

What to watch for

The details that decide the answer in practice

  1. 01

    Whether the first machine can be created without a terminal.

  2. 02

    Whether the API is REST or gRPC, and whether an SDK exists for your language.

  3. 03

    Whether SSH is a real port, a tunnel, a gateway, or absent.

  4. 04

    Whether the MCP server manages sandboxes or runs inside one.

  5. 05

    Whether there is a desktop you can watch and take over.

Compare all 16

Docs read 28 October 2026

Dashboard, API, SDK, CLI, MCP, SSH, desktop. A provider can have all seven and still be unusable without a terminal, or have three and be genuinely click-driven.
ProviderFirst machine without a terminal?Does it?What that means
Agent 37Not publishedYesREST on two planes, a Python SDK, the npx agent37 CLI, tunnelled SSH, a web terminal on port 7681 and a desktop in some templates. No control-plane MCP.Agent 37 docs: API overview — Sandbox API, Agent API, keys and headers ↗
Agent 37's own wordsdocs-confirmed
“A shell in the container (browser)”
Agent 37docs-confirmed
BlaxelYes, consoleYesPython, TypeScript and Go SDKs, an HTTP API, a per-sandbox MCP server, a console terminal and a CLI.Blaxel docs: Blaxel CLI overview ↗
Blaxel's own wordsdocs-confirmed
“Python, TypeScript, and Go SDKs for Blaxel”
Blaxeldocs-confirmed
BoatNoinstallerYesREST, Python and TypeScript SDKs, a CLI, SSH and SCP, a 60 fps desktop and a dashboard. The MCP server is for documentation, not for managing sandboxes.Boat docs: SDKs ↗
Boat's own wordsdocs-confirmed
“boat new, then boat prompt bx_23456789 "add tests"”
Boatdocs-confirmed
boxdNoCLIPartlygRPC is the only wire API; there is no REST. TypeScript and Python SDKs, a CLI, real SSH on a dedicated port, a console terminal and a browser desktop.boxd docs: Commands (CLI reference) ↗
boxd's own wordsdocs-confirmed
“Service. boxd.api.v1.BoxdApi.”
boxddocs-confirmed
Cloudflare SandboxNoWorker codePartlyTypeScript in a Worker is the only first-class surface, with a Durable Object container API and the Wrangler CLI. No hosted REST API, no Python or Go SDK, no control-plane MCP and no webhooks.Cloudflare Sandbox docs: @cloudflare/sandbox reference ↗
Cloudflare Sandbox's own wordsdocs-confirmed
“A Worker with a Durable Object that starts a container with the Durable Object scheduling policy.”
Cloudflare Sandboxdocs-confirmed
DaytonaYes, playgroundYesA dashboard Playground, web terminal, VNC desktop, five SDKs, a REST API, a CLI, a first-party MCP server, and webhooks that need support to enable.Daytona docs: CLI ↗
Daytona's own wordsdocs-confirmed
“Daytona provides an interactive environment ("Playground") for creating sandboxes, running SDK operations, and exploring Daytona features directly from your browser”
Daytonadocs-confirmed
E2BNoSDKYesPython and JavaScript SDKs, a CLI, SSH through a WebSocket proxy, a desktop SDK, an MCP gateway inside the sandbox and lifecycle webhooks.E2B docs: E2B CLI ↗
E2B's own wordsdocs-confirmed
“Connect to your sandbox via SSH using a WebSocket proxy”
E2Bdocs-confirmed
InstaBoxYes, dashboardPartlyREST, a TypeScript SDK, a CLI, SSH and mosh through a gateway, a web terminal and a VNC desktop. No control-plane MCP is published.InstaBox docs: API keys and SDK — TypeScript, HTTP and CLI ↗
InstaBox's own wordsdocs-confirmed
“In the dashboard, Create machine on the Machines page does what instabox create does.”
InstaBoxdocs-confirmed
LizardYes, dashboardPartlyREST, TypeScript and Python SDKs, a CLI, a hosted MCP server and a dashboard terminal. There is no SSH protocol and no public VNC port.Lizard docs: Sandboxes dashboard — create and manage without code ↗
Lizard's own wordsdocs-confirmed
“SSH protocol access is not available; lizard sandbox ssh opens an interactive shell with your CLI credentials.”
Lizarddocs-confirmed
ModalNoSDKPartlyPython, JavaScript and Go SDKs, a CLI, modal shell and a dashboard with per-App metrics. No REST API separate from the SDK surface, no SSH daemon and no control-plane MCP server.Modal docs: Sandboxes guide (Python, JavaScript and Go SDKs) ↗
Modal's own wordsdocs-confirmed
“Sandboxes can be created using the Sandbox.create constructor”
Modaldocs-confirmed
MorphYes, dashboardPartlySDKs and a CLI, SSH, a devbox API, a configurable remote desktop, and a tmux API for agents. No first-party MCP server or webhooks are documented.Morph docs: CLI Command Reference ↗
Morph's own wordsdocs-confirmed
“Devboxes expose a full tmux API, which lets you programmatically manage coding agents like OpenAI Codex or Claude Code.”
Morphdocs-confirmed
RuntimeYes, dashboardYesREST, JavaScript, Python, Go, Ruby and Java SDKs, a CLI, a hosted MCP server, SSH over the API, a desktop, webhooks and OpenTelemetry.Runtime docs: The runtime CLI ↗
Runtime's own wordsdocs-confirmed
“The endpoint is https://api.withruntime.com/mcp, over MCP Streamable HTTP.”
Runtimedocs-confirmed
SandboxerYes, dashboardYesREST, TypeScript and Python SDKs, a static CLI binary, a hosted MCP server, SSH and SCP, a VNC desktop and a browser terminal.Sandboxer docs: API reference ↗
Sandboxer's own wordsdocs-confirmed
“sbx is one static binary for Linux, macOS and Windows”
Sandboxerdocs-confirmed
SpritesNoCLIPartlyA CLI and interactive console, SDKs and agent integrations, and SSH only after installing a server and proxying it. No managed desktop or browser-control product.Sprites docs: CLI Commands Reference ↗
Sprites's own wordsdocs-confirmed
“Open an interactive shell”
Spritesdocs-confirmed
Vercel SandboxNoCLI or SDKPartlyCLI, JavaScript and Python SDKs, and a dashboard that can stop or delete a sandbox and shows a lifecycle activity log. No SSH or desktop is published.Vercel Sandbox docs: JS SDK reference ↗
Vercel Sandbox's own wordsdocs-confirmed
“Manage sandboxes through the CLI, JS SDK, or Python SDK.”
Vercel Sandboxdocs-confirmed
TensorlakeSDK, CLI, SSHno MCPPartlyPython and TypeScript SDKs, an async Python client, a tl CLI, REST, standard SSH with scp/rsync/port forwarding, a WebSocket PTY API, local TCP tunnels and an SDK desktop client. No control-plane MCP server is published; the console covers keys, spend, sandbox lists and process logs.Tensorlake docs: Sandboxes Quickstart — CLI, Python, TypeScript and HTTP ↗
Tensorlake's own wordsdocs-confirmed
“This installs the tl CLI, which you can use to manage sandboxes and other resources from the command line.”
Tensorlakedocs-confirmed

The specific capabilities

Each one checked for every provider, with the catch where a version falls short. All capabilities

Ways to drive it: capabilities by provider
CapabilityAgent 37BlaxelBoatboxdCloudflare SandboxDaytonaE2BInstaBoxLizardModalMorphRuntimeSandboxerSpritesTensorlakeVercel Sandbox
Create from the websiteAgent 37: YesBlaxel: YesBoat: Noboxd: NoCloudflare Sandbox: NoDaytona: YesE2B: NoInstaBox: YesLizard: YesModal: NoMorph: YesRuntime: YesSandboxer: NoSprites: NoTensorlake: NoVercel Sandbox: No
Command-line toolAgent 37: YesBlaxel: YesBoat: Yesboxd: YesCloudflare Sandbox: With a catch. The only command-line tool is Wrangler, which deploys the Worker and can open a shell; it does not create or manage sandboxes.Daytona: YesE2B: YesInstaBox: YesLizard: YesModal: YesMorph: YesRuntime: YesSandboxer: YesSprites: YesTensorlake: YesVercel Sandbox: Yes
Python SDKAgent 37: YesBlaxel: YesBoat: Yesboxd: YesCloudflare Sandbox: NoDaytona: YesE2B: YesInstaBox: With a catch. A Python library is named in one place but has no page, package name or install command.Lizard: YesModal: YesMorph: YesRuntime: YesSandboxer: YesSprites: NoTensorlake: YesVercel Sandbox: Yes
TypeScript SDKAgent 37: NoBlaxel: YesBoat: Yesboxd: YesCloudflare Sandbox: YesDaytona: YesE2B: YesInstaBox: YesLizard: YesModal: YesMorph: YesRuntime: YesSandboxer: YesSprites: YesTensorlake: YesVercel Sandbox: Yes
Documented HTTP APIAgent 37: YesBlaxel: YesBoat: Yesboxd: No. The only wire API is gRPC, so a browser or a plain HTTP client cannot call it.Cloudflare Sandbox: No. There is no Cloudflare-hosted API to call; you write a Worker and call it yourself.Daytona: YesE2B: YesInstaBox: YesLizard: YesModal: No. The documented interface is the SDK and its gRPC connection; there is no separate HTTP API to call.Morph: YesRuntime: YesSandboxer: YesSprites: YesTensorlake: YesVercel Sandbox: No. Sandbox is driven through the SDKs and the CLI; no HTTP API is documented.
MCP serverAgent 37: No. MCP is a client feature here: instances reach out to Composio and Perflo, but nothing lets an assistant create an instance.Blaxel: YesBoat: No. The only MCP server searches the documentation; it cannot start or drive a sandbox.boxd: No. boxd installs other products' MCP servers into its agents; it publishes no server that creates machines.Cloudflare Sandbox: No. The MCP material is a separate Cloudflare code-mode project, not a server that starts sandboxes.Daytona: YesE2B: With a catch. E2B's MCP support runs other companies' tools inside a sandbox; nothing of E2B's lets your assistant create sandboxes.InstaBox: No. No MCP server is published for the InstaBox API, so an assistant cannot create machines through one.Lizard: YesModal: No. The only MCP guidance is how to deploy someone else's MCP server inside Modal.Morph: NoRuntime: YesSandboxer: YesSprites: NoTensorlake: NoVercel Sandbox: No. No MCP server manages sandboxes; Vercel's MCP material is about building MCP servers on Vercel.
Interactive terminal over the APIAgent 37: YesBlaxel: YesBoat: Yesboxd: YesCloudflare Sandbox: With a catch. A live shell exists only inside a web page you build; there is no call that opens a terminal session for a script.Daytona: YesE2B: YesInstaBox: YesLizard: YesModal: YesMorph: YesRuntime: YesSandboxer: YesSprites: YesTensorlake: YesVercel Sandbox: Yes
Files over the APIAgent 37: YesBlaxel: YesBoat: Yesboxd: YesCloudflare Sandbox: YesDaytona: YesE2B: YesInstaBox: YesLizard: YesModal: YesMorph: YesRuntime: YesSandboxer: YesSprites: YesTensorlake: YesVercel Sandbox: Yes

YesWith a catchNoNot publishedHover or select a mark to see the catch.

Questions to ask before you sign

Each one targets something the documentation does not answer

  1. Can I create and open the first machine without a terminal, and what exactly can the dashboard do?
  2. Is the API REST or gRPC, and is there an SDK for my language?
  3. Is SSH a real port, a tunnel or a gateway — and do scp and port forwarding work?
  4. Is the MCP server a control plane that creates sandboxes, or a tool surface inside one?
  5. Is there a desktop I can watch and take over, and does it survive a resume?

Common questions

Answered from the capability checks; each links to the provider-by-provider detail and its sources

Which sandbox providers offer “create from the website”?
Start a machine by clicking in the provider's dashboard, with no terminal. Fully: Agent 37, Blaxel, Daytona, InstaBox, Lizard, Morph and Runtime. Not at all: Boat, Cloudflare Sandbox, E2B, Modal, Sandboxer, Sprites, Tensorlake, Vercel Sandbox and boxd. See each provider's catch
Which sandbox providers offer “command-line tool”?
An official command-line tool. Fully: Agent 37, Blaxel, Boat, Daytona, E2B, InstaBox, Lizard, Modal, Morph, Runtime, Sandboxer, Sprites, Tensorlake, Vercel Sandbox and boxd. With a catch: Cloudflare Sandbox. See each provider's catch
Which sandbox providers offer “python SDK”?
An official library for Python programs. Fully: Agent 37, Blaxel, Boat, Daytona, E2B, Lizard, Modal, Morph, Runtime, Sandboxer, Tensorlake, Vercel Sandbox and boxd. With a catch: InstaBox. Not at all: Cloudflare Sandbox and Sprites. See each provider's catch
Which sandbox providers offer “typeScript SDK”?
An official library for JavaScript or TypeScript programs. Fully: Blaxel, Boat, Cloudflare Sandbox, Daytona, E2B, InstaBox, Lizard, Modal, Morph, Runtime, Sandboxer, Sprites, Tensorlake, Vercel Sandbox and boxd. Not at all: Agent 37. See each provider's catch
Which sandbox providers offer “documented HTTP API”?
A documented web API that any language can call. Fully: Agent 37, Blaxel, Boat, Daytona, E2B, InstaBox, Lizard, Morph, Runtime, Sandboxer, Sprites and Tensorlake. Not at all: Cloudflare Sandbox, Modal, Vercel Sandbox and boxd. See each provider's catch
Which sandbox providers offer “mCP server”?
An official MCP server, so an AI assistant can create and use sandboxes itself. Fully: Blaxel, Daytona, Lizard, Runtime and Sandboxer. With a catch: E2B. Not at all: Agent 37, Boat, Cloudflare Sandbox, InstaBox, Modal, Morph, Sprites, Tensorlake, Vercel Sandbox and boxd. See each provider's catch
Which sandbox providers offer “interactive terminal over the API”?
A program can open a live terminal session (PTY) in the sandbox, not just run one command. Fully: Agent 37, Blaxel, Boat, Daytona, E2B, InstaBox, Lizard, Modal, Morph, Runtime, Sandboxer, Sprites, Tensorlake, Vercel Sandbox and boxd. With a catch: Cloudflare Sandbox. See each provider's catch
Which sandbox providers offer “files over the API”?
Read and write files in the sandbox through the SDK or API. Fully: Agent 37, Blaxel, Boat, Cloudflare Sandbox, Daytona, E2B, InstaBox, Lizard, Modal, Morph, Runtime, Sandboxer, Sprites, Tensorlake, Vercel Sandbox and boxd. See each provider's catch

Part of Running it. Next: put two or three providers side by side.