BLACK FRIDAY IS BACKNov 24 to 30. Join the list and get in a day early.Join the list

Trigger price source (pxs=, sls=, tps=), by exchange

Autoview · Guide · Updated November 11, 2026

A stop or trigger order waits for a price, and exchanges can watch more than one: the last trade, the mark price, or an index built from several venues. pxs= tells Autoview which one to ask for. The values are last, mark and index. sls= and tps= do the same for a stop loss and a take profit, but only one exchange reads them.

This page comes from the Autoview integrations code that runs on our servers today. We read the code; we did not send these orders live for this guide.

What each value becomes

ExchangeRead onlastmarkindex
Binance Futures, Binance DeliveryThe order's trigger (sl=, tp=, ts=)Contract priceMark priceContract price (index is not mapped)
Bitget futurespx= and ts= plan ordersFill (last) pricemarket_price, see belowFill (last) price (index is not mapped)
BitMEXpx=, sl=, tp=, ts=Last priceMark priceIndex price
Bybitpx= (pxs=), sl= (sls=), tp= (tps=)Last priceMark priceIndex price
Bybit copy tradingsl= and tp=, both from pxs=Last priceMark priceIndex price
Crypto.compx= stop ordersLast priceMark priceIndex price
Gate.io Futurespx= trigger orders and ts= trailing ordersLast priceMark priceIndex price
KuCoin Futuressl= and tp=Last trade priceMark priceIndex price
KuCoin Futures copy tradingsl= and tp=Last trade priceMark priceRefused with an error

A value Autoview does not know, such as a typo, is treated like last on every exchange in the table, except Crypto.com, where it is treated like mark.

When you leave it off

Leaving pxs= off does not always mean the exchange picks. On Bitget, BitMEX, Bybit, KuCoin Futures and Gate.io Futures price triggers, Autoview sends its own default, which is the last price. On Crypto.com it sends the mark price. On Binance Futures, Binance Delivery and Gate.io Futures trailing orders, Autoview sends nothing, so the exchange's own default applies.

Exchange by exchange

  • Binance Futures and Binance Delivery. An Autoview line here is one order. sl=, tp= or ts= turns that order into a stop, take profit or trailing stop, and pxs=mark makes it trigger on the mark price. Only mark is mapped, so pxs=index quietly becomes the contract price. Autoview attaches the setting whenever pxs= is on the line, also on a plain limit or market order; we have not checked what Binance does with it there.
  • Bitget futures. Read on a px= trigger order and a ts= trailing order. pxs=mark is sent to Bitget as market_price. We have not confirmed against Bitget's documentation that this value selects the mark price, so check one small order on the exchange before you rely on it. Attached stops are not given a trigger source. Bitget spot never reads pxs=.
  • BitMEX. All three values work, on px=, sl=, tp= and ts=.
  • Bybit. The only exchange with three separate settings. pxs= is the trigger for a px= conditional order, sls= for the stop loss and tps= for the take profit. So pxs=mark alone does not move your stop loss to the mark price; you need sls=mark. The same applies when a c=position line sets stops on an open position. See the Bybit command reference.
  • Bybit copy trading. Reads pxs= for both the stop loss and the take profit. sls= and tps= are not read.
  • Crypto.com. Read on px= stop orders, with the mark price as the default. See the Crypto.com command reference.
  • Gate.io Futures. Read on px= trigger orders and on ts= trailing orders. Gate.io spot never reads it.
  • KuCoin Futures. Read on sl= and tp=. On the copy trading connection, pxs=index is refused with an error rather than swapped for another price. See the KuCoin Futures command reference.

Where pxs= does nothing

Every other connection never reads pxs=, sls= or tps=: Alpaca, Binance spot, Binance.US, Bitfinex, Bitget spot and copy trading, Capital.com, Charles Schwab, Coinbase Advanced, Deribit, Gate.io spot, Gemini, HTX (Huobi), Hyperliquid, Kraken, Kraken Futures, KuCoin spot, OANDA, OKX, TradeStation and Tradovate. The line is accepted and the order goes out, but the exchange decides which price its stops watch.

An example

e=bybit s=BTCUSDT b=buy t=market q=0.001 sl=-2% sls=mark tp=4% d=1

That is a Bybit market buy with a stop 2% below that triggers on the mark price, and a target 4% above that triggers on the last price, the default. Swap sls=mark for pxs=mark and the stop would trigger on the last price instead.

Test it once before you rely on it

Add d=1 and send the line. The log shows the order Autoview would send, including the trigger setting. Then place one small order and check the trigger type on the exchange's open orders. For the trigger orders themselves, see trigger orders (px=) by exchange, and for stops and targets in general, stop loss, take profit and trailing stop.

Open the command reference