E2B vs Maritime
open-source · free-tier · usage-based · subscription-flat · enterprise-custom
·free-tier · subscription-flat
E2B wins · 23–9 (15 drawn)
Agenticness — how well agents can access and operate the productAgenticness
How well agents can access and operate the product
Agent access
ai-native userPoint an agent at llms.txt or agent-oriented docs
weight 2 · round drawnE2B serves a live llms.txt index (HTTP 200) and .md-suffixed doc pages explicitly designed for agent consumption, with the quickstart page itself pointing agents to the llms.txt index. missing for 10: no independent/community confirmation that agents actually consume llms.txt successfully in practice.
- [probe] “PROBE llms.txt: HTTP 200 at https://docs.e2b.dev/llms.txt # E2B Docs - [E2B Documentation](https://docs.e2b.dev/index.md) - [Running your f…”
- [probe] “PROBE docs-md: HTTP 200 at https://docs.e2b.dev/quickstart.md > ## Documentation Index > Fetch the complete documentation index at: https://…”
Maritime hosts a live llms.txt (confirmed by a 200 probe) plus a dedicated CLI llms.txt and an ai-agents docs page explicitly designed for agents (Claude Code, Cursor, etc.) to consume, authenticate, and act on — directly matching the story. Missing for 10: no independent third-party confirmation that agents actually navigate these docs successfully in practice.
- [probe] “PROBE llms.txt: HTTP 200 at https://maritime.sh/llms.txt # Maritime > Maritime is a cloud platform for deploying, hosting, and managing AI …”
- [claimed-docs] “Templates are cloneable agent packages; publishers can share them via link or the public library.”
- [claimed-docs] “Pass --json on EVERY command. Success: one JSON value on stdout, stderr empty.”
- [claimed-docs] “The Maritime CLI is built to be operated by other AI agents, not just humans: machine-readable output on every command, stable exit codes, a…”
- [claimed-docs] “Paste one prompt into Claude, Cursor, or any assistant and it can install the CLI, authenticate, and deploy agents for you.”
ai-native userRun the product headlessly / in CI for automation
weight 2 · round drawnE2B has a documented CLI, SDK, and non-interactive auth mode explicitly recommended for CI/CD pipelines, servers, and containers, plus scriptable sandbox lifecycle (create, exec with --background, shutdown, snapshot) and webhooks for lifecycle events — all consistent with headless/CI automation. missing for 10: no independent third-party report of a real CI pipeline using E2B, and no explicit CI provider integration examples (e.g., GitHub Actions workflow snippet).
- [claimed-docs] “This is the recommended option for non-interactive environments like CI/CD pipelines, servers, and containers. Set a single environment vari…”
- [claimed-docs] “E2B CLI is a command line tool that allows you to manage and interact with sandboxes and templates.”
- [claimed-docs] “Use the `--background` flag to run a command in the background and return immediately.”
- [claimed-docs] “You can shutdown single or all running sandboxes with the E2B CLI.”
- [claimed-docs] “Webhooks provide a way for notifications to be delivered to an external web server whenever certain sandbox lifecycle events occur.”
- [claimed-docs] “If you need an explicit configuration — for example several API keys, teams, or BYOC or self-hosted deployments — create an `E2B` client and…”
- [claimed-docs] “If you need an explicit configuration — for example several API keys, teams, or [BYOC or self-hosted deployments](/byoc) in a single process…”
Maritime provides a CLI with --json flag on every command, machine-readable output, stable exit codes, and env-var (non-interactive) authentication via MARITIME_TOKEN, explicitly designed for automation/CI use and control by other AI agents rather than humans, plus a RESTful API and idempotent provisioning for scripted workflows. This directly supports headless/CI operation across CLI and SDK/API paths. Missing for 10: no explicit CI pipeline example (e.g., GitHub Actions/GitLab CI snippet) or independent third-party confirmation of CI usage.
- [claimed-docs] “Pass --json on EVERY command. Success: one JSON value on stdout, stderr empty.”
- [claimed-docs] “The Maritime CLI is built to be operated by other AI agents, not just humans: machine-readable output on every command, stable exit codes, a…”
- [claimed-docs] “Authenticate with an env var, never interactively. Mint a long-lived key (`mk_…`) with `maritime keys create` and export it as `MARITIME_TOK…”
- [claimed-docs] “Mint a long-lived key (`mk_…`) with `maritime keys create` and export it as `MARITIME_TOKEN`. Keys never expire; browser-login tokens do.”
- [claimed-docs] “RESTful API for managing agents programmatically.”
- [claimed-docs] “provision is idempotent on it: it returns the existing agent if there is one, else creates a new one. Safe to call on every sign-in.”
- [probe] “official CLI documented at https://maritime.sh/docs/cli”
ai-native userConnect an agent via an official MCP server
weight 3 · round drawnE2Bnone0/10E2B is a sandbox/code-execution infrastructure product (not itself an agent), so an official MCP server exposing its sandbox tools to agents is a fair, applicable axis. The evidence pack documents SDKs, CLI, templates, and LLM tool-use integration (e2b-docs-32) but never mentions an MCP server, official MCP integration, or MCP protocol support anywhere.
- [claimed-docs] “E2B can work with any LLM and AI framework. The easiest way to connect an LLM to E2B is to use the tool use capabilities of the LLM”
- [claimed-docs] “E2B CLI is a command line tool that allows you to manage and interact with sandboxes and templates.”
- [github] “E2B is an open-source infrastructure that allows you to run AI-generated code in secure isolated sandboxes in the cloud.”
Maritimenone0/10Maritime is a platform for deploying/hosting agents (not itself an agent), so an official MCP server is a fair axis to expect, but no evidence pack item mentions MCP, an MCP server, or MCP-compatible endpoints — only REST API, CLI, SDKs, and webhooks are documented.
- [claimed-docs] “RESTful API for managing agents programmatically.”
- [claimed-docs] “The Maritime CLI lets you deploy and manage agents from your terminal.”
- [claimed-docs] “Mint a personal API key with `maritime keys create` and send it as a Bearer token, the same token the CLI itself uses.”
ai-native userUse an official CLI
weight 2 · round to MaritimeE2B ships an official CLI documented extensively (create/connect/exec/list/shutdown/snapshot/auth/metrics commands) covering sandbox lifecycle management, well-suited for AI-native agentic workflows. missing for 10: independent/hands-on community validation of the CLI itself (community evidence only covers SDK usage, not CLI) and no evidence of CLI-specific agent integration examples.
- [claimed-docs] “E2B CLI is a command line tool that allows you to manage and interact with sandboxes and templates.”
- [claimed-docs] “You can create a sandbox and connect an interactive terminal to it.”
- [claimed-docs] “This will return running sandboxes, you can specify `--state` to get paused or both.”
- [claimed-docs] “You can shutdown single or all running sandboxes with the E2B CLI.”
- [claimed-docs] “You can manage sandbox snapshots with the `e2b sandbox snapshot` (alias `snap`) commands.”
- [claimed-docs] “If your E2B account has access to more than one project, you can choose which one the CLI uses”
- [claimed-docs] “This is the recommended option for non-interactive environments like CI/CD pipelines, servers, and containers. Set a single environment vari…”
- [claimed-docs] “e2b sandbox create <template>”
- [claimed-docs] “Unlike the `create` command, `connect` does not kill the sandbox when you disconnect.”
- [claimed-docs] “Use the `--background` flag to run a command in the background and return immediately.”
- [claimed-docs] “To shutdown all running sandboxes, run the following command:”
- [claimed-docs] “You can name the snapshot template with the `--name` flag. If a template with that name already exists, it is reused.”
- [probe] “official CLI documented at https://docs.e2b.dev/cli”
Maritime ships an official npm-installable CLI explicitly designed for AI-native use: machine-readable/--json output on every command, stable exit codes, a self-describing contract, and env-var (non-interactive) authentication via MARITIME_TOKEN, all documented at /docs/cli and /docs/ai-agents. It also supports agent-driven install/auth/deploy flows via prompted assistants. Missing for 10: independent/hands-on verification beyond vendor docs.
- [claimed-docs] “The Maritime CLI lets you deploy and manage agents from your terminal.”
- [claimed-docs] “npm install -g maritime-cli”
- [claimed-docs] “The Maritime CLI is built to be operated by other AI agents, not just humans: machine-readable output on every command, stable exit codes, a…”
- [claimed-docs] “Authenticate with an env var, never interactively. Mint a long-lived key (`mk_…`) with `maritime keys create` and export it as `MARITIME_TOK…”
- [claimed-docs] “Pass --json on EVERY command. Success: one JSON value on stdout, stderr empty.”
- [claimed-docs] “Paste one prompt into Claude, Cursor, or any assistant and it can install the CLI, authenticate, and deploy agents for you.”
- [probe] “official CLI documented at https://maritime.sh/docs/cli”
ai-native userDrive the product through a documented public API
weight 3 · round drawnE2B ships extensive documented SDK/CLI APIs (Sandbox.create, files.read/write, commands.run, timeouts, metrics, snapshots, webhooks) with quickstart and reference docs, and explicit LLM/agent integration guides (connect-llms, coding-agents), demonstrating a fully documented public API surface for AI-native use. Missing for 10: no discoverable formal OpenAPI/swagger spec (probe found 404s across candidate paths) and no independent third-party audit of API completeness beyond vendor docs/community anecdotes.
- [claimed-docs] “const sbx = await Sandbox.create() // Creates a persistent sandbox session const execution = await sbx.runCode('print("hello world")')”
- [claimed-docs] “You can write single files to the sandbox filesystem using the `files.write()` method.”
- [claimed-docs] “You can run terminal commands inside the sandbox using the `commands.run()` method.”
- [claimed-docs] “E2B CLI is a command line tool that allows you to manage and interact with sandboxes and templates.”
- [claimed-docs] “If you need an explicit configuration — for example several API keys, teams, or BYOC or self-hosted deployments — create an `E2B` client and…”
- [claimed-docs] “E2B can work with any LLM and AI framework. The easiest way to connect an LLM to E2B is to use the tool use capabilities of the LLM”
- [claimed-docs] “Run AI coding agents like Claude Code, Codex, and Amp in secure E2B sandboxes with full terminal, filesystem, and git access.”
- [probe] “PROBE openapi: all candidate paths 404 (https://docs.e2b.dev/openapi.json, https://docs.e2b.dev/swagger.json, https://docs.e2b.dev/api/opena…”
Maritime documents a full public API (REST endpoints, TypeScript/Python SDKs, idempotent provisioning, webhooks, scoped bearer-token auth) plus a CLI explicitly built for AI agents with machine-readable JSON output and stable exit codes, directly enabling AI-native driving of the platform. missing for 10: a discoverable machine-readable spec (openapi.json/swagger.json returned 404) and independent third-party corroboration of the API's stability.
- [claimed-docs] “RESTful API for managing agents programmatically.”
- [claimed-docs] “Mint a personal API key with `maritime keys create` and send it as a Bearer token, the same token the CLI itself uses.”
- [claimed-docs] “Tag each agent with your own id via `externalId`. `provision` is **idempotent** on it: it returns the existing agent if there is one, else c…”
- [claimed-docs] “provision is idempotent on it: it returns the existing agent if there is one, else creates a new one. Safe to call on every sign-in.”
- [claimed-docs] “Get notified when a customer's agent changes state, instead of polling. Subscribe a URL, and Maritime POSTs a signed JSON body on every life…”
- [claimed-docs] “The Maritime CLI is built to be operated by other AI agents, not just humans: machine-readable output on every command, stable exit codes, a…”
- [claimed-docs] “Authenticate with an env var, never interactively. Mint a long-lived key (`mk_…`) with `maritime keys create` and export it as `MARITIME_TOK…”
- [claimed-docs] “Pass --json on EVERY command. Success: one JSON value on stdout, stderr empty.”
- [probe] “PROBE openapi: all candidate paths 404 (https://maritime.sh/openapi.json, https://maritime.sh/swagger.json, https://maritime.sh/api/openapi.…”
ai-native userIssue scoped/least-privilege API credentials for an agent
weight 2 · round to MaritimeE2Bnone0/10Evidence shows E2B supports multiple API keys per team/project (e2b-docs-30, e2b-docs-31, e2b-docs-34, e2b-docs-35) but no documentation of scoped or least-privilege permissions (e.g., read-only, sandbox-restricted, rate-limited keys) that would let an AI-native user issue a restricted credential to an agent.
- [claimed-docs] “If you need an explicit configuration — for example several API keys, teams, or BYOC or self-hosted deployments — create an `E2B` client and…”
- [claimed-docs] “If your E2B account has access to more than one project, you can choose which one the CLI uses”
- [claimed-docs] “If you need an explicit configuration — for example several API keys, teams, or [BYOC or self-hosted deployments](/byoc) in a single process…”
- [claimed-docs] “This is the recommended option for non-interactive environments like CI/CD pipelines, servers, and containers. Set a single environment vari…”
Maritime documents scoped API keys explicitly: every key carries scopes, users should hand subsystems the narrowest key they need, and a dedicated example shows a Computers-only key being refused on all other endpoints — a concrete least-privilege mechanism. This pairs with CLI/env-based key minting (mk_ tokens) suited to agent automation. Missing for 10: an exhaustive scope catalog/reference and independent (non-vendor) verification of scope enforcement in practice.
- [claimed-docs] “Hand a subsystem the narrowest key it needs. A leaked key can then only do what its scope allows.”
- [claimed-docs] “To hand out a key that reaches computers and nothing else, create a **Computers key** in the Computers section of Settings, API keys”
- [claimed-docs] “Every key carries scopes. Hand a subsystem the _narrowest_ key it needs. A leaked key can then only do what its scope allows.”
- [claimed-docs] “a key whose only scope is `computers` is refused on every other Maritime endpoint”
- [claimed-docs] “Hand a subsystem the _narrowest_ key it needs. A leaked key can then only do what its scope allows.”
- [claimed-docs] “Authenticate with an env var, never interactively. Mint a long-lived key (`mk_…`) with `maritime keys create` and export it as `MARITIME_TOK…”
- [claimed-docs] “Mint a long-lived key (`mk_…`) with `maritime keys create` and export it as `MARITIME_TOKEN`. Keys never expire; browser-login tokens do.”
ai-native userBuild against official SDKs
weight 2 · round drawnE2B ships official SDKs (JS/Python) with extensive first-party docs covering sandbox creation, code execution, filesystem, commands, metrics, persistence, and explicit guidance for connecting LLMs/agent frameworks (e2b-docs-1,7,8,32,42-44), plus a CLI (e2b-docs-9, e2b-probe-4) and community confirmation of Python/TS SDK availability (e2b-comm-1). missing for 10: broader independent/hands-on validation beyond one HN thread, and no discoverable OpenAPI spec for programmatic SDK generation (e2b-probe-3).
- [claimed-docs] “const sbx = await Sandbox.create() // Creates a persistent sandbox session const execution = await sbx.runCode('print("hello world")')”
- [claimed-docs] “You can write single files to the sandbox filesystem using the `files.write()` method.”
- [claimed-docs] “You can run terminal commands inside the sandbox using the `commands.run()` method.”
- [claimed-docs] “E2B CLI is a command line tool that allows you to manage and interact with sandboxes and templates.”
- [claimed-docs] “E2B can work with any LLM and AI framework. The easiest way to connect an LLM to E2B is to use the tool use capabilities of the LLM”
- [claimed-docs] “E2B provides a pre-built `claude` template with Claude Code already installed.”
- [claimed-docs] “With the E2B backend, the agent's built-in tools all execute inside an isolated sandbox instead of your machine”
- [claimed-docs] “your agent's code runs in an isolated Firecracker microVM instead of your server, with a real Debian toolchain, pause/resume persistence, an…”
- [community] “E2B does support Python, AgentKit is only available in TypeScript for now.”
- [probe] “official CLI documented at https://docs.e2b.dev/cli”
Maritime documents official TypeScript and Python SDKs with idempotent agent provisioning, scoped authentication, webhooks, messaging, and a Files API, plus an npm-installable CLI and RESTful API, all clearly aimed at building AI-native integrations. missing for 10: no public OpenAPI/swagger spec found (404s) and no independent/hands-on corroboration beyond first-party docs.
- [claimed-docs] “Tag each agent with your own id via `externalId`. `provision` is **idempotent** on it: it returns the existing agent if there is one, else c…”
- [claimed-docs] “Mint a personal API key with `maritime keys create` and send it as a Bearer token, the same token the CLI itself uses.”
- [claimed-docs] “Give every one of your users their own agent with the TypeScript or Python SDK.”
- [claimed-docs] “Send a message and wait for the reply. Sleeping agents wake automatically.”
- [claimed-docs] “RESTful API for managing agents programmatically.”
- [claimed-docs] “The Maritime Files API: eight endpoints and both SDKs to browse, upload, download, and edit an agent's disk over HTTP, even while the agent …”
- [claimed-docs] “provision is idempotent on it: it returns the existing agent if there is one, else creates a new one. Safe to call on every sign-in.”
- [probe] “PROBE openapi: all candidate paths 404 (https://maritime.sh/openapi.json, https://maritime.sh/swagger.json, https://maritime.sh/api/openapi.…”
ai-native userSubscribe to events via webhooks
weight 2 · round to MaritimeE2B docs explicitly describe webhooks that deliver notifications to an external server on sandbox lifecycle events, directly matching the story. Missing for 10: detailed docs on event types/payload schema, setup/configuration steps, and independent/community corroboration of webhook usage.
- [claimed-docs] “Webhooks provide a way for notifications to be delivered to an external web server whenever certain sandbox lifecycle events occur.”
Docs explicitly describe subscribing a URL to receive signed JSON POSTs on every agent lifecycle event, replacing polling, which directly matches the story. missing for 10: independent/hands-on confirmation of webhook delivery reliability, payload schema details, and signature verification specifics.
- [claimed-docs] “Get notified when a customer's agent changes state, instead of polling. Subscribe a URL, and Maritime POSTs a signed JSON body on every life…”
- [claimed-docs] “Hand a subsystem the narrowest key it needs. A leaked key can then only do what its scope allows.”
Agentic features
ai-native userSet up automations that run autonomously in the background
weight 2 · round to MaritimeE2B provides persistent, resumable sandboxes, background command execution (--background flag), webhooks for lifecycle events, and long-running session support (up to 24h, pause/resume), which are building blocks for autonomous background automation. However, there's no evidence of a native scheduler/cron, no first-party 'automation' orchestration layer, and no documented trigger system beyond webhooks — the user must build the autonomy logic themselves using an external agent/LLM. missing for 10: native scheduling/cron or trigger orchestration, evidence of fully autonomous multi-step agent loops running unattended, independent case studies of long-running unattended automations.
- [claimed-docs] “Pause a sandbox and resume it later from the exact state it was in, including the filesystem and the memory, so running processes and loaded…”
- [claimed-docs] “A paused sandbox is kept indefinitely with no automatic deletion.”
- [claimed-docs] “Sandboxes can run continuously for up to 24 hours (Pro) or 1 hour (Base). For longer workloads, use pause and resume”
- [claimed-docs] “Webhooks provide a way for notifications to be delivered to an external web server whenever certain sandbox lifecycle events occur.”
- [claimed-docs] “Use the `--background` flag to run a command in the background and return immediately.”
- [claimed-docs] “Run AI coding agents like Claude Code, Codex, and Amp in secure E2B sandboxes with full terminal, filesystem, and git access.”
Maritime provides cron triggers with standard five-field expressions that wake agents on schedule and deliver prompts, plus agents can self-schedule their own wake triggers (e.g., 'send me a digest every weekday at 9'), and agents run persistently on always-on micro-VMs with sleep/wake economics, enabling true background autonomous automation. Missing for 10: independent/hands-on verification of trigger reliability and no mention of monitoring/alerting on automation failures.
- [claimed-docs] “A cron trigger takes a standard five-field expression, wakes the agent on schedule, and delivers its `prompt` as a chat message on every fir…”
- [claimed-docs] “Ask the agent (OpenClaw-family and Hermes templates): tell it "send me a digest every weekday at 9" and the platform syncs the schedule it s…”
- [claimed-docs] “tell it "send me a digest every weekday at 9" and the platform syncs the schedule it sets for itself into real wake triggers”
- [claimed-docs] “Always-on is a flat add-on for the rare agent that must react in milliseconds around the clock.”
- [claimed-docs] “Send a message and wait for the reply. Sleeping agents wake automatically.”
- [claimed-docs] “Maritime gives it what a laptop session can't: its own always-on micro-VM in the cloud, persistent storage, sleep/wake economics, and every …”
ai-native userOperate the product with natural-language commands
weight 2 · round to MaritimeE2B's own interface is programmatic (SDK calls like Sandbox.create(), files.read(), commands.run()) and a CLI (e2b-docs-9), not a natural-language command surface; however docs explicitly describe connecting LLMs via tool-use so an AI agent can drive E2B through natural-language-triggered function calls (e2b-docs-32, e2b-docs-28, e2b-docs-43). This shows AI-native operation is possible only indirectly through an LLM/agent layer, not as a built-in NL command mode of the product itself. missing for 10: no first-party NL chat/command interface for E2B itself, no evidence of a natural-language CLI or prompt-driven control plane, only indirect LLM tool-use integration documented.
- [claimed-docs] “E2B can work with any LLM and AI framework. The easiest way to connect an LLM to E2B is to use the tool use capabilities of the LLM”
- [claimed-docs] “Run AI coding agents like Claude Code, Codex, and Amp in secure E2B sandboxes with full terminal, filesystem, and git access.”
- [claimed-docs] “With the E2B backend, the agent's built-in tools all execute inside an isolated sandbox instead of your machine”
- [claimed-docs] “E2B CLI is a command line tool that allows you to manage and interact with sandboxes and templates.”
Maritime documents natural-language operation at the agent level (chat with agents, cron-triggered prompts set via natural language like 'send me a digest every weekday at 9') and CLI/API designed to be driven by AI agents via prompts (paste a prompt into Claude/Cursor to install and operate). However, the core Maritime platform itself (dashboard, agent management) is not shown to be operable purely via natural-language commands by the end user — the NL interface is mediated through the CLI/API being agent-friendly rather than a native NL command surface for platform operations. missing for 10: evidence of a native NL interface for platform-level operations (not just agent chat/prompts), independent/hands-on confirmation of this workflow succeeding.
- [claimed-docs] “Ask the agent (OpenClaw-family and Hermes templates): tell it "send me a digest every weekday at 9" and the platform syncs the schedule it s…”
- [claimed-docs] “Paste one prompt into Claude, Cursor, or any assistant and it can install the CLI, authenticate, and deploy agents for you.”
- [claimed-docs] “tell it "send me a digest every weekday at 9" and the platform syncs the schedule it sets for itself into real wake triggers”
- [claimed-docs] “The Maritime CLI is built to be operated by other AI agents, not just humans: machine-readable output on every command, stable exit codes, a…”
- [claimed-docs] “point Claude Code or your Maritime agent at a provider's runbook page and it can inventory the old provider with read-only credentials, recr…”
Api quality
ai-native userExplore an interactive API reference with runnable examples
weight 2 · round drawnE2Bnone0/10Evidence shows extensive static documentation with code snippets (e2b-docs-1, e2b-docs-2, etc.) but no evidence of an interactive, runnable API reference — the probe explicitly found no OpenAPI/Swagger spec (e2b-probe-3), and no playground or 'try it' console is mentioned anywhere in the pack.
- [probe] “PROBE openapi: all candidate paths 404 (https://docs.e2b.dev/openapi.json, https://docs.e2b.dev/swagger.json, https://docs.e2b.dev/api/opena…”
- [claimed-docs] “const sbx = await Sandbox.create() // Creates a persistent sandbox session const execution = await sbx.runCode('print("hello world")')”
- [claimed-docs] “We’ll write the minimal code for starting Sandbox, executing Python inside it and listing all files inside the root directory.”
Maritimenone0/10Docs describe a RESTful API and CLI but there's no evidence of an interactive API reference (e.g., Swagger/OpenAPI explorer) with runnable examples; probes explicitly show no openapi.json/swagger.json spec found at any candidate path. missing for 10: interactive API console/playground, OpenAPI spec, runnable code examples in docs.
- [claimed-docs] “RESTful API for managing agents programmatically.”
- [claimed-docs] “Mint a personal API key with `maritime keys create` and send it as a Bearer token, the same token the CLI itself uses.”
- [probe] “PROBE openapi: all candidate paths 404 (https://maritime.sh/openapi.json, https://maritime.sh/swagger.json, https://maritime.sh/api/openapi.…”
ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)
weight 2 · round drawnE2Bnone0/10E2B exposes SDKs and a CLI, but active probing found no OpenAPI/swagger spec at any standard location (all candidate paths returned 404), and no documentation page references a machine-readable API spec.
- [probe] “PROBE openapi: all candidate paths 404 (https://docs.e2b.dev/openapi.json, https://docs.e2b.dev/swagger.json, https://docs.e2b.dev/api/opena…”
Maritimenone0/10Maritime documents a RESTful API and CLI with --json output, but there is no evidence of a downloadable machine-readable spec (OpenAPI/Swagger); active probes for openapi.json, swagger.json, and similar paths all returned 404.
- [probe] “PROBE openapi: all candidate paths 404 (https://maritime.sh/openapi.json, https://maritime.sh/swagger.json, https://maritime.sh/api/openapi.…”
- [claimed-docs] “RESTful API for managing agents programmatically.”
- [claimed-docs] “Mint a personal API key with `maritime keys create` and send it as a Bearer token, the same token the CLI itself uses.”
ai-native userTest against a sandbox environment without touching production data
weight 1 · round to E2BE2B provides fully isolated, ephemeral cloud sandboxes (Firecracker microVMs) for running AI-generated code, with no connection to production systems — sandboxes are created fresh from templates, have their own filesystem/network, and can be killed or auto-expire, ensuring test isolation. Persistence/pause-resume and metrics further support safe iterative testing without touching real data. Missing for 10: explicit documentation or case study contrasting sandbox vs production data separation, and independent/hands-on verification beyond vendor docs.
- [claimed-docs] “const sbx = await Sandbox.create() // Creates a persistent sandbox session const execution = await sbx.runCode('print("hello world")')”
- [claimed-docs] “Pause a sandbox and resume it later from the exact state it was in, including the filesystem and the memory, so running processes and loaded…”
- [claimed-docs] “You can shutdown the sandbox any time even before the timeout is up by calling the `kill` method.”
- [claimed-docs] “Every sandbox has outbound internet access by default. Control and restrict it with a simple on/off switch or fine-grained allow and deny li…”
- [claimed-docs] “E2B templates allow you to define custom sandboxes. You can define the base image, environment variables, files to copy, commands to run, an…”
- [github] “E2B is an open-source infrastructure that allows you to run AI-generated code in secure isolated sandboxes in the cloud.”
- [claimed-docs] “your agent's code runs in an isolated Firecracker microVM instead of your server, with a real Debian toolchain, pause/resume persistence, an…”
Maritimenone0/10Maritime's docs cover deployment, keys/scopes, templates, triggers, and agent lifecycle, but nothing describes a sandbox/staging environment isolated from production data for testing purposes. Missing for 10: any mention of a sandbox/test mode, staging environment, or data isolation guarantees between test and production agents.
ai-native userRely on versioned APIs with a documented deprecation policy
weight 2 · round drawnE2Bnone0/10The evidence pack covers SDK usage, CLI commands, sandbox lifecycle, and self-hosting, but contains no mention of API versioning scheme, changelog, or a documented deprecation policy; the openapi probe even returned 404s. This is a fair axis for an API-first product, but no evidence supports it.
- [probe] “PROBE openapi: all candidate paths 404 (https://docs.e2b.dev/openapi.json, https://docs.e2b.dev/swagger.json, https://docs.e2b.dev/api/opena…”
Maritimenone0/10No evidence of API versioning scheme (e.g., v1/v2 paths) or any documented deprecation policy; OpenAPI spec probes all 404, and no docs mention version support windows or breaking-change policy.
- [probe] “PROBE openapi: all candidate paths 404 (https://maritime.sh/openapi.json, https://maritime.sh/swagger.json, https://maritime.sh/api/openapi.…”
- [claimed-docs] “RESTful API for managing agents programmatically.”
Automation depth — how much of the product can run unattendedAutomation depth
How much of the product can run unattended
ai-native userPerform bulk operations across many items at once
weight 2 · round to E2BE2B supports several bulk-adjacent capabilities: up to 100 concurrent sandboxes, writing multiple files at once, listing all sandboxes, and shutting down single or all running sandboxes via CLI. However there is no unified batch/bulk API (e.g., no evidence of submitting a list of code executions or files to process as one bulk call) — bulk behavior is assembled from separate CLI/SDK primitives rather than a first-class bulk-operations feature. Missing for 10: a documented batch execution or bulk-processing API, evidence of bulk operations on non-sandbox resources (e.g., bulk template management), and independent/hands-on validation of bulk workflows at scale.
- [claimed-docs] “Up to 24-hour sandbox session length Up to 100 concurrently running sandboxes”
- [claimed-docs] “You can also write multiple files to the sandbox.”
- [claimed-docs] “This will return running sandboxes, you can specify `--state` to get paused or both.”
- [claimed-docs] “You can shutdown single or all running sandboxes with the E2B CLI.”
- [claimed-docs] “To shutdown all running sandboxes, run the following command:”
- [claimed-docs] “Use the `--background` flag to run a command in the background and return immediately.”
There is explicit support for bulk import of config/env vars (maritime-docs-11) and a scriptable CLI/API with JSON output (maritime-docs-9, maritime-docs-36) that an AI-native user could loop over to perform bulk actions, but there is no documented batch/bulk endpoint for operating on many agents or resources at once. missing for 10: a dedicated bulk-operation API/CLI command (e.g. bulk create/delete/update agents), evidence of scaling to many items reliably, and independent confirmation of bulk workflows in practice.
- [claimed-docs] “Bulk import from a .env file (or stdin), then hot-reload”
- [claimed-docs] “Pass --json on EVERY command. Success: one JSON value on stdout, stderr empty.”
- [claimed-docs] “RESTful API for managing agents programmatically.”
- [claimed-docs] “The Maritime CLI is built to be operated by other AI agents, not just humans: machine-readable output on every command, stable exit codes, a…”
ai-native userDefine rules that trigger actions automatically on events
weight 3 · round to MaritimeE2B offers webhooks that deliver notifications for sandbox lifecycle events, which is a minimal building block for event-triggered automation, but there is no evidence of an actual rule-engine (defining conditional actions that execute automatically) beyond forwarding notifications to an external server. missing for 10: built-in conditional rule definitions, in-product automatic action execution, and any hands-on evidence of the webhook mechanism working end-to-end.
- [claimed-docs] “Webhooks provide a way for notifications to be delivered to an external web server whenever certain sandbox lifecycle events occur.”
Maritime supports triggers (cron with five-field expressions, natural-language schedule setting, webhooks for lifecycle events) that wake agents and fire actions automatically, which covers rule-based automation on events. However, this is event/schedule-based triggering rather than a general-purpose conditional rules engine (e.g., no evidence of arbitrary if/then logic across multiple event types or complex conditions). missing for 10: evidence of a general conditional rules/policy engine beyond cron and webhook triggers, and independent/hands-on confirmation of trigger reliability.
- [claimed-docs] “A cron trigger takes a standard five-field expression, wakes the agent on schedule, and delivers its `prompt` as a chat message on every fir…”
- [claimed-docs] “Ask the agent (OpenClaw-family and Hermes templates): tell it "send me a digest every weekday at 9" and the platform syncs the schedule it s…”
- [claimed-docs] “tell it "send me a digest every weekday at 9" and the platform syncs the schedule it sets for itself into real wake triggers”
- [claimed-docs] “Get notified when a customer's agent changes state, instead of polling. Subscribe a URL, and Maritime POSTs a signed JSON body on every life…”
- [claimed-docs] “Always-on is a flat add-on for the rare agent that must react in milliseconds around the clock.”
ai-native userSchedule recurring jobs or workflows
weight 2 · round to MaritimeE2Bnone0/10E2B provides sandbox creation, execution, persistence (pause/resume), and lifecycle webhooks, but nothing in the evidence pack describes a native scheduler, cron-like trigger, or recurring workflow mechanism — scheduling would have to be built by the user via external tooling. This axis is fair for an automation-focused sandbox platform, so absence of evidence means 'none' rather than 'na'.
- [claimed-docs] “Pause a sandbox and resume it later from the exact state it was in, including the filesystem and the memory, so running processes and loaded…”
- [claimed-docs] “A paused sandbox is kept indefinitely with no automatic deletion.”
- [claimed-docs] “Webhooks provide a way for notifications to be delivered to an external web server whenever certain sandbox lifecycle events occur.”
- [claimed-docs] “When you call the set timeout method, the sandbox timeout will be reset to the new value that you specified.”
Maritime explicitly supports cron triggers with standard five-field expressions that wake agents and deliver prompts on schedule, plus a natural-language flow where an agent sets its own recurring schedule ('send me a digest every weekday at 9') that syncs into real wake triggers. This directly covers recurring job/workflow scheduling for AI-native users. Missing for 10: independent/hands-on verification beyond vendor docs, and no detail on managing/editing/cancelling existing scheduled triggers via CLI/API.
- [claimed-docs] “A cron trigger takes a standard five-field expression, wakes the agent on schedule, and delivers its `prompt` as a chat message on every fir…”
- [claimed-docs] “Ask the agent (OpenClaw-family and Hermes templates): tell it "send me a digest every weekday at 9" and the platform syncs the schedule it s…”
- [claimed-docs] “tell it "send me a digest every weekday at 9" and the platform syncs the schedule it sets for itself into real wake triggers”
- [claimed-docs] “Always-on is a flat add-on for the rare agent that must react in milliseconds around the clock.”
Capabilities hardware — stories about capabilities hardware in this arenaCapabilities hardware
Stories about capabilities hardware in this arena
Agent workloads
ai-native userRun coding agents like Claude Code or Codex inside the sandbox following the vendor's own recipe
weight 2 · round drawnE2B provides a dedicated vendor recipe ('Run AI coding agents like Claude Code, Codex, and Amp in secure E2B sandboxes with full terminal, filesystem, and git access') and a pre-built `claude` template with Claude Code already installed, plus similar guides for other agent frameworks. This is a first-party documented recipe with concrete setup instructions. Missing for 10: independent/hands-on confirmation that Codex specifically runs smoothly (community evidence only discusses a different agent framework's rough edges, not Claude Code/Codex directly), and no third-party benchmark of the recipe's reliability.
- [claimed-docs] “Run AI coding agents like Claude Code, Codex, and Amp in secure E2B sandboxes with full terminal, filesystem, and git access.”
- [claimed-docs] “E2B provides a pre-built `claude` template with Claude Code already installed.”
- [claimed-docs] “With the E2B backend, the agent's built-in tools all execute inside an isolated sandbox instead of your machine”
- [claimed-docs] “your agent's code runs in an isolated Firecracker microVM instead of your server, with a real Debian toolchain, pause/resume persistence, an…”
Maritime documents dedicated template recipes for running Claude Code and Codex inside its sandboxed micro-VMs (persistent storage, sleep/wake, metered LLM access by default, chat channels), directly matching the vendor's own recipe framing for these named coding agents. missing for 10: independent/hands-on verification beyond vendor docs, and no direct evidence of a step-by-step 'follow this exact recipe' walkthrough output for a live run.
- [claimed-docs] “Maritime gives it what a laptop session can't: its own always-on micro-VM in the cloud, persistent storage, sleep/wake economics, and every …”
- [claimed-docs] “No key is required: the agent uses Maritime's metered LLM access by default.”
- [claimed-docs] “Every ready-made template is a real agent framework, pre-configured and one image pull from live. Pick one, name it, deploy.”
- [claimed-docs] “point Claude Code or your Maritime agent at a provider's runbook page and it can inventory the old provider with read-only credentials, recr…”
- [claimed-docs] “Paste one prompt into Claude, Cursor, or any assistant and it can install the CLI, authenticate, and deploy agents for you.”
Workloads
developerRun a headless browser or full desktop environment inside the sandbox
weight 2 · round to MaritimeE2B's GitHub README confirms a separate 'Desktop SDK' providing mouse, keyboard, screenshot, application, and desktop streaming APIs for full desktop environments, but this is an add-on SDK rather than a built-in feature of the core Sandbox class documented elsewhere. There's no first-party doc page (e.g., under docs.e2b.dev) detailing headless browser support or code examples for it. missing for 10: dedicated docs/quickstart for the Desktop SDK, headless browser (e.g., Chromium/Playwright) usage examples, independent hands-on confirmation of desktop streaming reliability.
- [github] “For mouse, keyboard, screenshot, application, and desktop streaming APIs, install the Desktop SDK”
Maritime docs explicitly describe 'Computers': a persistent Linux desktop (XFCE, Chromium, LibreOffice) per user driven by a model, and the changelog confirms agents get a real Linux desktop with screenshot/mouse/keyboard control and live takeover — this covers full desktop environments including a browser (Chromium) inside the sandbox. missing for 10: no independent/hands-on corroboration of performance or headless-only browser mode, and no detail on resource limits or concurrency.
- [claimed-docs] “A persistent Linux desktop (XFCE, Chromium, LibreOffice) for each of _your_ end users, driven by _your_ model.”
- [claimed-docs] “Agents are getting a real Linux desktop they can drive: screenshot, mouse, keyboard, and a live view you can take over.”
- [claimed-docs] “To hand out a key that reaches computers and nothing else, create a **Computers key** in the Computers section of Settings, API keys”
developerAttach GPUs to sandboxed workloads
weight 2 · round drawnE2Bnone0/10No evidence anywhere in the pack mentions GPU support, GPU attachment, or GPU-enabled sandboxes; docs only reference customizable CPU & RAM, disk, and memory metrics. This is a fair question for a sandbox/compute infrastructure product, but nothing indicates GPU capability is offered.
- [claimed-docs] “Customize your Sandbox CPU & RAM”
- [claimed-docs] “Up to 24-hour sandbox session length Up to 100 concurrently running sandboxes”
- [claimed-docs] “The sandbox metrics allows you to get information about the sandbox's CPU, memory and disk usage.”
Maritimenone0/10No evidence anywhere in the pack mentions GPUs, GPU-accelerated instances, or hardware acceleration for sandboxed agent workloads; all compute descriptions reference micro-VMs, sleep/wake, and CPU-based containers only. Missing for 10: any mention of GPU attachment, GPU instance types, or hardware accelerator support.
- [claimed-docs] “Maritime gives it what a laptop session can't: its own always-on micro-VM in the cloud, persistent storage, sleep/wake economics, and every …”
- [claimed-docs] “Any Docker container becomes an agent: three endpoints get you sleep/wake, channels, and triggers.”
Code execution — stories about code execution in this arenaCode execution
Stories about code execution in this arena
Files
developerRead, write, upload, and download files in the sandbox filesystem via the SDK
weight 2 · round to E2BE2B SDK docs clearly document files.write() and files.read() for single and multiple files, plus files.list() for directory listing, covering read/write/list operations via the SDK. Upload/download is implicit in write/read of file content but not explicitly named as 'upload/download' with byte-stream examples. missing for 10: explicit upload/download terminology or examples (e.g., binary file transfer, streaming), independent/hands-on corroboration beyond docs.
- [claimed-docs] “You can write single files to the sandbox filesystem using the `files.write()` method.”
- [claimed-docs] “You can read files from the sandbox filesystem using the `files.read()` method.”
- [claimed-docs] “You can also write multiple files to the sandbox.”
- [claimed-docs] “const files = await sbx.files.list('/')”
Maritimenone0/10No evidence pack item mentions SDK-based file read/write/upload/download operations against a sandbox filesystem; the docs cover agent provisioning, webhooks, auth scoping, triggers, computers (desktop), CLI, and migration but nothing about filesystem file I/O via SDK. Missing for full: no filesystem API/SDK method docs, no upload/download endpoint references, no code samples showing file operations.
Runtimes
developerDefine custom sandbox templates or bring my own container image
weight 2 · round to E2BE2B templates explicitly let developers define a custom base image, environment variables, files, commands, and start command, and the CLI supports building/naming/snapshotting templates for reuse; this is well-documented first-party functionality with CLI tooling support. Missing for 10: no independent/hands-on third-party confirmation of custom template builds succeeding in practice.
- [claimed-docs] “E2B templates allow you to define custom sandboxes. You can define the base image, environment variables, files to copy, commands to run, an…”
- [claimed-docs] “This gives you fully configured sandboxes with running processes ready to use with zero wait time for your users.”
- [claimed-docs] “You can name the snapshot template with the `--name` flag. If a template with that name already exists, it is reused.”
- [claimed-docs] “You can manage sandbox snapshots with the `e2b sandbox snapshot` (alias `snap`) commands.”
- [claimed-docs] “e2b sandbox create <template>”
- [claimed-docs] “E2B CLI is a command line tool that allows you to manage and interact with sandboxes and templates.”
Docs confirm bring-your-own-image support via a documented three-endpoint contract that works with any Docker image (CrewAI, LangGraph, AutoGen, custom scripts), plus a build log and template system for packaging custom agents. However, there's no detailed spec of the contract itself, no example custom Dockerfile, and no independent/hands-on confirmation of successfully running a fully custom image end-to-end. missing for 10: full technical spec of the three-endpoint contract, a worked example of a custom image deployment, independent verification of custom image support beyond docs claims.
- [claimed-docs] “CrewAI, LangGraph, AutoGen, your own Python script: any Docker image that speaks a three-endpoint contract gets the whole platform.”
- [claimed-docs] “Templates are cloneable agent packages; publishers can share them via link or the public library.”
- [claimed-docs] “The agent page streams the build log live under **Overview → Builds**.”
- [claimed-docs] “Every ready-made template is a real agent framework, pre-configured and one image pull from live. Pick one, name it, deploy.”
developerExecute code in multiple language runtimes (Python, JavaScript, and more) and get rich results back
weight 2 · round to E2BE2B's docs show runCode execution (e2b-docs-1, e2b-docs-21) with sandboxes supporting Python and JavaScript SDKs, plus file I/O and terminal command execution for rich interaction with results (e2b-docs-7, e2b-docs-8, e2b-docs-19). It's explicitly positioned for running AI-generated code across languages with tool-use integration (e2b-docs-32, e2b-docs-33). missing for 10: explicit enumeration of all supported language runtimes beyond Python/JS/CLI, and independent hands-on confirmation of 'rich results' (e.g., charts/images) beyond docs claims.
- [claimed-docs] “const sbx = await Sandbox.create() // Creates a persistent sandbox session const execution = await sbx.runCode('print("hello world")')”
- [claimed-docs] “We’ll write the minimal code for starting Sandbox, executing Python inside it and listing all files inside the root directory.”
- [claimed-docs] “You can write single files to the sandbox filesystem using the `files.write()` method.”
- [claimed-docs] “You can run terminal commands inside the sandbox using the `commands.run()` method.”
- [claimed-docs] “You can read files from the sandbox filesystem using the `files.read()` method.”
- [claimed-docs] “E2B can work with any LLM and AI framework. The easiest way to connect an LLM to E2B is to use the tool use capabilities of the LLM”
- [claimed-docs] “You can use E2B Sandbox to run AI-generated code to analyze data.”
Maritimenone0/10Maritime's evidence describes deploying persistent Docker-based agents (any Docker image with sleep/wake/channels/triggers), a Files API, and a Linux desktop 'Computers' feature, but nothing describes a code-execution/sandbox API that runs snippets in multiple language runtimes (Python, JS, etc.) and returns structured/rich results (e.g., stdout, images, dataframes) the way a code-interpreter tool would.
- [claimed-docs] “Any Docker container becomes an agent: three endpoints get you sleep/wake, channels, and triggers.”
- [claimed-docs] “A persistent Linux desktop (XFCE, Chromium, LibreOffice) for each of _your_ end users, driven by _your_ model.”
- [claimed-docs] “The Maritime Files API: eight endpoints and both SDKs to browse, upload, download, and edit an agent's disk over HTTP, even while the agent …”
- [claimed-docs] “CrewAI, LangGraph, AutoGen, your own Python script: any Docker image that speaks a three-endpoint contract gets the whole platform.”
Untrusted code
developerExecute untrusted, AI-generated code without risking my own infrastructure
weight 3 · round to E2BE2B is explicitly designed as isolated sandbox infrastructure (Firecracker microVMs) to run AI-generated/untrusted code without touching the developer's own machine, with persistence, network controls, resource limits, and self-hosting/BYOC options for stricter isolation needs (e2b-gh-3, e2b-docs-44, e2b-docs-10, e2b-gh-2). Docs also show direct integration for coding agents (Claude Code, Codex, Amp) executing in these sandboxes with full filesystem/terminal access (e2b-docs-28, e2b-docs-42). Missing for 10: independent third-party security audit or hands-on penetration-test evidence beyond vendor docs/GitHub description.
- [github] “E2B is an open-source infrastructure that allows you to run AI-generated code in secure isolated sandboxes in the cloud.”
- [claimed-docs] “your agent's code runs in an isolated Firecracker microVM instead of your server, with a real Debian toolchain, pause/resume persistence, an…”
- [claimed-docs] “Every sandbox has outbound internet access by default. Control and restrict it with a simple on/off switch or fine-grained allow and deny li…”
- [github] “Read the self-hosting guide to learn how to set up the E2B infrastructure on your own. The infrastructure is deployed using Terraform.”
- [claimed-docs] “Run AI coding agents like Claude Code, Codex, and Amp in secure E2B sandboxes with full terminal, filesystem, and git access.”
- [claimed-docs] “E2B provides a pre-built `claude` template with Claude Code already installed.”
- [claimed-docs] “Pause a sandbox and resume it later from the exact state it was in, including the filesystem and the memory, so running processes and loaded…”
Maritime hosts agents as Docker images on 'serverless infrastructure' (maritime-docs-1, maritime-probe-1) and provides persistent isolated Linux desktops per end user (maritime-docs-5), which implies agent code runs off the developer's own machines/infra. However, there is no explicit documentation of sandboxing guarantees, resource/network isolation, or security boundaries specifically for running untrusted or AI-generated code safely. Missing for 10: explicit sandbox/isolation security model, resource-limit guarantees, and any independent verification that untrusted code cannot escape or affect other tenants/infra.
- [claimed-docs] “CrewAI, LangGraph, AutoGen, your own Python script: any Docker image that speaks a three-endpoint contract gets the whole platform.”
- [claimed-docs] “A persistent Linux desktop (XFCE, Chromium, LibreOffice) for each of _your_ end users, driven by _your_ model.”
- [probe] “PROBE llms.txt: HTTP 200 at https://maritime.sh/llms.txt # Maritime > Maritime is a cloud platform for deploying, hosting, and managing AI …”
developerRun arbitrary shell commands and install packages inside the sandbox
weight 2 · round to E2BE2B docs explicitly document commands.run() for executing arbitrary shell commands inside sandboxes, plus CLI exec-command support with background flag, and templates allow custom package installation via build commands. Combined with file read/write and persistent sandbox sessions, this directly delivers arbitrary shell execution and package installation. Missing for 10: independent hands-on benchmark specifically verifying package installation success/failure rates.
- [claimed-docs] “You can run terminal commands inside the sandbox using the `commands.run()` method.”
- [claimed-docs] “Use the `--background` flag to run a command in the background and return immediately.”
- [claimed-docs] “E2B templates allow you to define custom sandboxes. You can define the base image, environment variables, files to copy, commands to run, an…”
- [claimed-docs] “You can create a sandbox and connect an interactive terminal to it.”
- [claimed-docs] “e2b sandbox create <template>”
Maritimenone0/10Maritime's docs describe deploying agents via Docker images, templates, and a custom framework contract, but there is no evidence of an interactive shell/terminal access or arbitrary package installation inside a running sandbox for a developer to use directly. The 'Computers' feature offers a persistent desktop for end-users, not a shell for arbitrary command execution by the developer.
Dev experience — day-to-day developer experience — setup friction, docs, debugging, iteration speedDev experience
Day-to-day developer experience — setup friction, docs, debugging, iteration speed
Agent lifecycle
ai-native userMy agent can provision its own sandbox, execute code, read the results, and tear it down — end to end without a human
weight 3 · round to E2BE2B's SDK API directly supports programmatic sandbox creation, code execution, filesystem read/write, and teardown/kill — all callable by an agent without human intervention (e2b-docs-1, e2b-docs-6, e2b-docs-19, e2b-docs-8). Docs explicitly describe running AI coding agents like Claude Code/Codex end-to-end in sandboxes with full terminal/filesystem access (e2b-docs-28, e2b-docs-42, e2b-docs-43), and timeouts/kill provide automated teardown. Missing for 10: no independent hands-on benchmark of a fully autonomous end-to-end agent loop (only vendor docs and one community note about agent friction, not a failure of the core provision/execute/teardown flow).
- [claimed-docs] “const sbx = await Sandbox.create() // Creates a persistent sandbox session const execution = await sbx.runCode('print("hello world")')”
- [claimed-docs] “You can shutdown the sandbox any time even before the timeout is up by calling the `kill` method.”
- [claimed-docs] “You can read files from the sandbox filesystem using the `files.read()` method.”
- [claimed-docs] “You can run terminal commands inside the sandbox using the `commands.run()` method.”
- [claimed-docs] “Run AI coding agents like Claude Code, Codex, and Amp in secure E2B sandboxes with full terminal, filesystem, and git access.”
- [claimed-docs] “E2B provides a pre-built `claude` template with Claude Code already installed.”
- [claimed-docs] “With the E2B backend, the agent's built-in tools all execute inside an isolated sandbox instead of your machine”
- [claimed-docs] “When you call the set timeout method, the sandbox timeout will be reset to the new value that you specified.”
Maritime's CLI and SDK let an agent provision (idempotent) itself, run in a sandboxed micro-VM/container, and be managed via authenticated API/CLI calls with JSON output designed for machine consumption, and agents can be torn down/put to sleep automatically when idle. However, the evidence is docs-only with no hands-on trace of an agent actually reading back code-execution results or explicit 'delete/destroy' teardown call, and no independent verification of the full autonomous loop. missing for 10: concrete evidence of an agent reading execution output programmatically, an explicit teardown/delete API example, and independent/hands-on confirmation of the full provision→execute→read→teardown loop.
- [claimed-docs] “Tag each agent with your own id via `externalId`. `provision` is **idempotent** on it: it returns the existing agent if there is one, else c…”
- [claimed-docs] “Pass --json on EVERY command. Success: one JSON value on stdout, stderr empty.”
- [claimed-docs] “The Maritime CLI is built to be operated by other AI agents, not just humans: machine-readable output on every command, stable exit codes, a…”
- [claimed-docs] “Authenticate with an env var, never interactively. Mint a long-lived key (`mk_…`) with `maritime keys create` and export it as `MARITIME_TOK…”
- [claimed-docs] “Send a message and wait for the reply. Sleeping agents wake automatically.”
- [claimed-docs] “provision is idempotent on it: it returns the existing agent if there is one, else creates a new one. Safe to call on every sign-in.”
- [claimed-docs] “Any Docker container becomes an agent: three endpoints get you sleep/wake, channels, and triggers.”
Isolation security — stories about isolation security in this arenaIsolation security
Stories about isolation security in this arena
Isolation
platform-engineerRely on a documented hard isolation boundary (microVM or equivalent) between sandboxes and my systems
weight 3 · round to E2BE2B docs explicitly state that code runs 'in an isolated Firecracker microVM instead of your server' with network controls and pause/resume, directly documenting the hard isolation boundary platform engineers need. Missing for 10: independent third-party security audit or pentest report, and more detail on the isolation boundary's guarantees beyond a single doc line.
- [claimed-docs] “your agent's code runs in an isolated Firecracker microVM instead of your server, with a real Debian toolchain, pause/resume persistence, an…”
- [claimed-docs] “With the E2B backend, the agent's built-in tools all execute inside an isolated sandbox instead of your machine”
- [claimed-docs] “Every sandbox has outbound internet access by default. Control and restrict it with a simple on/off switch or fine-grained allow and deny li…”
- [github] “E2B is an open-source infrastructure that allows you to run AI-generated code in secure isolated sandboxes in the cloud.”
Maritimenone0/10No evidence pack item documents a specific isolation mechanism (microVM, gVisor, container hardening, VM boundary) between sandboxes and host systems; docs mention Docker images, serverless infra, and scoped API keys but not the underlying execution isolation boundary. Missing for 10: any explicit statement of sandbox isolation technology, security model documentation, or third-party audit/confirmation of hard isolation.
ai-native userGive an agent a sandbox where host secrets and credentials are unreachable by the code it runs
weight 2 · round to E2BE2B's docs and repo repeatedly describe sandboxes as isolated Firecracker microVMs separate from the host/server ('your agent's code runs in an isolated Firecracker microVM instead of your server', 'isolated sandbox instead of your machine'), and network access to the sandbox can be restricted via allow/deny lists, all supporting the claim that a sandboxed agent cannot reach host resources. However, there is no explicit documentation or hands-on test specifically confirming host secrets/credentials (e.g., env vars, cloud IAM creds) are unreachable from sandboxed code, nor independent security audit evidence. Missing for 10: explicit secret/credential-isolation guarantees, third-party security audit or hands-on penetration test confirming host secrets are unreachable.
- [github] “E2B is an open-source infrastructure that allows you to run AI-generated code in secure isolated sandboxes in the cloud.”
- [claimed-docs] “your agent's code runs in an isolated Firecracker microVM instead of your server, with a real Debian toolchain, pause/resume persistence, an…”
- [claimed-docs] “With the E2B backend, the agent's built-in tools all execute inside an isolated sandbox instead of your machine”
- [claimed-docs] “Every sandbox has outbound internet access by default. Control and restrict it with a simple on/off switch or fine-grained allow and deny li…”
Maritime's docs describe per-agent micro-VM isolation with secrets 'injected only into that agent's VM' and encrypted at rest, plus scoped API keys so a leaked key 'can only do what its scope allows,' which together imply host-level credentials aren't reachable by agent code. However, there's no explicit documentation of sandbox mechanics like blocking cloud metadata endpoints, filesystem isolation from the host, or independent security testing confirming secrets are truly unreachable. missing for 10: explicit host-credential isolation guarantees (e.g., no metadata service access, filesystem boundary details), independent/hands-on security verification.
- [claimed-docs] “Variables are **secret by default**: stored encrypted at rest, injected only into that agent's VM, and always masked in the UI.”
- [claimed-docs] “Hand a subsystem the narrowest key it needs. A leaked key can then only do what its scope allows.”
- [claimed-docs] “To hand out a key that reaches computers and nothing else, create a **Computers key** in the Computers section of Settings, API keys”
- [claimed-docs] “a key whose only scope is `computers` is refused on every other Maritime endpoint”
- [claimed-docs] “Every key carries scopes. Hand a subsystem the _narrowest_ key it needs. A leaked key can then only do what its scope allows.”
Network policy
platform-engineerRestrict or allow the sandbox's network egress with explicit policy
weight 3 · round to E2BE2B docs explicitly document network egress control: outbound internet access is on by default and can be restricted via 'a simple on/off switch or fine-grained allow and deny lists,' directly matching the platform-engineer's need for explicit egress policy. missing for 10: independent/hands-on verification of allow/deny list behavior, and detailed policy syntax/API reference beyond the summary.
- [claimed-docs] “Every sandbox has outbound internet access by default. Control and restrict it with a simple on/off switch or fine-grained allow and deny li…”
- [claimed-docs] “your agent's code runs in an isolated Firecracker microVM instead of your server, with a real Debian toolchain, pause/resume persistence, an…”
Openness — open source, data portability, and self-hosting storiesOpenness
Open source, data portability, and self-hosting stories
ai-native userDo everything through the API that I can do in the UI
weight 2 · round drawnE2B is API/SDK-first, so most core operations (sandbox create, exec, filesystem, commands, metrics, templates, snapshots, webhooks) are documented as API/CLI actions rather than gated behind a UI, and the CLI mirrors sandbox lifecycle management. However, some UI-surfaced features like Desktop streaming (mouse/keyboard/screenshot) require a separate Desktop SDK, and no public OpenAPI spec was found, making full parity hard to verify. Missing for 10: a confirmed OpenAPI/full REST spec, explicit confirmation that dashboard-only features (e.g., billing, team management) are also API-accessible, independent verification of full UI/API parity.
- [claimed-docs] “const sbx = await Sandbox.create() // Creates a persistent sandbox session const execution = await sbx.runCode('print("hello world")')”
- [claimed-docs] “E2B CLI is a command line tool that allows you to manage and interact with sandboxes and templates.”
- [claimed-docs] “E2B templates allow you to define custom sandboxes. You can define the base image, environment variables, files to copy, commands to run, an…”
- [claimed-docs] “You can manage sandbox snapshots with the `e2b sandbox snapshot` (alias `snap`) commands.”
- [claimed-docs] “Webhooks provide a way for notifications to be delivered to an external web server whenever certain sandbox lifecycle events occur.”
- [github] “For mouse, keyboard, screenshot, application, and desktop streaming APIs, install the Desktop SDK”
- [probe] “PROBE openapi: all candidate paths 404 (https://docs.e2b.dev/openapi.json, https://docs.e2b.dev/swagger.json, https://docs.e2b.dev/api/opena…”
- [claimed-docs] “If you need an explicit configuration — for example several API keys, teams, or BYOC or self-hosted deployments — create an `E2B` client and…”
Docs show a broad API/SDK/CLI surface (provisioning, keys, webhooks, triggers, computers, templates, builds) and CLI --json mode implying the CLI itself is just an API wrapper, suggesting an API-first architecture. However there's no explicit statement of full UI/API parity and no discoverable OpenAPI spec (probes return 404s for all schema locations), so completeness of API coverage relative to every UI feature can't be confirmed. missing for 10: explicit parity statement, published OpenAPI/API reference, independent confirmation that every UI action has an API equivalent.
- [claimed-docs] “Mint a personal API key with `maritime keys create` and send it as a Bearer token, the same token the CLI itself uses.”
- [claimed-docs] “Pass --json on EVERY command. Success: one JSON value on stdout, stderr empty.”
- [claimed-docs] “Tag each agent with your own id via `externalId`. `provision` is **idempotent** on it: it returns the existing agent if there is one, else c…”
- [claimed-docs] “Hand a subsystem the narrowest key it needs. A leaked key can then only do what its scope allows.”
- [claimed-docs] “A persistent Linux desktop (XFCE, Chromium, LibreOffice) for each of _your_ end users, driven by _your_ model.”
- [claimed-docs] “The agent page streams the build log live under **Overview → Builds**.”
- [claimed-docs] “Templates are cloneable agent packages; publishers can share them via link or the public library.”
- [probe] “PROBE openapi: all candidate paths 404 (https://maritime.sh/openapi.json, https://maritime.sh/swagger.json, https://maritime.sh/api/openapi.…”
ai-native userExport all of my data in open formats and leave
weight 3 · round to E2BE2B is open-source and self-hostable (Terraform-based), and sandbox files can be read/downloaded via files.read()/CLI, giving a technical path to extract data and avoid lock-in, but there is no documented 'export all account data' feature or guarantee of open data formats for account-level artifacts like snapshots/templates. missing for 10: explicit data-export tooling, documented open format guarantees for exported data, account-level export across all sandboxes/snapshots.
- [github] “Read the self-hosting guide to learn how to set up the E2B infrastructure on your own. The infrastructure is deployed using Terraform.”
- [github] “E2B is an open-source infrastructure that allows you to run AI-generated code in secure isolated sandboxes in the cloud.”
- [claimed-docs] “You can read files from the sandbox filesystem using the `files.read()` method.”
- [claimed-docs] “You can manage sandbox snapshots with the `e2b sandbox snapshot` (alias `snap`) commands.”
Maritimenone0/10Evidence shows import/migration INTO Maritime (from AWS/Heroku/VPS, .env bulk import) and a CLI with --json output, but nothing documents exporting agent configs, data, secrets, or state OUT in open formats to leave the platform. missing for 10: an export command or documented data-portability feature, open-format export of agent state/configs, any migration-out guide.
- [claimed-docs] “Bulk import from a .env file (or stdin), then hot-reload”
- [claimed-docs] “Migrate from AWS, Heroku, or a VPS”
- [claimed-docs] “Pass --json on EVERY command. Success: one JSON value on stdout, stderr empty.”
ai-native userRead the product's source under an open license
weight 2 · round to E2BGitHub repo description explicitly states 'E2B is an open-source infrastructure' and provides a self-hosting guide with Terraform, corroborating that the source is publicly available and usable, not just marketing docs. Missing for 10: explicit citation of the license name (e.g., Apache/MIT) and independent confirmation of license terms.
Maritimenone0/10Maritime is a closed commercial SaaS platform; there is no evidence of an open-source license or public source repository anywhere in the docs or probes. missing for 10: an open-source license, a public source code repository, any mention of licensing terms for the platform's own code.
ai-native userSelf-host the core product
weight 3 · round to E2BE2B is explicitly open-source and provides a documented self-hosting guide using Terraform to deploy the infrastructure on your own, plus BYOC/self-hosted deployment options referenced in client docs. However, the evidence lacks depth on self-hosting: no details on required components, hardware/scale limits, maintenance burden, or independent reports of someone successfully self-hosting. missing for 10: detailed self-hosting setup docs/tutorial, independent verification of a working self-hosted deployment, and clarity on feature parity between self-hosted and cloud versions.
- [github] “Read the self-hosting guide to learn how to set up the E2B infrastructure on your own. The infrastructure is deployed using Terraform.”
- [github] “E2B is an open-source infrastructure that allows you to run AI-generated code in secure isolated sandboxes in the cloud.”
- [claimed-docs] “If you need an explicit configuration — for example several API keys, teams, or BYOC or self-hosted deployments — create an `E2B` client and…”
- [claimed-docs] “If you need an explicit configuration — for example several API keys, teams, or [BYOC or self-hosted deployments](/byoc) in a single process…”
Maritimenone0/10Maritime is explicitly described as a cloud platform with agents running on serverless infrastructure, and no documentation offers a self-hosted deployment option for the core platform itself (Docker images are for agent frameworks running atop Maritime's cloud, not for self-hosting Maritime).
- [probe] “PROBE llms.txt: HTTP 200 at https://maritime.sh/llms.txt # Maritime > Maritime is a cloud platform for deploying, hosting, and managing AI …”
- [claimed-docs] “Migrate from AWS, Heroku, or a VPS”
Performance scale — stories about performance scale in this arenaPerformance scale
Stories about performance scale in this arena
Latency
developerStart sandboxes with documented sub-second-to-few-second cold starts
weight 3 · round drawnE2Bnone0/10The evidence pack describes sandbox creation, persistence, pausing/resuming, and templates with 'zero wait time,' but contains no documented benchmark or specific claim of sub-second-to-few-second cold start times. Missing for 10: any explicit startup latency figures, benchmark data, or documentation stating cold-start speed in seconds.
- [claimed-docs] “const sbx = await Sandbox.create() // Creates a persistent sandbox session const execution = await sbx.runCode('print("hello world")')”
- [claimed-docs] “This gives you fully configured sandboxes with running processes ready to use with zero wait time for your users.”
- [claimed-docs] “E2B templates allow you to define custom sandboxes. You can define the base image, environment variables, files to copy, commands to run, an…”
Maritimenone0/10Maritime's docs describe sleep/wake behavior (e.g., 'Sleeping agents wake automatically', 'puts it to sleep when idle, and wakes it on the next visit') and an 'always-on' add-on for millisecond reaction, but no evidence anywhere documents actual cold-start latency numbers (sub-second to few-second) for waking a sandboxed agent from sleep.
- [claimed-docs] “Send a message and wait for the reply. Sleeping agents wake automatically.”
- [claimed-docs] “Any repo with a Dockerfile can be served on a public, no-login HTTPS URL. Maritime builds it, runs it serverlessly, puts it to sleep when id…”
- [claimed-docs] “Always-on is a flat add-on for the rare agent that must react in milliseconds around the clock.”
Scale
platform-engineerRun large concurrent fleets of sandboxes with documented concurrency limits
weight 3 · round to E2BE2B publishes concrete documented concurrency limits (up to 100 concurrently running sandboxes, up to 24-hour session length on Pro plans) and metrics/CLI tooling to manage fleets, giving platform engineers real numbers to plan around. However missing for 10: no documentation of how limits scale for enterprise/self-hosted deployments, no guidance on requesting higher concurrency, no independent/hands-on benchmarks validating fleet behavior at scale, and no discussion of failure modes or queuing when limits are hit.
- [claimed-docs] “Up to 24-hour sandbox session length Up to 100 concurrently running sandboxes”
- [claimed-docs] “Sandboxes can run continuously for up to 24 hours (Pro) or 1 hour (Base). For longer workloads, use pause and resume”
- [claimed-docs] “The sandbox metrics allows you to get information about the sandbox's CPU, memory and disk usage.”
- [claimed-docs] “Getting the metrics of a sandbox returns an array of timestamped metrics containing CPU, memory and disk usage information.”
- [github] “Read the self-hosting guide to learn how to set up the E2B infrastructure on your own. The infrastructure is deployed using Terraform.”
developerKeep a sandbox session running for hours or days for long agent tasks
weight 2 · round to E2BE2B sandboxes can run continuously for hours (up to 24h on Pro plans, with configurable/resettable timeouts via setTimeout), covering the 'hours' part of the story fully, and for multi-day tasks E2B explicitly recommends pause/resume to preserve full memory and filesystem state indefinitely rather than true continuous execution. This satisfies long-running agent tasks but with a documented architectural limitation (base tier capped at 1h, Pro at 24h continuous) requiring the pause/resume workaround for day-scale persistence. Missing for 10: evidence of truly continuous multi-day execution without pause/resume, and independent/hands-on confirmation of stability over such long sessions.
- [claimed-docs] “Sandboxes can run continuously for up to 24 hours (Pro) or 1 hour (Base). For longer workloads, use pause and resume”
- [claimed-docs] “Pause a sandbox and resume it later from the exact state it was in, including the filesystem and the memory, so running processes and loaded…”
- [claimed-docs] “A paused sandbox is kept indefinitely with no automatic deletion.”
- [claimed-docs] “When you call the set timeout method, the sandbox timeout will be reset to the new value that you specified.”
- [claimed-docs] “You can change the sandbox timeout when it's running by calling the `setTimeout` method in JavaScript or `set_timeout` method in Python.”
- [claimed-docs] “Up to 24-hour sandbox session length Up to 100 concurrently running sandboxes”
Maritime advertises serverless infra by default with an 'always-on' add-on for agents that must run continuously, and a persistent Linux desktop model for end users, suggesting long-lived sessions are possible but only via a paid add-on rather than a default guarantee for hours/days-long sandbox sessions. missing for 10: explicit documentation of session/session-timeout limits, confirmation that a sandbox session can run unattended for hours or days without the always-on add-on, and independent verification of long-running task stability.
- [claimed-docs] “Always-on is a flat add-on for the rare agent that must react in milliseconds around the clock.”
- [claimed-docs] “A persistent Linux desktop (XFCE, Chromium, LibreOffice) for each of _your_ end users, driven by _your_ model.”
- [probe] “PROBE llms.txt: HTTP 200 at https://maritime.sh/llms.txt # Maritime > Maritime is a cloud platform for deploying, hosting, and managing AI …”
Pricing limits — free-tier ceilings, usage caps, and rate limits before you have to payPricing limits
Free-tier ceilings, usage caps, and rate limits before you have to pay
Pricing
developerStart building with a free tier or included credits without talking to sales
weight 1 · round drawnE2B explicitly gives every new account $100 in credits with no sales contact required (e2b-docs-41), and the pricing page details a self-serve tier with concrete limits (24-hour sessions, 100 concurrent sandboxes, e2b-docs-14) alongside quickstart docs showing immediate SDK usage without any account-approval step. missing for 10: no independent/community confirmation of the signup flow or credit amount, and no explicit mention of a free tier distinct from trial credits.
- [claimed-docs] “Every new E2B account get $100 in credits.”
- [claimed-docs] “Up to 24-hour sandbox session length Up to 100 concurrently running sandboxes”
- [claimed-docs] “Customize your Sandbox CPU & RAM”
- [claimed-docs] “const sbx = await Sandbox.create() // Creates a persistent sandbox session const execution = await sbx.runCode('print("hello world")')”
Docs explicitly state the free plan includes 3 agents with no card required, and quickstart/CLI docs show a self-serve path (npm install, deploy in under 5 minutes) with no sales contact implied anywhere. missing for 10: independent/third-party confirmation of the free tier's real-world limits and no hands-on verification of the signup flow.
- [claimed-docs] “the free plan includes 3 agents, no card required”
- [claimed-docs] “Deploy your first agent and talk to it, in under 5 minutes.”
- [claimed-docs] “npm install -g maritime-cli”
- [claimed-docs] “One subscription, a set number of agents, flat prices for extras. No meters, no hourly rates: how much your agents run never changes the bil…”
platform-engineerPay per second only for the compute a sandbox actually uses
weight 3 · round to E2BThe pricing page confirms usage-based configuration (customizable CPU/RAM, session-length/concurrency tiers) and the SDK/CLI let you kill a sandbox or reset its timeout at any moment, plus real-time CPU/memory/disk metrics — all consistent with paying only for compute actually consumed. However, no evidence pack item explicitly states a per-second billing granularity or shows a billing/invoice example. Missing for 10: explicit per-second billing rate documentation, an invoice/billing dashboard example, or a stated billing unit (e.g., 'billed per second of sandbox uptime').
- [claimed-docs] “Customize your Sandbox CPU & RAM”
- [claimed-docs] “Up to 24-hour sandbox session length Up to 100 concurrently running sandboxes”
- [claimed-docs] “When you call the set timeout method, the sandbox timeout will be reset to the new value that you specified.”
- [claimed-docs] “You can shutdown the sandbox any time even before the timeout is up by calling the `kill` method.”
- [claimed-docs] “The sandbox metrics allows you to get information about the sandbox's CPU, memory and disk usage.”
- [claimed-docs] “Getting the metrics of a sandbox returns an array of timestamped metrics containing CPU, memory and disk usage information.”
Maritimenone0/10Maritime's own billing docs explicitly state the opposite of per-second usage billing: 'One subscription, a set number of agents, flat prices for extras. No meters, no hourly rates: how much your agents run never changes the bill' and 'Always-on is a flat add-on.' There is no evidence of any per-second or usage-metered compute pricing for sandboxes.
- [claimed-docs] “One subscription, a set number of agents, flat prices for extras. No meters, no hourly rates: how much your agents run never changes the bil…”
- [claimed-docs] “Always-on is a flat add-on for the rare agent that must react in milliseconds around the clock.”
Privacy posture — data-handling and privacy storiesPrivacy posture
Data-handling and privacy stories
ai-native userChoose where my data is stored (region/residency)
weight 2 · round to E2BE2B docs mention BYOC and self-hosted deployment options (Terraform-based) which would let an organization control where infrastructure/data physically resides, but there is no evidence of an explicit region/residency selector or documented list of hosting regions for the standard managed service. missing for 10: explicit region-selection UI/API, documented list of available data-residency regions, compliance certifications tied to specific regions.
- [claimed-docs] “If you need an explicit configuration — for example several API keys, teams, or BYOC or self-hosted deployments — create an `E2B` client and…”
- [claimed-docs] “If you need an explicit configuration — for example several API keys, teams, or [BYOC or self-hosted deployments](/byoc) in a single process…”
- [github] “Read the self-hosting guide to learn how to set up the E2B infrastructure on your own. The infrastructure is deployed using Terraform.”
ai-native userPrevent my data from being used to train AI models
weight 3 · round drawnE2Bnone0/10The evidence pack contains no mention of E2B's data-training policies, opt-out controls, or data-use terms for AI model training; all evidence concerns sandbox execution, CLI, persistence, and networking features. This axis is a fair question for a product processing user code/data, but nothing in the pack shows E2B addressing it.
ai-native userControl data retention and deletion
weight 2 · round to E2BE2B gives concrete lifecycle controls over sandbox data: sandboxes can be killed/shutdown anytime, timeouts set/reset, and paused sandboxes are 'kept indefinitely with no automatic deletion' until explicitly resumed or removed via CLI shutdown/kill commands, giving users direct control over when sandbox state (filesystem, memory) persists or is destroyed. However, there's no evidence of broader data-retention policy documentation (e.g., logs, telemetry, backups) or explicit deletion/export guarantees at the account or compliance level (GDPR/SOC2-style retention statements). Missing for 10: explicit data-retention/deletion policy documentation beyond sandbox kill/pause mechanics, account-level data deletion guarantees, and compliance/regulatory retention statements.
- [claimed-docs] “A paused sandbox is kept indefinitely with no automatic deletion.”
- [claimed-docs] “You can shutdown the sandbox any time even before the timeout is up by calling the `kill` method.”
- [claimed-docs] “You can change the sandbox timeout when it's running by calling the `setTimeout` method in JavaScript or `set_timeout` method in Python.”
- [claimed-docs] “You can shutdown single or all running sandboxes with the E2B CLI.”
- [claimed-docs] “To shutdown all running sandboxes, run the following command:”
- [claimed-docs] “Pause a sandbox and resume it later from the exact state it was in, including the filesystem and the memory, so running processes and loaded…”
ai-native userOpt out of telemetry and usage tracking
weight 2 · round drawnE2Bnone0/10No evidence pack item mentions telemetry, analytics collection, or an opt-out/opt-in setting for usage tracking; E2B's self-hosting option (e2b-gh-2) implies infrastructure control but does not document any telemetry toggle for the hosted product.
Provisioning lifecycle — creating, updating, and tearing down resources across their lifecycleProvisioning lifecycle
Creating, updating, and tearing down resources across their lifecycle
Lifecycle
developerSet timeouts so sandboxes shut down automatically and stop billing when idle or done
weight 2 · round to E2BE2B documents explicit timeout controls (setTimeout/set_timeout), default and configurable session lengths (24h Pro/1h Base), automatic kill on timeout, and manual kill/shutdown via SDK and CLI, directly enabling idle sandboxes to auto-terminate. missing for 10: explicit first-party confirmation that billing stops precisely at timeout/kill (only inferred from lifecycle docs), and independent/hands-on verification of billing behavior.
- [claimed-docs] “When you call the set timeout method, the sandbox timeout will be reset to the new value that you specified.”
- [claimed-docs] “You can shutdown the sandbox any time even before the timeout is up by calling the `kill` method.”
- [claimed-docs] “You can change the sandbox timeout when it's running by calling the `setTimeout` method in JavaScript or `set_timeout` method in Python.”
- [claimed-docs] “Sandboxes can run continuously for up to 24 hours (Pro) or 1 hour (Base). For longer workloads, use pause and resume”
- [claimed-docs] “You can shutdown single or all running sandboxes with the E2B CLI.”
- [claimed-docs] “To shutdown all running sandboxes, run the following command:”
Maritimenone0/10The docs describe Maritime as serverless agent hosting and mention an 'always-on' paid add-on (implying default agents are not always running), but no evidence describes a developer-configurable idle timeout or automatic shutdown-to-stop-billing mechanism. Missing for 10: any documented timeout setting, idle-detection policy, or billing-pause behavior tied to inactivity.
- [claimed-docs] “Always-on is a flat add-on for the rare agent that must react in milliseconds around the clock.”
developerSpin up an isolated sandbox with one API/SDK call and get a live environment in seconds
weight 3 · round to E2BDocs clearly show a single SDK call (Sandbox.create()) provisions an isolated sandbox with near-instant readiness, plus templates offering 'zero wait time' startup, CLI equivalents, and evidence of the core create/run/kill/timeout lifecycle. missing for 10: independent hands-on benchmarking of actual boot latency beyond vendor claims.
- [claimed-docs] “const sbx = await Sandbox.create() // Creates a persistent sandbox session const execution = await sbx.runCode('print("hello world")')”
- [claimed-docs] “This gives you fully configured sandboxes with running processes ready to use with zero wait time for your users.”
- [claimed-docs] “const sbx = await Sandbox.create() // Creates a persistent sandbox session”
- [claimed-docs] “We’ll write the minimal code for starting Sandbox, executing Python inside it and listing all files inside the root directory.”
- [claimed-docs] “e2b sandbox create <template>”
- [github] “E2B is an open-source infrastructure that allows you to run AI-generated code in secure isolated sandboxes in the cloud.”
Maritime's SDK exposes an idempotent `provision` call that creates/returns a live agent environment, and docs claim full agent deployment (image pull → live, chat-ready) in under 5 minutes, with CLI/API equivalents (`maritime keys create`, RESTful API). This matches the 'one call, live environment fast' story well, though the fastest documented time is minutes not literal seconds and there's no independent/hands-on latency benchmark or public OpenAPI spec confirming the exact call shape. Missing for 10: independent timing/benchmark evidence corroborating 'seconds', and a verifiable OpenAPI/API schema (probe shows openapi.json 404).
- [claimed-docs] “Tag each agent with your own id via `externalId`. `provision` is **idempotent** on it: it returns the existing agent if there is one, else c…”
- [claimed-docs] “provision is idempotent on it: it returns the existing agent if there is one, else creates a new one. Safe to call on every sign-in.”
- [claimed-docs] “Deploy your first agent and talk to it, in under 5 minutes.”
- [claimed-docs] “Every ready-made template is a real agent framework, pre-configured and one image pull from live. Pick one, name it, deploy.”
- [claimed-docs] “RESTful API for managing agents programmatically.”
- [claimed-docs] “The Maritime CLI lets you deploy and manage agents from your terminal.”
- [probe] “PROBE openapi: all candidate paths 404 (https://maritime.sh/openapi.json, https://maritime.sh/swagger.json, https://maritime.sh/api/openapi.…”
Preview access
developerExpose a port from the sandbox on a public preview URL to reach services running inside
weight 2 · round to MaritimeE2Bnone0/10The evidence pack covers sandbox lifecycle (create, pause/resume, timeouts, files, commands, metrics, CLI) but contains no mention of exposing ports or generating public preview URLs to reach services running inside a sandbox. This is a fair capability question for a sandbox execution platform, so the axis applies, but nothing in the evidence supports it.
Maritime's docs describe deploying any Dockerfile-based repo to a public, no-login HTTPS URL that reaches the running container's service, matching the core story of exposing an internal service via a public preview URL (maritime-docs-29, maritime-docs-47). However, the docs never explicitly describe port-selection mechanics (e.g., multiple ports, custom port binding) and all evidence is first-party with no independent/hands-on corroboration. missing for 10: explicit port-selection/multi-port docs, independent verification that the public URL reaches an arbitrary internal port.
- [claimed-docs] “Any repo with a Dockerfile can be served on a public, no-login HTTPS URL. Maritime builds it, runs it serverlessly, puts it to sleep when id…”
- [claimed-docs] “Any repo with a Dockerfile can be served on a public, no-login HTTPS URL.”
Snapshot persistence — stories about snapshot persistence in this arenaSnapshot persistence
Stories about snapshot persistence in this arena
Snapshots
developerPause a running sandbox and resume it later with filesystem and memory state intact
weight 2 · round to E2BE2B's docs explicitly document pausing a sandbox and resuming it later 'from the exact state it was in, including the filesystem and the memory, so running processes and loaded variables survive,' with paused sandboxes kept indefinitely, plus CLI support for snapshot/pause management (e2b sandbox snapshot, list --state paused). This directly matches the story's core claim. missing for 10: independent/hands-on third-party verification of state fidelity after resume, and more detail on any limitations (e.g., GPU/network state, long-running process edge cases) beyond first-party docs.
- [claimed-docs] “Pause a sandbox and resume it later from the exact state it was in, including the filesystem and the memory, so running processes and loaded…”
- [claimed-docs] “A paused sandbox is kept indefinitely with no automatic deletion.”
- [claimed-docs] “Sandboxes can run continuously for up to 24 hours (Pro) or 1 hour (Base). For longer workloads, use pause and resume”
- [claimed-docs] “You can manage sandbox snapshots with the `e2b sandbox snapshot` (alias `snap`) commands.”
- [claimed-docs] “This will return running sandboxes, you can specify `--state` to get paused or both.”
- [claimed-docs] “your agent's code runs in an isolated Firecracker microVM instead of your server, with a real Debian toolchain, pause/resume persistence, an…”
developerSnapshot a sandbox and later restore or fork new sandboxes from that snapshot
weight 3 · round to E2BE2B explicitly supports pause/resume of a sandbox preserving filesystem and memory, and exposes CLI/SDK snapshot management (`e2b sandbox snapshot`), naming snapshot templates that can be reused to create new sandboxes, effectively enabling fork-like behavior from a saved state. missing for 10: explicit documentation/example of forking multiple independent sandboxes from a single snapshot simultaneously, and independent hands-on verification of restore/fork fidelity beyond vendor docs.
- [claimed-docs] “Pause a sandbox and resume it later from the exact state it was in, including the filesystem and the memory, so running processes and loaded…”
- [claimed-docs] “A paused sandbox is kept indefinitely with no automatic deletion.”
- [claimed-docs] “Sandboxes can run continuously for up to 24 hours (Pro) or 1 hour (Base). For longer workloads, use pause and resume”
- [claimed-docs] “You can manage sandbox snapshots with the `e2b sandbox snapshot` (alias `snap`) commands.”
- [claimed-docs] “You can name the snapshot template with the `--name` flag. If a template with that name already exists, it is reused.”
Not comparable on these axes
ai-native userPlug MCP servers into this product so it can use their tools
weight 3 · not comparableE2Bn/aE2B is sandbox/code-execution infrastructure that agents and LLMs call as a tool (e.g., docs describe connecting LLMs to E2B, or running agents like Claude Code inside E2B sandboxes), not an AI agent/assistant that itself would consume external tools via MCP client integration. The evidence never shows E2B acting as an MCP client plugging in external tool servers, consistent with this being a category mismatch rather than a missing feature.
- [claimed-docs] “E2B can work with any LLM and AI framework. The easiest way to connect an LLM to E2B is to use the tool use capabilities of the LLM”
- [claimed-docs] “Run AI coding agents like Claude Code, Codex, and Amp in secure E2B sandboxes with full terminal, filesystem, and git access.”
- [claimed-docs] “E2B provides a pre-built `claude` template with Claude Code already installed.”
Maritimenone0/10Maritime is a platform for deploying and hosting agents built with frameworks (CrewAI, LangGraph, etc.), but the evidence pack shows no mention of MCP server integration or a mechanism for agents to consume external MCP tool servers. Nothing describes plugging in MCP servers to extend tool use.
ai-native userGet AI-generated insights and suggestions from my data inside the product
weight 2 · not comparableE2Bn/aE2B is developer sandbox infrastructure for running AI-generated code, not an end-user data product with its own analytics/insights surface; the analyze-data-with-ai use case describes enabling third-party AI agents to run code, not E2B itself surfacing insights to a user inside a product.
Maritimenone0/10Maritime's evidence describes agent deployment, hosting, webhooks, CLI/SDK tooling, and templates, but nothing shows the platform itself surfacing AI-generated insights or suggestions from a user's own data within the product UI — the docs describe running agents, not an analytics/insights layer on user data.
ai-native userDelegate tasks to a built-in AI assistant inside the product
weight 3 · not comparableE2Bn/aE2B is sandbox/infrastructure for running AI-generated code and hosting external agents (Claude Code, Codex, etc.) — it is not itself a product with an embedded conversational assistant to delegate tasks to. The evidence consistently shows E2B as a backend that other LLMs/agents connect to, not a UI with a built-in assistant, so this axis is a category mismatch for this product type.
- [claimed-docs] “Run AI coding agents like Claude Code, Codex, and Amp in secure E2B sandboxes with full terminal, filesystem, and git access.”
- [claimed-docs] “E2B can work with any LLM and AI framework. The easiest way to connect an LLM to E2B is to use the tool use capabilities of the LLM”
- [claimed-docs] “E2B provides a pre-built `claude` template with Claude Code already installed.”
- [github] “E2B is an open-source infrastructure that allows you to run AI-generated code in secure isolated sandboxes in the cloud.”
Maritimenone0/10Maritime is presented as infrastructure for hosting/deploying user-built AI agents, not as a product with its own built-in assistant for task delegation. Evidence shows external assistants (Claude, Cursor) can drive the Maritime CLI on the user's behalf, but nothing indicates Maritime itself ships an embedded assistant the user delegates tasks to inside the product.
- [claimed-docs] “Paste one prompt into Claude, Cursor, or any assistant and it can install the CLI, authenticate, and deploy agents for you.”
- [claimed-docs] “The Maritime CLI is built to be operated by other AI agents, not just humans: machine-readable output on every command, stable exit codes, a…”
ai-native userVersion, review, and roll back my automations
weight 1 · not comparableE2Bn/aE2B is sandboxed code-execution infrastructure for running AI-generated code/agents, not a workflow/automation builder with a concept of 'automations' that can be versioned, reviewed, and rolled back; its templates/snapshots version sandbox environments, not user-authored automations, so this axis is a category mismatch.