Strategy Management

A Strategy is the top-level container for a managed multi-asset basket. It groups all of a platform's Traders and Operations under a single quoted currency. You create a Strategy once, then run every enrollment, rebalance, and exit against its id.

Strategies are intentionally lightweight: a Strategy carries no allocations and no status of its own. Target weights are supplied per Operation, not stored on the Strategy. Per-Strategy statistics (enrolled users, holdings) are derived from the list endpoints.

For a conceptual overview see Portfolio Strategies, and for end-to-end integration steps see the Implementation Guide.

The Strategy resource

FieldTypeDescription
idstring (UUID)Server-generated. Reference this on every subsequent call.
request_idstring (UUID)Echoes the X-REQUEST-ID header from the create call.
quoted_currencystringFiat currency the basket is priced in. v1: USD only.
metadataobjectOptional, free-form JSON, persisted verbatim.
created_atstring (ISO 8601)Creation timestamp.
updated_atstring (ISO 8601)Last-update timestamp.

Idempotency

Every mutation requires an X-REQUEST-ID header (UUID v4). Resubmitting the same value returns the existing resource rather than creating a new one, and zerohash echoes the same value back on the response. POST /strategies returns 201 on first create and 200 on an idempotent replay.

Endpoints

MethodPathPurpose
POST/strategiesCreate a Strategy.
GET/strategies/{strategy_id}Retrieve a single Strategy.
GET/strategiesList Strategies for the authenticated platform (paginated).

Create a Strategy

POST /strategies

Request

{
  "quoted_currency": "USD",
  "metadata": { "platform_label": "Blue Chip Crypto" }
}

Response (201 Created, or 200 on idempotent replay)

{
  "id": "b1c2d3e4-f5a6-4789-bcde-f01234567890",
  "request_id": "4b5ef19e-4ad5-4750-8bf6-3e5238b976ec",
  "quoted_currency": "USD",
  "metadata": { "platform_label": "Blue Chip Crypto" },
  "created_at": "2026-04-17T10:00:00Z",
  "updated_at": "2026-04-17T10:00:00Z"
}

Get a Strategy

GET /strategies/{strategy_id} returns the Strategy, or 404 if it does not exist.

List Strategies

GET /strategies returns a paginated list of Strategies for the authenticated platform.

Pagination

All list endpoints share one envelope:

{
  "page": 1,
  "page_size": 50,
  "total_pages": 5,
  "count": 237,
  "message": [ /* resource items */ ]
}

Query parameters: page (default 1) and page_size (default 50).

Business rules

RuleDetail
Platform enabledRequires is_strategy_rebalancing_enabled = true.
Server-assigned idid is server-generated and cannot be supplied or overridden.
No allocations on the StrategyThe Strategy holds no weights. Allocations are supplied on each Operation.
Quoted currencyv1 supports USD only, and it must form a valid instrument with every asset traded.

What's next

Once a Strategy exists, onboard users and manage positions through Operations, then track outcomes through Executions and Traders.