Skip to main content
This feature is currently in private preview and is not recommended for production use.
Applications are long-running, deployed services that run custom code as publicly accessible endpoints. They are ideal for serving AI-generated software to end-users. They support revision management, custom domain URLs, and deployment from source code, images, or forked sandboxes.

Design philosophy

Autonomous agents now all have coding abilities. It gives them near-infinite flexibility for tool calling. We believe the future of autonomous agents goes one step further: they will build ad hoc user-facing software to expose as micro-apps to end-users - whether humans-in-the-loop, or other agents. As AI agents produce outputs faster than humans by several orders of magnitude, a key requirement is the ability for agents to iterate on this user-facing software in near real-time. For instance, in a world where an agent generates a full running app in a couple of minutes, pushes it to prod, and iterates on it every few minutes, it cannot afford a build time for every deployment. Conceptually, an Application is a snapshot of an AI-generated piece of software, frozen at a point in time and served to end users. Sandboxes, on the other hand, are the development & experimentation environment for agents. In a sandbox, they can do anything anytime, but that also means they can break anything which becomes a problem once it’s serving live traffic. With that framing, features can be built specifically for each use case, for example:
  • A distinct custom domain per app. Each Application typically belongs to a different end user, whereas a Sandbox usually sits behind a single custom domain: yours.
  • A real deployment lifecycle: blue-green deploys, rollbacks, observability, etc.
Blaxel aims to power both the development phase (Blaxel Sandboxes) and the production phase (Blaxel Applications) of AI-generated software: you can flip from dev to prod in a few milliseconds thanks to the core Blaxel runtime.

Key concepts

  • Application: A long-running deployment that serves traffic on a public URL.
  • Revision: An immutable snapshot of the application code, image, environment, and memory configuration. Each deploy creates a new revision (max 5 kept).
  • Custom URLs: Map verified custom domains to your application.

Create an application

Using the SDKs

Using the CLI

Deploy from a project directory containing a blaxel.toml:
Example blaxel.toml:
To reuse an image already built on Blaxel (from a previous bl deploy or bl push), set the image field. External registries are not supported — the image must live in your workspace’s Blaxel registry:

Using the HTTP API

Create an application from a sandbox fork

You can turn a running sandbox into an application by forking it. The application’s image, memory, envs, and port are inherited from the source sandbox, so the fork starts serving the sandbox’s current state on a stable application URL with revision management and custom domains on top. This is useful for promoting a sandbox you developed and tested interactively into a long-running, publicly addressable service without rebuilding an image. Fork a sandbox into an application with sandbox.fork(targetName, { targetType: "application" }):
The fork snapshots the sandbox’s live state automatically.

Fork from an earlier snapshot

To serve a specific point in time rather than the sandbox’s current state, take a snapshot first, then pass its id when forking (snapshotId in TypeScript, snapshot_id in Python):
List your existing snapshots with sandbox.listSnapshots() / sandbox.list_snapshots(). See Snapshots and fork for the full snapshot lifecycle.

Attach a custom domain at fork time

If an application with targetName already exists, forking updates its compute so the backend generates a fresh revision serving the forked sandbox’s state. Otherwise a new application is created. Forking into an application requires the Application Runtime feature to be enabled on your workspace.
For more on sandbox snapshots and forking sandboxes into new sandboxes, see Sandbox snapshots and fork.

Retrieve an application

List applications

Update an application

Updating an application with a new image or configuration creates a new revision.

Delete an application

Revisions

Each deploy creates a new revision. A maximum of 5 revisions are kept per application. Revisions contain the image, environment variables, memory allocation, and port configuration.

List revisions

Switch between revisions

The latest revision serves traffic by default. To roll back (or forward) to another one, set active to its id in the application’s revision configuration:

Custom URLs

By default, applications are accessible at a generated URL. You can configure custom URLs using verified custom domains in your workspace.

Create or update an application with custom URLs

Pass the urls field in the application spec to attach a verified custom domain.
To add a custom URL to an existing application, use update:
For wildcard custom domains (e.g. *.sandbox.example.com), use the subdomain field:

Create a custom domain for an application

You can also create a custom domain scoped to a specific application using the dedicated endpoint. After creation, configure DNS records and verify domain ownership before it becomes active.
The domain must be a verified custom domain in your workspace. Custom domain verification is managed in the Infrastructure section of the Blaxel Console.

Environment variables and secrets

Pass environment variables to your application through the spec-level envs field. Each entry has a name and value; set secret: true to mark the value as a secret so it is stored and displayed securely.

Memory and compute

Memory allocation is set per revision in megabytes. The default is 2048 MB. CPU resources are allocated proportionally based on memory (CPU = memory / 2048 cores).

Application deployment statuses

During the deployment process, the possible application statuses are:
  • DEPLOYING: The application deployment is in progress.
  • DEPLOYED: The application is running and serving traffic.
  • FAILED: An error occurred during the build or deployment.

Sandbox snapshots and fork

Create snapshots and fork sandboxes into applications or new sandboxes.

Variables and secrets

Manage environment variables and secrets for your deployments.
Last modified on August 18, 2026