> ## Documentation Index
> Fetch the complete documentation index at: https://docs.costgraph.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# boat sandboxes

> Run CostGraph workflows and CI jobs in boat sandboxes: the key to create, its permissions, and its limits

Boat (boat.dev, formerly Box) runs persistent x86\_64 Linux sandbox VMs with root, Docker and systemd that agents create, exec into, snapshot and fork over an API.

The following table shows what CostGraph runs on this provider.

| Workflows | CI runners | Connect with |
| - | - | - |
| Yes | Yes | Integrations or your own dispatcher |

## Connect

Connect boat on Integrations, and CostGraph starts sandboxes in your boat account. You don't run anything yourself.

1. In CostGraph, go to **Integrations > Sandbox > boat**.

2. Enter these fields:

   * **API key** (`BOAT_API_KEY`, required): A boat API key from the boat dashboard.
   * **API URL** (`BOAT_API_BASE`, optional): A different boat API address, if you do not use the default.

3. Click **Connect**.

### Your own dispatcher

To keep the key out of CostGraph or reach a private network, run your own dispatcher instead.
Set `provider` to `boat` and the preceding fields as environment variables, as described in [Run your own dispatcher](https://docs.costgraph.ai/costgraph/workflows/managed-sandboxes.md#run-your-own-dispatcher).

To see what boat costs, connect the [boat integration](https://docs.costgraph.ai/costgraph/integrations/boat.md).

## Key and permissions

BOAT\_API\_KEY is a Boat API key (prefix boat\_), created in the Boat dashboard or with `boat api-key create <name> `--preset ci\`\` (needs a browser session or an account.admin key). Keys expire after 90 days by default (max 365 days, or `--ttl never`).

Scoped by actions. Minimum: sandbox.create, sandbox.read, exec, and sandbox.delete-own (or sandbox.delete). The 'ci' preset covers exactly this (full-sandbox plus create/resume/fork/delete of the sandboxes the key created, no account admin). A key with no actions and no preset is an admin key.

Sources: [docs.boat.dev: scopes](https://docs.boat.dev/api-keys/scopes.md), [docs.boat.dev: create and list](https://docs.boat.dev/api-keys/create-and-list.md), [docs.boat.dev: limits](https://docs.boat.dev/limits.md), [docs.boat.dev: machines](https://docs.boat.dev/machines.md), [docs.boat.dev: faq](https://docs.boat.dev/faq.md).

## Limits

* Auto-stop defaults to 1 hour counted from create or last resume, not from activity; max 30 days or off (`boat extend <id> `--hours N`" or "--no-auto-stop`). Trial: 2 hours max. ([source](https://docs.boat.dev/limits.md))
* API command calls that wait for a result: default timeout 30 s, max 600 s; longer work must run detached. ([source](https://docs.boat.dev/limits.md))
* Sizes: small 2 vCPU/4 GB, default 4 vCPU/8 GB, large 8 vCPU/16 GB, xlarge 16 vCPU/32 GB (xlarge needs the \$100 plan+). All sizes x86\_64, no GPU. ([source](https://docs.boat.dev/machines.md))
* Per-plan limits on concurrent sandboxes and starts per minute/hour/day; a full start limit returns 429 and the start does not queue. ([source](https://docs.boat.dev/limits.md))

## Related

* [Supported sandbox providers](https://docs.costgraph.ai/costgraph/workflows/sandbox-providers.md)
* [Run workflows on a managed sandbox provider](https://docs.costgraph.ai/costgraph/workflows/managed-sandboxes.md)
* [Run CI jobs in sandboxes](https://docs.costgraph.ai/costgraph/autopilot/ci-sandboxes.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.