Bracket and cover orders

Two broker-native "compound" order types that bundle an entry with automatic protective exits — reducing the multi-step sequencing risk from chapters 50-51 to a single API call, with some tradeoffs.

Cover Order (CO) — market/limit entry + compulsory stop-loss

order_id = kite.place_order(
    variety="co",
    exchange="NSE",
    tradingsymbol="INFY",
    transaction_type="BUY",
    quantity=10,
    order_type="MARKET",
    product="MIS",
    trigger_price=1450.00,   # compulsory stop-loss trigger
)

A CO gives extra leverage (higher than plain MIS) in exchange for a *mandatory* stop-loss you cannot remove — the broker enforces it as protection for the leverage it's extending you.

Bracket Order (BO) — entry + target + trailing stop-loss, as one unit

order_id = kite.place_order(
    variety="bo",
    exchange="NSE",
    tradingsymbol="INFY",
    transaction_type="BUY",
    quantity=10,
    order_type="LIMIT",
    price=1470.00,
    product="MIS",
    squareoff=5.0,       # target: 5 points above entry
    stoploss=3.0,         # stop-loss: 3 points below entry
    trailing_stoploss=1.0, # optional: trail SL by 1 point as price moves favorably
)

Confirmed status (Sept 2026): Zerodha discontinued Bracket Orders (BO) back in 2020 and has not reinstated them — this is permanent, not a "check current docs" situation. If BO-style bundling matters to your strategy, replicate the same behavior manually with an entry order plus your own target/SL order pair (chapters 50-51) managed by your bot's state machine (chapter 88). Dhan still actively offers a genuine bracket-order-style product for active traders — if BO is a hard requirement rather than a nice-to-have, it's a real reason to pick Dhan over Kite for that specific strategy (chapter 2's broker comparison). Cover Orders (CO, above) remain available on Kite.

Why "bundled" orders reduce but don't eliminate sequencing risk

Even with a broker-native bracket, you still need to handle: what if the entry leg partially fills? What if the target and stop-loss legs are both still pending when you want to manually exit early? Bundled order types simplify the *happy path* — they don't remove the need to track state and reconcile (chapter 66).

When to prefer manual entry+SL+target over bundled products

If your strategy needs custom logic between entry and exit (e.g. adjusting the stop based on a signal, not just a fixed point distance), build it manually with the primitives from chapters 44-51 rather than fighting a rigid bundled product's fixed rules.

Next: 053 — Get order status by order_id