Skip to content
Start Trading

Order Strategies

Choose how your orders are worked in the market — smart order routing, TWAP, VWAP, or direct market access.

Every order you submit through the Trading API is worked in the market by an execution strategy. By default, Clear Street routes your order through our smart order router (SOR), which seeks best execution across venues. For larger orders where market impact matters, you can instead choose an algorithmic strategy that works the order over time or take direct control of venue selection.

Below are the current order strategies that Clear Street supports, along with how they execute and when it’s best to use them.

StrategyHow it executesBest fit
SORRoutes immediately to the best available venue(s)Speed and price priority for typical order sizes
TWAPSlices the order evenly over the execution window, regardless of volumeSmooth, predictable, time-based pacing
VWAPFollows the market’s actual volume pattern and trades more when volume is high, less when lowTracking the session’s volume-weighted average price benchmark
DMARoutes the order straight to the venue you nameControl, speed, and direct interaction with a specific market

SOR is the default. An order submitted without a strategy object uses SOR, and is equivalent to submitting:

[
{
"symbol": "AAPL",
"instrument_type": "COMMON_STOCK",
"order_type": "MARKET",
"side": "BUY",
"quantity": "100",
"time_in_force": "DAY",
"strategy": { "type": "SOR" }
}
]

SOR takes no parameters and is supported on every order type and time in force, including extended hours and OTC common-stock orders. Submitting start_at or end_at with SOR returns a 400.

A TWAP order breaks a large order into smaller pieces and sends them into the market evenly over a set period of time, with the goal of getting an average execution price over that time window.

Benefits

  • Reduces market impact compared with sending one large order at once.
  • Useful when you want steady execution over time.
  • Helpful in less predictable volume conditions where you still want consistent pacing.

Best fit

  • When the priority is smooth, time-based execution

Order Request

Along with the normal order details you will need to pass a strategy object as shown below. Both start_at and end_at are optional fields, see the Execution Window section for more details.

[
{
"symbol": "AAPL",
"instrument_type": "COMMON_STOCK",
"order_type": "MARKET",
"side": "SELL",
"quantity": "50000",
"time_in_force": "DAY",
"strategy": {
"type": "TWAP",
"start_at": "2026-10-05T14:00:00Z",
"end_at": "2026-10-05T18:00:00Z"
}
}
]

A VWAP order also splits a large order into smaller pieces, but instead of spreading them evenly by time, it tries to follow the market’s actual trading volume pattern, executing more when market volume is higher and less when volume is lower.

Benefits

  • Reduces market impact compared with sending one large order at once.
  • Often reduces signaling risk because the order follows normal market volume patterns.
  • Common benchmark for institutional trading performance.

Best fit

  • When the priority is tracking the market’s average execution level for the day or session

Order Request

Similar to TWAP along with the normal order detail you will need to pass a strategy object as shown below. Both start_at and end_at are optional fields, see the Execution Window section for more details.

[
{
"symbol": "AAPL",
"instrument_type": "COMMON_STOCK",
"order_type": "LIMIT",
"limit_price": "190.00",
"side": "BUY",
"quantity": "50000",
"time_in_force": "DAY",
"strategy": {
"type": "VWAP",
"start_at": "2026-10-05T13:30:00Z",
"end_at": "2026-10-05T20:00:00Z"
}
}
]

A DMA order bypasses the smart order router and routes straight to the venue you name. Useful for sophisticated traders building custom execution workflows who want control over exactly where the order rests.

Benefits

  • Full control over order placement and routing.
  • Faster and more direct access to market venues.

Best fit

  • When the priority is control, speed, and direct interaction with the market

Order Request

For DMA orders a destination must be specified. The list of possible values is provided below.

[
{
"symbol": "AAPL",
"instrument_type": "COMMON_STOCK",
"order_type": "LIMIT",
"limit_price": "190.00",
"side": "BUY",
"quantity": "100",
"time_in_force": "DAY",
"strategy": {
"type": "DMA",
"destination": "ARCX"
}
}
]

List of supported Destinations

MICVenue
XNYSNew York Stock Exchange
XNASNasdaq - All Markets
XASENYSE American
ARCXNYSE Arca
XCHINYSE Texas
XCISNYSE National
XBOSNasdaq Texas
XPHLNasdaq PHLX
BATSCboe BZX U.S. Equities Exchange
BATYCboe BYX U.S. Equities Exchange
EDGACboe EDGA U.S. Equities Exchange
EDGXCboe EDGX U.S. Equities Exchange
EPRLMIAX Pearl Equities
IEXGInvestors Exchange
LTSELong-Term Stock Exchange
MEMXMEMX Equities
24EQ24X National Exchange
TXSETexas Stock Exchange
SORTWAP / VWAPDMA
Order typesAllMARKET, LIMITLIMIT
Time in forceAllDAYDAY
OTC common stockSupportedNot supportedNot supported
extended_hoursSupportedNot supportedNot supported
start_at/end_at—Optional—
destination——Required

An order that violates any of these is rejected, and a request-level violation rejects the entire batch — no orders in the request are placed.

VWAP and TWAP work the order over an execution window defined by two optional RFC 3339 UTC timestamps:

FieldTypeRequiredDescription
start_attimestamp stringNoWhen to begin working the order. Defaults to the time the order is received.
end_attimestamp stringNoWhen to finish working the order. Defaults to the close of regular market hours.

The window must satisfy the following, or the request returns a 400:

  • end_at must be after start_at or omitted.
  • start_at must not be in the past (a grace period of 30 seconds is allowed for clock skew).
  • end_at must not be in the past.
  • end_at must not be after the close of regular market hours (4:00 PM ET, or the early close on shortened trading days).

Execution occurs during regular trading hours (9:30 AM – 4:00 PM ET). A VWAP or TWAP order submitted before the market opens is queued and begins working when the session starts.

Each order reports its strategy in order responses:

{
"strategy": {
"type": "VWAP",
"start_at": "2026-10-05T13:30:00Z",
"end_at": "2026-10-05T20:00:00Z"
}
}

A few notes on response behavior:

  • Orders submitted without a strategy report {"type": "SOR"}.
  • start_at and end_at are echoed only when you supplied them; defaults are not filled in.
  • DMA orders report their destination: {"type": "DMA", "destination": "XNYS"}.
  • Orders placed before strategies were introduced report no strategy field.

A Replace Order request cannot change an order’s strategy, a strategy key in a PATCH body is ignored, and the order keeps the strategy it was submitted with. To switch strategies, cancel the order and submit a new one.

Cancel works the same for every strategy: canceling a working VWAP or TWAP order stops further execution; any quantity already executed remains filled.

Execution strategies are also available over FIX using tag 847 (TargetStrategy) and related custom tags. See the FIX API guide for message-level details.