Open the app
Execution & risk

Risk engine

Deterministic risk limits outside the agent layer, position sizing bounded by executable liquidity, and the global risk states that gate execution.

Risk rules exist outside the agent layer. The Risk agent may interpret conditions, but deterministic code enforces the limits — and it can block execution.

Risk limits

LimitBounds
Per-trade valueMaximum notional per trade
Capital allocationMaximum percentage of available capital
Daily lossMaximum loss in a day
Weekly drawdownMaximum peak-to-trough loss in a week
Concurrent positionsMaximum open positions
Exposure per chain / exchangeCaps spread across venues
Minimum liquidityRequired liquidity to enter
Maximum slippage / spreadExecution-quality bounds
Holder concentrationMaximum top-wallet concentration
Contract-risk scoreMaximum tolerated contract risk
API error rateTrips on degraded connectivity

Position sizing by executable liquidity

Size depends on executable liquidity, not reported market capitalization — a large market cap with a thin pool still caps the position. The controls are deterministic and per-strategy:

  • maximum_position_usd
  • maximum_position_as_percent_of_pool
  • maximum_expected_price_impact_percent
  • maximum_entry_slippage_percent
  • maximum_exit_slippage_percent
  • minimum_exit_liquidity_usd
  • minimum_unique_traders
  • maximum_top_holder_percent
  • maximum_creator_holder_percent
position_sizing_v1
Risk-first quantity

Start from the loss you accept, then the stop distance (widened for slippage and fees) fixes the units. The full derivation and the min(…) of every limit is on Position sizing & stops.

risk_metrics_v1
Portfolio heat

Total open risk as a fraction of equity — the system-wide cap that throttles new entries. See Performance & risk metrics.

Risk states

A single global state gates execution across the whole system, escalating as risk rises:

  1. NORMAL
    Full execution within limits
  2. CAUTION
    Tightened sizing and extra checks
  3. RESTRICTED
    Reductions and approved exits only
  4. HALTED
    No new orders; open positions managed
  5. EMERGENCY
    Kill switch — cancel/flatten, human reactivation required

Circuit breakers escalate the state automatically on triggers such as the daily/weekly loss limit, max consecutive losses, stale data, abnormal spread or slippage, failed reconciliation, clock drift or repeated order rejection. No model may override a HALTED state.

Deterministic, not advisory
The Risk agent surfaces context and arguments, but the limits above are hard-coded and versioned (risk_policies). A breach raises a risk_event with an automatic action — block, reduce, exit or halt — independent of any model’s judgment.