Orders & Execution

Understanding the order lifecycle and fill tracking

Manual Trading (Markets)

You can trade any market by hand — no subscription required. Open a market from /markets to see its live order book and trade ticket.

  • Buying — Size is in dollars — on a BUY, the "Size (USD)" field is how many dollars you want to spend, not a number of shares. Enter $20 and the ticket buys $20 worth of shares at the price you set.
  • Selling — Size is in shares — on a SELL, size is the number of shares of a position you already hold. Quick-fill buttons let you sell 25%, 50%, or all of your holding.
  • Minimum order — Polymarket requires at least 5 shares per order. The ticket shows this as an approximate dollar amount (e.g. "≈ $1.20") based on the current price.
  • Max price — sets the worst price you'll accept: AntFlow won't buy above it or sell below it. Leave it tracking the live book for a fill at the best available price ("buy now"), or set a tighter price so the order rests until the market reaches it (a limit order).

Tip

The ticket shows an estimate (price, fee, total cost) before you submit. Browsing markets is always free — connect your wallet only when you're ready to trade.

Order Lifecycle

Every trade intent that passes risk checks becomes a CLOB order — this applies to automated strategies (CPA/FHM) and to manual trades placed from Markets:

Intent approved → Risk checks pass → Order created (pending)

→ Placed on CLOB (open)

→ First fill arrives (partial)

→ Fully filled (filled)

Orders can also be cancelled or fail at any stage.

Order States

StatusColorMeaning
pendingCreated locally, not yet sent to CLOB
openLive on the CLOB, waiting for fills
partialSome fills received, not yet fully filled
filledCompletely filled. Terminal state.
cancelledCancelled by user, engine, or stale-order cleanup
failedPlacement failed or CLOB rejected the order
expiredOrder expired before fill (exchange-side expiry). Terminal state.

Badges

  • SIM — This order was simulated (dry-run mode). No real CLOB order was placed.
  • STALE — This order has been open for more than 1 hour without filling. The engine will eventually cancel stale orders automatically. You can also cancel them manually.

Reading the Orders Table

  • ID — Order identifier with SIM/STALE badges
  • Market — Market question with a TGT (target) or CVR (cover) badge and a link to Polymarket.
  • Side — BUY or SELL
  • Type — Order time-in-force, shown with a tooltip: GTC (Good-Til-Cancelled — stays open until filled or manually cancelled), FOK (Fill-Or-Kill — must fill entirely or cancel immediately), or IOC (Immediate-Or-Cancel — fills what's available now, cancels the rest)
  • Intended — The price you intended to place at
  • Avg Fill — Actual average fill price (may differ due to slippage)
  • Size — Order size in tokens
  • Filled — How many tokens have been filled so far
  • Placed — When the order was placed on the CLOB.
  • Status — Current order state
  • Retries — How many times this order has been retried after failure
  • Error — Error message if the order failed
  • Action — Cancel button for open/partial/pending orders

Fills Tab

The Fills tab shows individual fill events — each time part of an order gets matched:

  • Order — Which order this fill belongs to
  • Market — Market question with TGT/CVR badge and Polymarket link.
  • Side — BUY or SELL
  • Price — Fill price
  • Size — Number of tokens filled
  • Total — Total USDC value of the fill (price × size).
  • Fee — CLOB fee charged on this fill
  • Filled At — When the fill occurred

Retries and Failures

When an order fails (network error, CLOB rejection), the engine can retry it:

  • Failed orders show an error message in the Error column
  • The Retries column shows how many attempts have been made
  • The engine creates a new order on retry; the old one is marked cancelled
  • If retries are exhausted, the intent is marked as failed

Stale Orders

Warning

Stale orders (open > 1 hour) indicate the market may have moved away from your price. The engine cancels them automatically based on your max_stale_order_seconds setting (default: 3600). You can also cancel them manually from the Orders page or from Logs → Stale Orders.

Cancelling Orders

You can cancel any order in open, partial, or pending state:

  • Click the Cancel button in the Actions column
  • Or use Cancel / Cancel All on the Orders page
  • Cancelled orders free up exposure for new trades