Every machine pool creates its machines at one sandbox provider, chosen by the pool’s provider field. An environment is a pool, so the provider of an environment’s machines is the provider of the template pool it was copied from. Agents get the same tools on every provider: the machine always runs bmad, which dials out to BMA.

Provider ids

The provider value is one of the following. Any other value is rejected because the provider is not configured.

Connect your own provider account

Organization administrators create pools with the BMA extensions /v1/machine_pools and grant them to projects (see Machines & pools and the API reference). The provider-related fields of a pool are: Check the credential before creating the pool with POST /v1/machine_pools/check_connection, which takes provider, provider_auth_secret_id and optionally provider_config and default_machine_provider_options. Which size fields a pool needs (CPU and memory defaults and ceilings) depends on the provider; the API reference lists them.

What a provider must allow

bmad is installed and started on each new machine and connects out to BMA. The provider’s network therefore has to allow outbound HTTPS and WebSocket traffic to your BMA API origin, and the machine image needs a writable home directory and a POSIX shell. No inbound port is needed. Self-hosters must make the public origin (BMA_PUBLIC_URL) reachable from the provider’s network; see Self-hosting.