Skip to main content
An order is the record of something that exists, or existed, at a broker. Where an intent is what you asked for, an order is what came of it. One intent owns the order it opened. Amendments and cancellations against that intent act on the same order rather than creating new ones, so an intent and its order stay paired for the intent’s whole life.

Two identifiers, two moments

Every order carries an Anthid identifier and, once the broker has acknowledged it, the broker’s own. Anthid’s identifier exists as soon as there is an order record at all. The broker’s exists only after the broker acknowledges the order, and an order the broker rejected outright may never get one. That is the point of having two. If Anthid used only the broker’s identifier, an order sent but not yet acknowledged would be unaddressable, which is exactly the order you most want to be able to point at. Use Anthid’s identifier to refer to an order within the platform, and the broker’s when reconciling against a statement or a broker portal. Both are queryable.

Finished is not the same as filled

Each order carries two descriptions of where it stands, and they are not alternatives. The status is the precise lifecycle position, in the venue’s own vocabulary. The state is a coarse rollup of that status, meant for filtering a list or driving a dashboard. The state is computed from the status rather than reported separately, so the two can never disagree. The two fields do not share a casing, and it is worth noting before writing a comparison. The state reads Open, Closed, Rejected. The status beside it reads NEW, FILLED, PARTIALLY_FILLED. Testing a state against "OPEN" never matches. Two consequences are worth reading carefully, because both bite in reporting. A partially filled order is Open, not Closed. It has traded, but it is still working, and treating the first fill as completion strands the remainder. Closed is not a synonym for filled. A cancelled order and a fully filled order are both Closed, because both are finished. Which of the two it was comes from the status, or from comparing filled quantity against ordered quantity.
Do not infer execution from state. Closed says the order is finished, not that it traded. Filled quantity is the only field that says how much actually executed, and it is meaningful at every state: partial on an open order, complete on a filled one, and zero on a cancelled one that never traded.

What an order record holds

Beyond identifiers and lifecycle, an order carries the terms it was working under and what has happened against it:
  • The symbol, side, and order type
  • Ordered quantity and the amount executed so far
  • Limit and stop prices, where the order type uses them
  • Average execution price across fills
  • Time in force, and where it was routed
  • The broker and trading account it belongs to
  • Your own reference, carried through from the intent
  • When Anthid observed this version of the order

Current state and history

Anthid keeps current state and history separately, and the distinction matters for correctness rather than only for speed. Current reads return the most recent known state of each order. This is what an account view or a dashboard should show. History reads return records across a time range. This is what reporting, reconciliation, and audit run on. Live updates are a view over the same activity, not a replacement for the record. A system that loses its connection and reconnects does not receive what it missed while it was away, so the ledger is what closes the gap.