Binance and OKX Self-Trade Prevention Reconciliation Radar
Verified Fact Boundary
1. Binance defines STP as preventing a user's orders or tradeGroupId's orders from matching against their own. 2. Binance glossary describes prevented execution fields and preventedMatchId for STP events. 3. OKX says mandatory STP applies at master-account level across affiliated sub-accounts. 4. OKX says supported STP modes include cancel_maker, cancel_taker and cancel_both. 5. OKX says orders may be canceled by the system for self-trade prevention and cancelSource can identify the reason.
Show less
Decision Matrix
Article table: scroll horizontally, or focus the table area and use the arrow keys.
| Check | What it means | Practical action | Unknown to keep explicit |
|---|---|---|---|
| Scope | Binance references user or tradeGroupId while OKX references master-account level | map account grouping before placing related orders | venue account-linking state |
| Mode | OKX exposes cancel_maker, cancel_taker and cancel_both | log selected STP mode per order | default changes |
| Event field | Binance exposes prevented match fields for reconciliation | store preventedMatchId and preventedQuantity when present | field availability by endpoint |
| Cancel reason | OKX exposes cancelSource for system cancellation reasons | reconcile cancelSource before retrying | reason-code changes |
| Stop rule | STP does not prove fill quality or profit | stop if bot accounting treats prevented matches as normal fills | private order state |
Source Map
- Binance Developer Docs: SPOT API Glossary (binance-spot-glossary)
- Binance Developer Docs: Account prevented matches (binance-prevented-matches)
- OKX Docs: Self trade prevention (okx-stp-guide)
- OKX Docs: Order state and cancelSource guidance (okx-order-states)
Control Notes
1. Scope
Scope is the part of the decision where the reader must turn a public source into an operating rule. In this package, it means Binance references user or tradeGroupId while OKX references master-account level. The useful action is to map account grouping before placing related orders. The unresolved edge is venue account-linking state, so this article does not convert that uncertainty into a promise, ranking, reward, approval, safety claim or future-availability claim.
For an operator, scope should be recorded before funds, account access, wallet recovery, API order flow, whitelist changes, cross-chain transfers or tokenized-asset decisions become material. The record can stay simple: the official source URL, the date checked, the product or network under review, and a non-secret note describing why the next step is acceptable. Screenshots should avoid balances, identity documents, API keys, recovery phrases, private keys, passphrases, verification codes and support-ticket private data.
2. Mode
Mode is the part of the decision where the reader must turn a public source into an operating rule. In this package, it means OKX exposes cancel_maker, cancel_taker and cancel_both. The useful action is to log selected STP mode per order. The unresolved edge is default changes, so this article does not convert that uncertainty into a promise, ranking, reward, approval, safety claim or future-availability claim.
For an operator, mode should be recorded before funds, account access, wallet recovery, API order flow, whitelist changes, cross-chain transfers or tokenized-asset decisions become material.
3. Event field
Event field is the part of the decision where the reader must turn a public source into an operating rule. In this package, it means Binance exposes prevented match fields for reconciliation. The useful action is to store preventedMatchId and preventedQuantity when present. The unresolved edge is field availability by endpoint, so this article does not convert that uncertainty into a promise, ranking, reward, approval, safety claim or future-availability claim.
For an operator, event field should be recorded before funds, account access, wallet recovery, API order flow, whitelist changes, cross-chain transfers or tokenized-asset decisions become material.
4. Cancel reason
Cancel reason is the part of the decision where the reader must turn a public source into an operating rule. In this package, it means OKX exposes cancelSource for system cancellation reasons. The useful action is to reconcile cancelSource before retrying. The unresolved edge is reason-code changes, so this article does not convert that uncertainty into a promise, ranking, reward, approval, safety claim or future-availability claim.
For an operator, cancel reason should be recorded before funds, account access, wallet recovery, API order flow, whitelist changes, cross-chain transfers or tokenized-asset decisions become material.
5. Stop rule
Stop rule is the part of the decision where the reader must turn a public source into an operating rule. In this package, it means STP does not prove fill quality or profit. The useful action is to stop if bot accounting treats prevented matches as normal fills. The unresolved edge is private order state, so this article does not convert that uncertainty into a promise, ranking, reward, approval, safety claim or future-availability claim.
Known Unknowns
- venue account-linking state
- default changes
- field availability by endpoint
- reason-code changes
- private order state
Practical Takeaway
The safest version of this article is the one that stays boring and exact. NexuAlpha Radar treats self-trade prevention as an order-reconciliation problem, not as a generic market-integrity badge. Binance Spot API glossary defines Self Trade Prevention as preventing a user's orders, or a tradeGroupId's orders, from matching against their own and exposes fields such as preventedQuantity and preventedMatchId for STP events. OKX API documentation says mandatory self-trade prevention applies at master-account level across the master account and affiliated sub-accounts, with cancel_maker, cancel_taker and cancel_both modes. OKX also says user orders can be canceled by the system for self-trade prevention and users can refer to cancelSource. The radar score asks whether a bot can capture the mode, affected order, prevented quantity, cancellation reason and downstream position or balance reconciliation without double-counting liquidity. The user outcome is a clearer next inspection step, not a promise that a platform, API, transfer route or tokenized asset will work under every future condition.
Topic hubs & tools:Compare Binance vs OKX
Sources
04- SPOT API Glossary · developers.binance.com
- Account prevented matches · developers.binance.com
- Self trade prevention · okx.com
- Order state and cancelSource guidance · okx.com