Self-trade Prevention

How Margin Trade prevents an account from matching against itself

Self-trade prevention stops an account from trading against itself.

If an incoming order would match a resting order from the same address, the resting order is canceled instead of matched.

What happens

  • No trade is executed

  • No trading fees are charged

  • The cancel does not appear in the public trade feed

  • The incoming order can continue matching against other resting liquidity, subject to its limit price and normal execution rules

Why this exists

This behavior prevents wash-like fills and avoids unnecessary internal crossing.

It is especially useful for market making strategies. An aggressing order can keep matching against other liquidity behind the canceled resting order instead of stopping on a self-match.

On centralized exchanges, this behavior is often called expire maker.

Scope

Self-trade prevention applies when both sides of the potential match belong to the same address.

It affects matching behavior only. Margin checks, price validation, and other order-entry rules still apply as normal.

See Orders for order behavior and Price Feeds for pricing guardrails.

Last updated