Skip to content

Topics Reference

All inter-plugin communication flows through the platform message bus using structured topics. This page is the canonical reference for topic naming, subscription patterns, and ACL scoping.


Topic Naming Convention

platform.{domain}.{scope}.{entity}.{action}
Segment Description Examples
domain Functional area data, signal, portfolio, oms, ems, ccm, bor, order-book, lifecycle, config
scope Instance ID, deployment ID, security ID, or wildcard dgm-polygon-01, PORT-001, AAPL
entity The noun order, fill, position, lot, cash, session, feed
action The verb created, cleared, executed, changed, status

Market Data (DGM)

Topic Publisher Subscriber Payload
platform.data.eod.{symbol} DGM Signal, BOR, Valuation EODPriceEvent
platform.data.ohlcv.{symbol} DGM Signal TickEvent / BarEvent
platform.data.feed.status DGM Monitoring FeedStatusEvent
platform.dgm.{id}.data.price.eod DGM Signal, BOR EODPriceEvent
platform.dgm.{id}.data.price.tick DGM Signal, EMS NormalizedTick
platform.dgm.{id}.data.reference.instrument DGM All InstrumentRefData
platform.dgm.{id}.data.alt.{subtype} DGM Signal Vendor-specific
platform.data.corpaction.{source}.{event_type} Corp Action DGM BOR CorporateAction

Subscription patterns: - platform.data.eod.* -- all end-of-day prices - platform.data.ohlcv.* -- all intraday bars - platform.data.corpaction.** -- all corporate action events


Signal

Topic Publisher Subscriber Payload
platform.signal.{instance_id}.alpha Signal Engine Signal Pool Manager, Portfolio Optimizer InsightPublishedEvent

Subscription pattern: platform.signal.*.alpha


Portfolio

Topic Publisher Subscriber Payload
platform.portfolio.{instance_id}.target Portfolio Optimizer OMS TargetAllocation

Subscription pattern: platform.portfolio.*.target


OMS -- Order Management

Topic Publisher Subscriber Payload
platform.oms.{id}.order.created OMS Compliance, Audit OrderCreatedEvent
platform.oms.{id}.order.modified OMS EMS, Audit Order
platform.oms.{id}.order.cancelled OMS EMS, Audit Order
platform.oms.{id}.order.cleared OMS EMS OrderApprovedEvent
platform.oms.{id}.order.assigned OMS Audit Order
platform.oms.{id}.basket.created OMS Audit Basket
platform.oms.{id}.risk.exposure.updated OMS Portfolio, Risk Exposure
platform.oms.{id}.risk.position.updated OMS Portfolio, Risk Position

Subscription patterns: - platform.oms.*.order.cleared -- all cleared orders - platform.oms.*.risk.* -- all risk updates


OMS -- Compliance

Topic Publisher Subscriber Payload
platform.oms.{id}.compliance.check.requested OMS Compliance Plugin ComplianceCheckRequestedEvent
platform.oms.{id}.compliance.result.published Compliance Plugin OMS ComplianceResultPublishedEvent
platform.oms.{id}.compliance.override.approved OMS Audit ComplianceOverrideApprovedEvent
platform.oms.{id}.compliance.rule.created OMS Compliance Plugin ComplianceRuleChangedEvent
platform.oms.{id}.compliance.rule.updated OMS Compliance Plugin ComplianceRuleChangedEvent
platform.oms.{id}.compliance.rule.deleted OMS Compliance Plugin ComplianceRuleChangedEvent

Subscription patterns: - platform.oms.*.compliance.check.requested - platform.oms.*.compliance.result.published


OMS -- Allocation

Topic Publisher Subscriber Payload
platform.oms.{id}.allocation.completed OMS BOR, Audit AllocationCompletedEvent
platform.oms.{id}.allocation.confirmed Counterparty OMS ConfirmationReceivedEvent
platform.oms.{id}.allocation.affirmed OMS Audit Affirmation

Subscription pattern: platform.oms.*.allocation.completed


OMS -- Lot Selection

Topic Publisher Subscriber Payload
platform.oms.{id}.order.lot-selection-request OMS Tax Lot Selector LotSelectionRequest
platform.oms.{id}.order.lot-selection-response Tax Lot Selector OMS LotSelectionResponse

EMS -- Execution Management

Topic Publisher Subscriber Payload
platform.ems.{id}.order.child EMS CCM ChildOrderCreatedEvent
platform.ems.{id}.fill.parent EMS BOR FillAggregatedEvent
platform.ems.{id}.fill.recorded EMS Audit FillRecordedEvent
platform.ems.{id}.fill.aggregated EMS Audit FillAggregatedEvent
platform.ems.{id}.execution.submitted EMS Audit Execution
platform.ems.{id}.execution.cancelled EMS Audit Execution
platform.ems.{id}.strategy.selected EMS Audit Strategy
platform.ems.{id}.tca.result TCA Plugin EMS, Reporting TCAResult
platform.ems.{id}.rfq.requested EMS CCM RFQRequest
platform.ems.{id}.rfq.quote.published CCM EMS RFQQuote
platform.ems.{id}.rfq.quote.selected EMS CCM RFQQuote

Subscription patterns: - platform.ems.*.order.child - platform.ems.*.fill.parent - platform.ems.*.fill.*


CCM -- Connectivity

Topic Publisher Subscriber Payload
platform.ccm.{id}.fill.executed CCM EMS FillRecordedEvent
platform.ccm.{id}.session.status CCM Monitoring SessionStatusEvent

Subscription pattern: platform.ccm.*.fill.*


BOR -- Positions and Lots

Topic Publisher Subscriber Payload
platform.bor.{id}.position.snapshot BOR Valuation, Compliance PositionSnapshotEvent
platform.bor.{id}.position.changed BOR Valuation, Recon PositionChangedEvent
platform.bor.{id}.lot.closed BOR Valuation, Tax Lot LotClosed
platform.bor.{id}.lot.method_configured BOR Audit Config

Subscription patterns: - platform.bor.*.position.changed - platform.bor.*.position.snapshot


BOR -- Cash

Topic Publisher Subscriber Payload
platform.bor.{id}.cash.movement BOR Valuation, Fund Accounting CashMovementRecordedEvent
platform.bor.{id}.cash.balance BOR Valuation CashBalanceChangedEvent

BOR -- Valuation and NAV

Topic Publisher Subscriber Payload
platform.bor.{id}.nav.calculated Valuation Plugin Reporting, Fund Accounting NAVCalculatedEvent
platform.bor.{id}.fee.accrued Valuation Plugin Fund Accounting FeeAccruedEvent
platform.bor.{id}.mark.prices Valuation Plugin Reporting MarkPrices

BOR -- Settlement

Topic Publisher Subscriber Payload
platform.bor.{id}.settlement.confirmed BOR Reporting SettlementConfirmedEvent
platform.bor.{id}.settlement.failed BOR Ops SettlementFailedEvent
platform.bor.{id}.settlement.instruction_sent BOR Custodian Plugin SettlementInstructionSentEvent

BOR -- Reconciliation

Topic Publisher Subscriber Payload
platform.bor.{id}.recon.completed BOR / Recon Plugin Reporting ReconciliationCompletedEvent
platform.bor.{id}.recon.break_detected BOR / Recon Plugin Ops ReconBreakDetectedEvent
platform.bor.{id}.recon.break_resolved Ops Audit ReconBreakResolvedEvent
platform.bor.{id}.recon.statement_ingested Recon Plugin BOR StatementIngestedEvent

BOR -- Journal and Accounting

Topic Publisher Subscriber Payload
platform.bor.{id}.journal.posted BOR Fund Accounting, Reporting JournalEntryPostedEvent

BOR -- Multi-Currency

Topic Publisher Subscriber Payload
platform.bor.{id}.fx.rates FX Plugin Valuation, BOR FXRates

Order-Book Kernel -- Commands

Commands are sent via bus request/reply. The order-book kernel processes them synchronously and emits corresponding events.

Topic Publisher Action
platform.order-book.command.create-order OMS CreateOrder
platform.order-book.command.update-order OMS UpdateOrder
platform.order-book.command.cancel-order OMS CancelOrder
platform.order-book.command.close-order EMS CloseOrder
platform.order-book.command.create-remainder OMS CreateRemainderOrder
platform.order-book.command.merge-orders OMS MergeOrders
platform.order-book.command.split-order OMS SplitOrder
platform.order-book.command.send-to-trader OMS SendToTrader
platform.order-book.command.send-to-operations EMS SendToOperations
platform.order-book.command.create-allocation OMS CreateAllocation
platform.order-book.command.update-allocation OMS UpdateAllocation
platform.order-book.command.create-placement EMS CreatePlacement
platform.order-book.command.cancel-placement EMS CancelPlacement
platform.order-book.command.create-response CCM CreateResponse
platform.order-book.command.update-response-status CCM UpdateResponseStatus
platform.order-book.command.amend-response Ops AmendResponse
platform.order-book.command.cancel-response Ops CancelResponse
platform.order-book.command.pass-pre-trade-compliance Compliance PassPreTradeCompliance
platform.order-book.command.fail-pre-trade-compliance Compliance FailPreTradeCompliance
platform.order-book.command.override-pre-trade-compliance Compliance Officer OverridePreTradeCompliance
platform.order-book.command.pass-post-trade-compliance Compliance PassPostTradeCompliance
platform.order-book.command.fail-post-trade-compliance Compliance FailPostTradeCompliance
platform.order-book.command.override-post-trade-compliance Compliance Officer OverridePostTradeCompliance
platform.order-book.command.confirm-order Middle Office ConfirmOrder
platform.order-book.command.settle-order Settlement SettleOrder
platform.order-book.command.reconcile-order Recon Plugin ReconcileOrder
platform.order-book.command.create-position Corp Action Plugin CreatePosition

Subscription pattern: platform.order-book.command.*


Order-Book Kernel -- Events

Events are published automatically when the kernel processes a command and state changes.

Topic Trigger
platform.order-book.event.order.state-changed Any order state transition
platform.order-book.event.order.created CreateOrder
platform.order-book.event.order.updated UpdateOrder
platform.order-book.event.order.closed CloseOrder
platform.order-book.event.order.canceled CancelOrder
platform.order-book.event.order.sent-to-trader SendToTrader
platform.order-book.event.order.sent-to-operations SendToOperations
platform.order-book.event.allocation.created CreateAllocation
platform.order-book.event.allocation.updated UpdateAllocation
platform.order-book.event.placement.created CreatePlacement
platform.order-book.event.placement.canceled CancelPlacement
platform.order-book.event.response.status-changed UpdateResponseStatus
platform.order-book.event.response.filled Response reaches FILLED
platform.order-book.event.response.amended AmendResponse
platform.order-book.event.response.cancelled CancelResponse
platform.order-book.event.position.changed Any position modification
platform.order-book.event.compliance.pre-trade.passed PassPreTradeCompliance
platform.order-book.event.compliance.pre-trade.failed FailPreTradeCompliance
platform.order-book.event.compliance.post-trade.passed PassPostTradeCompliance
platform.order-book.event.compliance.post-trade.failed FailPostTradeCompliance
platform.order-book.event.settlement.confirmed ConfirmOrder
platform.order-book.event.settlement.settled SettleOrder
platform.order-book.event.settlement.reconciled ReconcileOrder

Subscription patterns: - platform.order-book.event.** -- all kernel events - platform.order-book.event.order.* -- all order events - platform.order-book.event.response.* -- all response events - platform.order-book.event.compliance.** -- all compliance events


Lifecycle

Topic Publisher Subscriber Payload
platform.lifecycle.{id}.ready Plugin Observer LifecycleEvent
platform.lifecycle.{id}.heartbeat Plugin Observer LifecycleEvent
platform.lifecycle.{id}.shutdown Plugin Observer LifecycleEvent
platform.lifecycle.{id}.degraded Plugin Observer LifecycleEvent

Subscription Wildcards

Pattern Matches
* Exactly one segment
** One or more segments

Examples:

Pattern Matches Does Not Match
platform.oms.*.order.cleared platform.oms.oms-01.order.cleared platform.oms.oms-01.order.created
platform.data.eod.* platform.data.eod.AAPL platform.data.ohlcv.AAPL
platform.order-book.event.** platform.order-book.event.order.created, platform.order-book.event.compliance.pre-trade.passed platform.order-book.command.create-order
platform.bor.*.position.* platform.bor.bor-01.position.changed platform.bor.bor-01.cash.movement

ACL Scoping

Plugins can only access topics their pool type authorizes. The sidecar enforces ACL rules before any message is published or delivered.

Pool Type Publish Subscribe
DGM platform.data.*, platform.dgm.{self}.*, platform.data.feed.status platform.lifecycle.*
Signal platform.signal.{self}.* platform.data.*, platform.dgm.*.data.*
Portfolio platform.portfolio.{self}.* platform.signal.*
OMS platform.oms.{self}.*, platform.order-book.command.{order ops} platform.portfolio.*, platform.order-book.event.*
EMS platform.ems.{self}.*, platform.order-book.command.{placement ops} platform.oms.*.order.cleared, platform.order-book.event.*, platform.ccm.*.fill.*
CCM platform.ccm.{self}.*, platform.order-book.command.{response ops} platform.ems.*.order.child
BOR platform.bor.{self}.* platform.order-book.event.*, platform.ems.*.fill.parent

{self} refers to the plugin's own instance ID. A plugin cannot publish to another plugin's namespace.

Backward compatibility: The existing platform.bor.* topics are retained as aliases. Plugins subscribing to platform.bor.{id}.position.changed continue to receive position change events. New plugins should prefer platform.order-book.event.* topics.