Trade intents are deterministic projections of SignalEvent records. They exist so a bot can consume one stable payload shape before routing into Vertex Quant, NautilusTrader, or an IBKR adapter.

Readiness states

StateMeaning
ready_for_sizingThe signal has a known order side and enough contract fields for routing. Quantity is still null.
needs_reviewThe signal implies an order, but a required contract field is missing or unknown.
observe_onlyThe source signal is informational, such as hold, and should not create an order.

Safety defaults

Every intent is paper-first:
  • safeguards.mode is paper.
  • safeguards.submit is always false.
  • order.totalQuantity is null.
  • order.transmit is false.
  • idempotencyKey is stable for the source signal event.
The downstream router must dedupe by idempotencyKey, size the order, apply risk limits, check the kill switch, and require operator or strategy approval before submission.

Action mapping

Signal actionIntentIBKR order action
openenterBUY
addincreaseBUY
trimreduceSELL
closeexitSELL
holdobservenone