For the complete documentation index, see llms.txt. This page is also available as Markdown.

Risk management

Protocol-level risk controls on WaterX.

Multi-Layer Defense

WaterX manages systemic risk through multiple layers of protection:

OI Limits → Position Size Limits → Oracle Protection → Insurance Fund → ADL

Open Interest Limits

Each market has per-direction (Long / Short) OI caps that dynamically adjust based on WLP pool depth.

When a direction's OI reaches its cap, new positions in that direction are blocked. Closing positions and opening in the opposite direction remain unaffected.

Position Size Limits

Maximum reserve per single order is capped:

Max Single Order Reserve = min(Available Liquidity, 10% × Total Collateral Liquidity)

This ensures no single trader occupies too much of the pool's liquidity.

Oracle Protection

WaterX uses Pyth Network (pull oracle) and WaterX Oracle as dual price sources, with the following risk rules:

Condition
Action

Confidence / Price > 0.5%

Warning, increased margin requirements

Confidence / Price > 1%

New positions restricted

Price staleness > 30 seconds

New positions restricted

Price staleness > 60 seconds

Trading paused

Single price jump > 5%

Trading paused

When oracle anomalies occur, the system automatically restricts or pauses trading to protect users and LPs.

During an oracle pause, your existing positions are unaffected, but you cannot open new positions or close existing ones. Trading resumes automatically once the oracle recovers.

Insurance Fund

The Insurance Fund covers bad debt from liquidations. Revenue comes from the liquidation fee (1% × Position Size).

When the Insurance Fund is insufficient to cover bad debt, ADL is triggered.

Emergency Pause

Admin can pause all trading in extreme situations to protect system safety.

Keeper

WaterX's Keeper system is operated by the team, responsible for:

  • Liquidation execution

  • Limit Order / SL / TP execution

  • Funding rate and borrow rate updates

At least 2 Keeper instances run simultaneously for redundancy.


Last updated

Was this helpful?