Blog / Which Broker APIs Support Bracket, OCO and Trailing Stop Orders in 2026: The Order-Type Matrix for Automated Trading

8 min readJorgAI TeamOct 24, 2026

Which Broker APIs Support Bracket, OCO and Trailing Stop Orders in 2026: The Order-Type Matrix for Automated Trading

Finger pressing a buy or sell button on a trading screen, cover for the broker API order-type comparison

Among the brokers that let outside software trade a retail account, only two accept a true bracket order (one entry with a linked take-profit and stop-loss) in a single API call: Alpaca and Schwab. Tradier and tastytrade get there with a two-step construction (an OTOCO, or an entry followed by an OCO pair), and Kraken, Crypto.com Exchange and E*TRADE have no linked exits at all, so the software placing the orders has to manage the exits itself. Trailing stops are a native order type at Alpaca and Kraken; everywhere else the trail has to live in the software.

That is the whole answer to "which broker has advanced order types for automation", and the rest of this page is the detail: a matrix of seven broker APIs on brackets, OCO, trailing stops, stop-limits, time in force, extended hours, fractional and notional orders, with the source for each cell and what we learned placing these orders for members. Where a broker's documentation and its behavior differed, the behavior is what is written here.

The matrix, broker by broker

All facts read from each provider's API documentation on October 23 and 24, 2026, or taken from JorgAI's own integration where the note says so. Options order types are a separate subject, covered in the options API comparison.

  • Alpaca. Market, limit, stop, stop-limit and trailing stop (by dollar or percent off the high-water mark, single orders only, not yet as a bracket leg). Order classes bracket, OCO and OTO on equities; brackets require a day time in force and are rejected on crypto and on notional buys. Fractional shares and notional (dollar-amount) orders, day or GTC only. An extended-hours flag covers pre-market, after-hours and an overnight session (8 p.m. to 4 a.m. ET). Crypto orders must be GTC. The most complete set on this list.
  • Charles Schwab (Trader API). Market, limit, stop and stop-limit entries; a bracket is a trigger parent with an OCO child pair, which is how JorgAI attaches the take-profit and stop-loss to every automated buy on Schwab, with the exit legs good till cancelled. The legs come back nested under the filled parent rather than as top-level orders, a detail that broke our exit sweep until September 30, 2026. Whole shares only; notional orders are rejected. Durations day and GTC; our orders go in the regular session. Trailing-stop types exist in the order schema; JorgAI runs the trail itself instead. Access token 30 minutes, refresh token seven days.
  • Tradier. Market, limit, stop and stop-limit, with OCO, OTO and OTOCO advanced orders and a preview endpoint for every order. The catch we hit in production: an OTOCO cannot wrap a market entry, so a market buy with a bracket is rejected. JorgAI places the market entry first and then attaches a GTC OCO sell pair (limit at the target, stop at the stop) once the fill is in. No trailing-stop order type. Whole shares only. Without partner status the API is for personal use.
  • tastytrade. Market, limit, stop, stop-limit and notional market orders; time in force day, GTC and GTD with a date. Complex orders OTOCO, OCO, OTO and PAIRS on a separate endpoint, which is where a bracket lives. No trailing-stop type. A dry-run endpoint validates an order without sending it, which is the safest pattern on this list for unattended software. JorgAI's first version places plain entries and manages exits server-side.
  • Kraken (spot). The longest native list: market, limit, iceberg, stop-loss, take-profit, stop-loss-limit, take-profit-limit, trailing-stop, trailing-stop-limit and settle-position, with time in force GTC, IOC or GTD. No OCO or bracket, so a take-profit and a stop-loss on the same position cannot be linked at the exchange; one of them has to be cancelled by software when the other fills. Fractional by nature. Orders are metered by a per-pair counter, covered in the rate-limit comparison.
  • Crypto.com Exchange. Market, limit, stop-loss, stop-limit, take-profit and take-profit-limit. A market buy is placed by notional (dollars), a market sell by quantity. No bracket or OCO. Trades 24/7, so "day" has no meaning and working orders simply rest.
  • **E*TRADE.** Market, limit, stop and stop-limit, good for day or good until cancelled, with a mandatory preview-then-place sequence. No brackets, no trailing stop, whole shares only, equities only through JorgAI. The daily token expiry is the operational constraint.

Read across

  • One-call bracket (entry plus linked take-profit and stop-loss): Alpaca, Schwab. Two-step bracket: Tradier (entry, then OCO), tastytrade (OTOCO on the complex-order endpoint). None: Kraken, Crypto.com, E*TRADE.
  • OCO on its own (two resting orders, one cancels the other): Alpaca, Schwab, Tradier, tastytrade. None: Kraken, Crypto.com, E*TRADE.
  • Native trailing stop: Alpaca, Kraken (and in Schwab's schema). Software-managed elsewhere.
  • Stop-limit: all seven.
  • Good till cancelled: all seven; tastytrade and Kraken add good-till-date.
  • Extended hours by flag: Alpaca (pre-market, after-hours and overnight). The others either route to the regular session in the way JorgAI uses them or, for the two exchanges, never close.
  • Fractional or notional orders: Alpaca, Kraken, Crypto.com. Whole shares only: Schwab, Tradier, E*TRADE, and tastytrade as JorgAI uses it.
  • Preview or dry run before sending: Tradier, tastytrade, E*TRADE.

Why the bracket question matters more than the rest

A bracket that lives at the broker keeps protecting the position if the software placing orders goes down, loses its token or hits a rate limit. A bracket that lives in software protects the position only while the software is running and watching. For an unattended system the difference is the whole risk model, and it is the reason the first column above is the one to decide on. The stop-loss automation guide covers how to size the stop; this page is about where it can physically sit.

How JorgAI handles the gaps

Every member's position gets a stop-loss, a take-profit and an optional trailing stop at the platform level, checked by the exit monitor on every price tick, on every broker. Where the broker also accepts a bracket, JorgAI attaches one at the broker as well (Schwab as a trigger-plus-OCO, Alpaca as a bracket class, Tradier as a follow-up OCO), so the exit exists in two places. Where the broker has no linked exits (Kraken, Crypto.com, E*TRADE, tastytrade in its first version) the entry is flagged so the monitor knows it owns the exit alone. Trailing stops run in the platform on every broker, because only two of the seven offer them natively and a trailing stop that behaves differently per broker would be a support problem. What the member sets, in market or limit terms, is the same on all seven.

What to check before you connect software to any of them

  • Does your strategy need the exit at the broker? If yes, choose from the first two rows above or accept the two-step construction.
  • Does it need fractional sizing? Three of seven. A whole-share broker rounds a $400 position in a $350 stock down to one share, and a $300 position to zero.
  • Does it trade outside 9:30 to 4:00? Only Alpaca by flag, plus the two exchanges around the clock.
  • What does the API key or token allow? An order-placing key is a different thing from a read-only key; what an exchange key can and cannot do applies to the brokers too. On Schwab and E*TRADE the token itself expires, weekly and daily respectively.

Members pick the broker and connect it from the start page; the auto-trader uses the order types each one supports and fills the gaps as described above.

Quick answers

Which broker API supports bracket orders? Alpaca and Schwab accept a bracket in one call. Tradier (OTOCO, or entry then OCO) and tastytrade (OTOCO on the complex-order endpoint) support it in two steps. Kraken, Crypto.com Exchange and E*TRADE do not link exits.

Which broker API has trailing stop orders? Alpaca (trail by price or percent) and Kraken (trailing-stop and trailing-stop-limit). Schwab's order schema includes trailing types. Tradier, tastytrade, Crypto.com and E*TRADE do not.

Does Schwab's API support fractional shares? No. Orders must be whole shares, and notional orders are rejected. Alpaca, Kraken and Crypto.com accept fractional or notional orders.

Can automated trading software place extended-hours orders? At Alpaca, yes, with the extended_hours flag on limit orders across pre-market, after-hours and an overnight session. The crypto exchanges trade continuously. The other brokers on this list route to the regular session in the way JorgAI uses them.

Data: Alpaca's orders documentation, Kraken's add-order reference, tastytrade's orders and order-types concept page, Tradier's brokerage API documentation and Crypto.com Exchange API v1 documentation, read October 23 and 24, 2026; Schwab and E*TRADE facts from JorgAI's integrations and their developer documentation. Nothing here is a recommendation of any broker.

Let the AI do the trading.

Set it up in minutes. 7 day free trial on Starter and Pro.

Get started free