Swap API

Intent Solver Management#

Management Principles#

  • All monitoring is based on sliding time windows. Each calculation uses the current time/block as the right boundary and looks back over a fixed interval.
    • Example: If the current time is 18:00 and the window size is 1 hour, the sliding window covers 17:00–18:00.
  • If a solver violates multiple rules at the same time, the disable duration follows the longest applicable penalty.
  • During the quote stage, if a solver is disabled, its quotes are still considered valid.
  • During an auction, if a solver is disabled and is confirmed as the winner, to minimize user waiting time, the system will allow the solver to complete on-chain settlement for that auction round first, and then apply the disable.

Solver Behavior Rules#

  • On-chain settlement constraint
    • OKX Intent monitors whether the solver that submits the on-chain settlement for each round is the winner.
    • If a non-winner solver performs an on-chain settlement action, it will be disabled immediately and can only be re-enabled after providing an explanation.
  • Order fill success rate
    • If the winning solver does not submit the on-chain settlement within the required block deadline, and the on-chain success rate within a 1-hour sliding window falls below 80%, the solver will be disabled for 3 hours.
    • If the number of unsettled orders is < 12, the window is not counted and will be skipped.
    • The settlement block deadline differs depending on whether the auction contains multiple orders or a single order.
  • Block deadline for multi-order auctions:
    • Ethereum: 3 blocks
    • Arbitrum: 40 blocks
    • Base: 18 blocks
    • BSC: 40 blocks
  • Block deadline for single-order auctions:postpone
    • Ethereum: 2 blocks
    • Arbitrum: 30 blocks
    • Base: 10 blocks
    • BSC: 22 blocks
  • Malicious quoting
    • Definition: The solver provides quotes that cannot be executed successfully in the subsequent auction/settlement flow.
    • Submitting a large number of non-executable quotes that cause users' orders to fail to fill will result in immediate disablement once detected.
    • The system monitors the on-chain fill rate for orders converted from quotes. If the fill rate is below 20% within 1 hour, the BD team will contact the solver to confirm the root cause.
  • EBBO
    • Definition: An EBBO breach occurs when the actual on-chain execution price is worse than the baseline price. The baseline is provided by an OKX-maintained EBBO solver, which sources its reference price across multiple AMMs (e.g., Uniswap and others).
    • The comparison block interval is from when the solver receives the auction via /solve until the block where settlement is executed. If, during this interval, the baseline price is better than the actual execution price, it is considered an EBBO violation.
    • After settlement, prices are compared against the baseline. If EBBO is detected, the solver must compensate the user for the difference. If compensation is not completed within 3 days after notification, the solver will be disabled for 24 hours.
  • Overbidding
    • Definition: The solver maliciously submits an inflated score, but the actual on-chain settled score is lower than the submitted score.
    • Rule: If ActualScore < SolutionScore, it is considered overbidding.
    • To avoid false positives due to short-term fluctuations, the system evaluates the overbidding ratio across 100 winning settlements. If the ratio exceeds 20%, the solver will be disabled for 24 hours.
  • Score inflation
    • Definition: Increasing score through fake tokens, wash trading, or similar manipulation.
    • If fake-token or wash-trading behavior is confirmed, the solver will be removed from the allowlist.
  • Local Token Conservation / unfair surplus shifting
    • If surplus shifting between orders is confirmed, the solver will be disabled for 24 hours.