Matching rules
Matching uses price-time priority:- Price priority. The best bid and best ask win first. For buyers, higher prices rank ahead; for sellers, lower prices rank ahead.
- Time priority. Among orders at the same price, the order that entered the book earliest is matched first.
Per-block action priority
Because Intention is a blockchain, every block packages many user actions together. To keep matching fair and predictable, the chain applies actions in a fixed order:System operations
Listings, parameter updates, mark-price updates, fee updates, and other admin actions run first so subsequent actions use fresh state.
Non-matching user actions
Deposits, funding settlement, margin adjustments, account configuration, post-only order intake, liquidations, TWAP sub-order submissions, and conditional-order triggers.
Cancellations
User-initiated cancels run before any new order that might match. This makes cancels effectively preemptive — you can always pull a resting order before it trades against a just-submitted taker.
Self-trade prevention
When a new taker would match an existing maker from the same account, the maker is cancelled before any execution. See Self-trade prevention.Execution quality controls
Intention adds several protections that keep aggressive orders sane:- Band limits. Each contract enforces a per-order price band derived from the index and mark price. Orders outside the band are rejected.
- Market-to-limit conversion. Market orders are converted into protective limit orders before they reach matching, so a taker cannot sweep the book far beyond a reasonable slippage. See Market-to-limit.
- Reduce-only safety. Reduce-only orders are re-checked at match time to guarantee they never increase a position. See Reduce-only.
- OI limits. A user’s directional exposure cannot exceed a fraction of platform open interest. See OI limits.