Bitget futures: Introduction to Self-Trade Prevention (STP)
What is Self-Trade Prevention (STP)?
Self-Trade Prevention (STP) is a mechanism employed by the Bitget trading platform to prevent users from inadvertently executing trades with themselves. This reduces unnecessary transaction fees and promotes a fair, transparent trading environment. STP works by identifying orders placed under the same user ID (UID) or linked sub-accounts, and blocking trades that would result in self-matching. This ensures that trading activity accurately reflects true market supply and demand.
Bitget applies STP across its futures trading platform to reduce the risk of price manipulation and uphold compliance and market integrity. Whether the orders originate from a main account and its sub-account, within the same sub-account, or between sub-accounts, STP can detect and prevent potential self-trade scenarios.
Example: How STP prevents self-trading
Suppose User A places both buy and sell orders for BTCUSDT on the Bitget USDT-M Futures market. The account setup includes one main account and one sub-account, with the following orders:
• Main account: Places a maker order to buy 1 BTC at 50,000 USDT
• Sub-account: Places a taker order to sell 1 BTC at 50,000 USDT
Without STP, these orders could match, causing the user to trade with themselves and incur unnecessary fees. With STP enabled, the system detects the self-trade and cancels the taker order (e.g., based on the cancel_taker mode), effectively preventing the self-match.
How does STP work?
When the system detects a potential self-trade, it executes one of the following actions based on the STP mode:
• none mode: Orders are not subject to the STP mechanism. The system does not compare user IDs, and transactions are executed normally.
• cancel_taker mode: The taker order is canceled; the maker order remains in the order book.
• cancel_maker mode: The maker order is canceled; the taker order proceeds.
• cancel_both mode: Both taker and maker orders are canceled.
The STP action is determined by the taker order's STP mode. The STP mode of the existing maker order in the order book is not considered.
How to set STP mode for an order?
For order placing API and batch order placing API, the STP mode can be set using the field "stpMode".
Which product lines support STP?
1. Spot
2. Futures
a. USDT-M Futures
b. USDC-M Futures
c. Coin-M Futures (perpetual & delivery)
3. Margin
a. Isolated margin
b. Cross margin
Which order types support STP?
When Time In Force is set to GTC/IOC, the following order types support STP:
1. Limit order
2. Market order
3. Trigger order
4. TP/SL order
Note that STP is not supported when Time in Force is set to FOK.
Do modified orders support STP?
No. Modified orders do not support STP. Modified orders inherit the STP settings of the original order.
Why choose Bitget's STP mechanism?
Bitget's STP mechanism not only improves trading efficiency but also helps users reduce costs by preventing self-trades. Combined with Bitget's robust security and professional customer support, STP contributes to a more transparent and trustworthy trading environment.