Which Brokers Support Bracket Orders Automation?
Find out which brokers support native bracket orders in automated trading, which have partial support, and what happens when your broker does not support them.
Marketing
Bracket orders are one of the cleaner risk management tools available in automated trading: one submission, three legs, and the broker handles the cancel-on-fill logic so your automation does not have to. The catch is that not every broker connected to a trading automation platform supports them, and the gaps are not always obvious. Understanding which brokers support bracket orders automation, which support them only for certain asset classes, and which do not support them at all will save you from designing a strategy around a feature your broker cannot deliver.
This article maps broker support across the full list of connected brokers, explains why crypto is a universal dead end for brackets regardless of broker, and covers what actually happens when you send a bracket payload to a broker that cannot process one.
What a Bracket Order Actually Is
Entry plus two linked exits
A bracket order is a single submission containing an entry order, a take-profit limit order, and a stop-loss order linked together as one group. When one exit leg fills, the broker automatically cancels the other, so you are never holding two opposing exit orders simultaneously. That cancellation behavior is what separates a native bracket from two separate exit orders sent independently. The broker owns the cancel-on-fill logic, not your code.
Bracket vs. simple order with exits
A simple order has no linked exits. Any stop or take-profit must be sent as a separate order after the entry fills. Without native linking, canceling the surviving exit when the other fills requires your automation layer to detect the fill and issue a cancel, which adds latency and a failure point. Brokers that support brackets handle this at the exchange or routing level, which is a meaningful difference in reliability for fully automated strategies.
Brokers With Full Bracket Support
TradeStation and Tradier
TradeStation lists bracket as a supported order class across stocks, options, index options, and futures. Tradier lists bracket as a supported order class for stocks, options, index, and index options. Both brokers also offer paper trading environments, so bracket order behavior can be tested before going live.
TradeStation also sets supportsTrailingStopLeg to true, which means a trailing stop can be used as the stop leg inside a bracket, not just as a standalone order type. This is a meaningful distinction when building strategies that trail a stop after entry.
Tradovate and NinjaTrader
Tradovate supports bracket and OTO order classes for futures. NinjaTrader uses the Tradovate connection, so it inherits the same bracket order support. Tradovate also offers a paper trading environment with realtime fills, which makes it a practical place to verify bracket behavior before trading a live account. TradeDay, Apex Trader Funding, and a range of other prop firm connections powered by Tradovate inherit the same order class support.
Interactive Brokers and Webull
Interactive Brokers supports bracket and OTO order classes for stocks. Like TradeStation, it sets supportsTrailingStopLeg to true, so a trailing stop is a valid stop leg inside a bracket at this broker. Webull supports bracket, OCO, and OTO order classes for stocks. The Webull connection supports trailing stops as a standalone order type but not as a bracket leg, so the stop leg in a Webull bracket must be a standard stop or stop-limit.
Brokers With Partial Bracket Support
Alpaca: stocks only
The Alpaca connection supports bracket, OCO, and OTO order classes for stocks. It does not accept bracket orders for crypto: the crypto asset class on the Alpaca connection is limited to simple orders. It does not support bracket orders for options either. This means stop and take-profit exits for Alpaca crypto or options positions must be sent as separate orders, and the automation layer is responsible for managing the cancel-on-fill logic that a bracket would otherwise handle.
tastytrade: everything except crypto
tastytrade supports bracket and OCO order classes for stocks, futures, options, index options, and index. The crypto asset class on the tastytrade connection is limited to simple orders. The reason is structural: the tastytrade connection's crypto asset class supports only market and limit orders, so no stop order is available to serve as the stop-loss leg of a bracket. A bracket payload sent for a tastytrade crypto symbol will not route as a bracket regardless of how the payload is structured.
Brokers With No Bracket Support
Crypto-only exchanges
The Coinbase, Kraken, Binance, Bybit, and Crypto.com connections each list only the simple order class. None of these brokers support bracket, OCO, or OTO order classes. This is consistent across every crypto-only exchange in the supported broker list: native bracket orders do not exist at any of them.
Stock and futures brokers without brackets
Robinhood, E*TRADE, Public.com, and ProjectX each list only the simple order class. The Robinhood connection supports stocks only and carries no bracket order class, even though it supports trailing stops as a standalone order type. The E*TRADE connection supports stocks and options but also carries no bracket order class. The ProjectX connection supports futures but lists only simple orders. The absence of bracket support at these brokers means exit orders must always be sent independently.
Crypto Has No Brackets Anywhere
Why stop orders are the blocker
A bracket order requires a stop or stop-limit order as its stop-loss leg. the tastytrade connection's crypto asset class supports only market and limit orders, making a stop leg impossible regardless of what order class the payload requests. Crypto-only exchanges such as Coinbase and Kraken do not expose stop orders in a bracket context either. The stop order requirement is the common denominator: without it, there is no bracket.
What this means for crypto strategies
Automated crypto strategies that need a stop loss must send it as a separate order after the entry fills. The automation layer is then responsible for tracking the entry fill, canceling any open stop if a take-profit fires, and canceling the take-profit if the stop fires. This is the bracket behavior you are recreating manually. Traders running crypto strategies should account for this gap when designing their exit logic and test that the cancel-on-fill path works reliably before going live.
Validation at Setup, Not at the Broker
How the order class check works
TradersPost validates whether the selected broker supports the bracket order class for the asset class being traded before the strategy is saved. An unsupported combination is rejected during setup rather than at order submission time, so the error surfaces before any live order is attempted. This prevents silent failures where a bracket payload reaches the broker and is rejected mid-trade, leaving your position without exits.
If you are building a strategy that depends on broker-side cancel-on-fill, verifying that the broker-asset class combination appears in the supported order classes list before setup will save significant debugging time.
Want to test bracket order behavior before going live? Connect a paper trading account on TradeStation, Tradovate, Alpaca, or Interactive Brokers and run your bracket payloads there first. TradersPost will validate the order class at setup and route accordingly.
Fallback behavior for unsupported order types
Order class support and order type support are distinct. A broker can support stop orders as a standalone order type without supporting them inside a bracket. If a webhook payload specifies an order type not supported by the connected broker, TradersPost falls back to the default order type configured in the strategy subscription settings. Understanding this distinction matters when reading broker capability tables: the presence of a stop order type does not guarantee bracket order class support.
Sending a Bracket via Webhook
Payload structure
A bracket payload includes the entry fields plus a takeProfit object and a stopLoss object at the top level of the JSON. The takeProfit object accepts limitPrice for an absolute price, or percent or amount for a relative target calculated from the entry price. The stopLoss object accepts stopPrice for an absolute stop, or percent or amount for a relative stop, and a type field that can be stop or stop_limit.
Relative vs. absolute exit prices
Using percent or amount in takeProfit and stopLoss lets the exit levels float relative to the actual fill price rather than requiring a hardcoded price in each alert. For market entry orders, the entry price used to calculate relative exits is estimated from the midpoint between the bid and ask on the most recent quote. Using pnlAmount in either takeProfit or stopLoss sets the exit based on a target portfolio dollar gain or loss, converted to a price using the planned quantity and the symbol's point value.
Trailing stop as the stop leg
StopLoss.type can be set to trailing_stop, with the trail distance specified via trailAmount in dollars or trailPercent as a percentage. Not all brokers that support brackets also support trailing stops as a bracket leg. Interactive Brokers and TradeStation both set supportsTrailingStopLeg to true. Alpaca and Webull set it to false, meaning a trailing stop works as a standalone order at those brokers but cannot serve as the stop leg inside a bracket.
Exits on Brokers Without Brackets
Separate stop and take-profit orders
When a broker supports only simple orders, the stop loss and take profit are sent as independent orders after the entry fills. Because there is no broker-level link between the two exits, neither will be canceled automatically when the other fills. The strategy logic or a follow-up signal must handle canceling the remaining exit order. This is a meaningful operational difference compared to a native bracket, particularly in fast-moving markets where the delay between a fill event and a cancel signal has real cost.
Choosing a broker for bracket-dependent strategies
Strategies that rely on the broker canceling the surviving exit when the other fills should only be connected to brokers that list bracket in their supported order classes. For futures automation, Tradovate and TradeStation both support brackets and offer paper trading, making them practical starting points. For stock automation, TradeStation, Tradier, Interactive Brokers, Webull, and Alpaca (stocks only) all support native brackets. The right choice depends on the asset class, whether you need a trailing stop as the stop leg, and whether paper trading availability matters for your testing workflow.
Bottom Line
- TradeStation, Tradier, Tradovate (and NinjaTrader), Interactive Brokers, and Webull support bracket orders natively.
- Alpaca supports brackets for stocks only; tastytrade supports brackets for everything except crypto.
- Robinhood, E*TRADE, Public.com, ProjectX, and all crypto-only exchanges (Coinbase, Kraken, Binance, Bybit, Crypto.com) have no bracket support.
- Crypto has no bracket support anywhere because stop orders are not available as a bracket leg on any crypto asset class in the supported broker list.
- TradersPost validates bracket order class support during strategy setup, rejecting unsupported combinations before any live order is attempted.
Frequently Asked Questions
Does Alpaca support bracket orders for crypto?
No. Alpaca limits bracket, OCO, and OTO order classes to stocks. The crypto asset class on the Alpaca connection supports only simple orders, so stop and take-profit exits for Alpaca crypto positions must be sent as separate orders.
Can I use a trailing stop as the bracket stop leg?
Only on brokers where supportsTrailingStopLeg is true. Interactive Brokers and TradeStation support this combination. Alpaca and Webull do not: at those brokers, a trailing stop must be sent as a separate order after entry rather than as a leg inside the bracket.
What happens if I send a bracket payload to a broker without bracket support?
TradersPost validates order class support against the asset class during strategy setup and will reject an unsupported combination before any order reaches the broker. If a webhook payload specifies an unsupported order type, the platform falls back to the default order type configured in the strategy subscription settings.
Why do crypto exchanges not support bracket orders?
Bracket orders require a stop or stop-limit order as the stop-loss leg. No crypto-only exchange in the supported broker list offers stop orders inside a bracket context. Even the tastytrade connection, which supports brackets for stocks and futures, limits crypto to simple orders because stop orders are not available for that asset class.
Which futures brokers support bracket orders?
Tradovate supports bracket and OTO order classes for futures, and NinjaTrader inherits this support through the Tradovate connection. TradeStation also supports bracket orders for futures in addition to stocks, options, and index options. ProjectX, the other futures broker in the supported list, offers only simple orders.