Stratify
Engineering

Partner Order Mapping

docs/api/partner-order-mapping.md

Source updated 03. Aug. 2026

Partner order mapping (Phase A)

Stratify publishes research signals. Partners map orderIntents into their OMS. Stratify does not place orders in Phase A.

Data sources

SourceFormat
Webhooksignal.published envelope version 2
RESTGET /v1/mandates/{mandateId}/signals/{signalId}/order-intents
MCPTool get_signal_order_intents

Webhook envelope (v2)

{
  "version": 2,
  "type": "signal.published",
  "signal": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "mandateId": "koalitionsmix-eu",
    "mandateNumber": 1,
    "action": "rebalance",
    "title": "…",
    "body": "…",
    "publishedAt": "2026-05-19T08:00:00.000Z",
    "effectiveAt": "2026-05-19T08:00:00.000Z",
    "legs": [{ "symbol": "VWCE", "weight": 0.4, "rationale": "…" }],
    "disclaimer": "Research publication, no investment advice.",
    "pilotRef": "demo-pilot",
    "version": 1
  },
  "orderIntents": [
    {
      "symbol": "VWCE",
      "side": "buy",
      "targetWeight": 0.4,
      "effectiveAt": "2026-05-19T08:00:00.000Z",
      "idempotencyKey": "550e8400-e29b-41d4-a716-446655440000:VWCE"
    }
  ]
}

Headers:

  • Content-Type: application/json
  • X-Stratify-Event: signal.published
  • X-Stratify-Signature: <hex>HMAC_SHA256(partner_webhook_secret, raw_body)

Side mapping (Phase A)

targetWeightside
> 0buy
< 0sell
= 0hold

Phase C may add delta vs prior signal mapping; not available yet.

Notional / quantity (partner-owned)

Stratify sends target weights, not EUR notionals. Typical partner flow:

  1. Load end-user portfolio NAV from your ledger.
  2. For each intent: targetNotional = NAV * abs(targetWeight) (sign from side).
  3. Resolve symbol → ISIN / internal instrument id / venue conid.
  4. Apply MiFID suitability and risk caps on your side (Phase A) or via Stratify API (Phase C).
  5. Submit orders with idempotencyKey — safe to retry webhooks.

Partial fills, slippage, and best execution are partner responsibilities unless a Phase C mirror-order contract says otherwise.

Idempotency

  • Webhook delivery may retry up to 8 times (exponential back-off).
  • Use idempotencyKey as your OMS client order id (or hash into it).
  • Duplicate keys must not double-trade.

Phase C (not deployed)

See docs/api/phase-c-endpoints.md for POST /mirror-orders and inbound POST /webhooks/execution-status.