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
| Source | Format |
|---|---|
| Webhook | signal.published envelope version 2 |
| REST | GET /v1/mandates/{mandateId}/signals/{signalId}/order-intents |
| MCP | Tool 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/jsonX-Stratify-Event: signal.publishedX-Stratify-Signature: <hex>—HMAC_SHA256(partner_webhook_secret, raw_body)
Side mapping (Phase A)
targetWeight | side |
|---|---|
| > 0 | buy |
| < 0 | sell |
| = 0 | hold |
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:
- Load end-user portfolio NAV from your ledger.
- For each intent:
targetNotional = NAV * abs(targetWeight)(sign fromside). - Resolve
symbol→ ISIN / internal instrument id / venueconid. - Apply MiFID suitability and risk caps on your side (Phase A) or via Stratify API (Phase C).
- 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
idempotencyKeyas 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.