---
title: "Create deployment"
method: POST
path: "/v1/deployments"
tags: ["Algos"]
---

# Create deployment

`POST /v1/deployments`

## Request body

- CreateDeploymentRequest
  - `artifact_base64` string, nullable
  - `bundle_id` string, nullable
  - `config` unknown
  - `deployment_id` string, nullable — Optional override for the kernel deployment_id. When the caller already created a fund-layer deployment (`POST /v1/fund/deployments`), passing that fund deployment's UUID here makes the kernel record share the ID — so the algo's `PreTradeGate` lookups (keyed by deployment_id) hit the gate entry CC pushed via `GateUpsert` on fund-deployment creation. Without this, kernel and fund IDs diverge and every algo order fail-closes at the gate.
  - `mesh_group` string, nullable — Mesh group — deployments sharing the same group form a cross-deployment mesh. Instances in different deployments with the same mesh_group can send messages to each other via `messaging::send(label, payload)`.
  - `mesh_label` string, nullable — Mesh label for this deployment (e.g., "maker", "hedger"). Used by mesh algos to identify peers. Defaults to edge_id if not set.
  - `name` string, nullable
  - `start_immediately` boolean
  - `symbols` string[], required
  - `venue` string, nullable
  - `venues` string[], nullable — Target specific venues (e.g., ["kraken", "coinbase", "dex-sol"]). Overrides `venue` if both are set. None = all capable edges.

---

[API](https://skmtc.dev/sequencemkts/apis/sequence-markets-api.md) · [All operations](https://skmtc.dev/sequencemkts/apis/sequence-markets-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sequencemkts/sequence-markets-api/revisions/1c826964b9f9/schema)
