> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bm.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Set TP/SL: Take Profit and Stop Loss Orders on BM.XYZ

> Attach take-profit and stop-loss orders to new perp trades at entry or create standalone trigger orders. Available on BM.XYZ testnet V2.

Testnet V2 introduces TP/SL support for perpetual positions via two methods: **attaching TP/SL directly to a new order at entry**, or **creating standalone trigger orders** from the Advanced tab after a position is open. Both approaches let you define automated exits without manually monitoring the market.

<Warning>
  Liquidation can occur before a stop order triggers in fast-moving markets. A stop loss reduces risk but does not guarantee your position will be closed before liquidation if the market gaps through your trigger price.
</Warning>

## Attach TP/SL when placing an order

<Steps>
  <Step title="Enable the TP/SL checkbox">
    On the perps order panel (V2), check the **TP/SL** toggle beneath the order form to reveal the take-profit and stop-loss price fields.
  </Step>

  <Step title="Set your target prices">
    Enter a take-profit price, a stop-loss price, or both. Depending on the UI mode, you can input absolute prices or offset values relative to your entry.
  </Step>

  <Step title="Submit your primary order">
    Place the order as normal. When the primary order fills, linked TP/SL trigger orders are automatically created for the resulting position.
  </Step>
</Steps>

## Standalone advanced TP/SL

Use the **Advanced** tab in the order panel to create trigger-based orders independently — without attaching them to a new entry order:

* **TP Market / TP Limit** — lock in profit when price reaches a target level.
* **Stop Market / Stop Limit** — cut a loss or protect gains when price moves against your position.

See [Order Types](/trading/order-types) for full field definitions for each order type.

## Managing TP/SL on open positions

From the **Positions** tab in the bottom panel:

* View existing TP/SL trigger orders linked to each open position.
* Edit a trigger price by clicking the edit icon on the relevant row.
* Cancel any trigger before it fires by clicking the cancel icon.

## Execution notes

| Topic              | Detail                                                       |
| ------------------ | ------------------------------------------------------------ |
| **Trigger source** | Mark price / index per market configuration                  |
| **Partial fills**  | TP/SL size follows position size rules shown in the UI       |
| **Liquidation**    | Liquidation can occur before a stop triggers in fast markets |
| **Spot**           | TP/SL attachment is perps-focused on testnet V2              |

## Common issues

| Symptom                  | Likely cause                                          |
| ------------------------ | ----------------------------------------------------- |
| Stop did not trigger     | Trigger price not reached; check mark vs last price   |
| Order rejected           | Size below minimum or insufficient margin             |
| TP/SL missing after fill | Parent order only partially filled; check open orders |

For incorrect fill disputes on mainnet, contact support with your transaction hash.
