Pipeline order: Risk (Gate 6) → Filters (Gate 5) → Soak (Gate 9) → Execution (Gate 7). Config is read each cycle; no restart needed.
Config: config/strategy/gate6.risk.json (default or relaxed). Used by: Risk engine, execution pipeline.
| Key | Type | What it does | How it works / Affects / Conflicts | Typical range |
|---|---|---|---|---|
| max_open_positions | number | Max open positions at once. | Open count ≥ this → entry blocked. 0 = no limit. Affects: Gate 6. Conflicts: none. | 0–50 |
| max_position_usd | number | Max notional USD per position. | Proposed size > this → blocked. 0 = no limit. token_controls can override per mint. Affects: Gate 6. Conflicts: per-mint override. | 0–100000 |
| daily_drawdown_limit_usd | number | Block entries if today’s realized PnL ≤ minus this. | Daily PnL from closed positions today (UTC). 0 = disabled. Affects: Gate 6. Conflicts: none. | 0–10000 |
| cooldown_seconds | number | Min seconds between any two new entries. | Last entry timestamp checked. 0 = no cooldown. Affects: Gate 6. Conflicts: none. | 0–300 |
| circuit_breaker_max_consecutive_failures | number | After this many consecutive failures, block entries. | Counter resets on success. Affects: Gate 6. Conflicts: none. | 3–20 |
| max_slippage_bps | number | Cap on requested slippage (bps). | Execution slippage request capped. 1000 = 10%. Affects: entry quote. Conflicts: execution/token can request; this caps. | 50–2000 |
Config: config/strategy/gate5.filters.json. Used by: Signal pipeline (discovery and filtering).
| Key | Type | What it does |
|---|---|---|
| strategy_name | string | Strategy identifier; logging and config selection. |
| chain | string | Chain id (e.g. solana) for discovery/RPC. |
Key discovery settings: discovery.source, discovery.max_live_candidates, discovery.max_pair_lookups_per_run (57/228 with proxies), discovery.candidate_order, discovery.dex_profile_limit, Jupiter flags and limits, discovery.pair_request_spacing_ms (1035 ≈ 58/min), skip/recent windows, discovery.min_volume_h24_usd, discovery.max_dump_m5_pct, discovery.max_sell_buy_ratio_at_discovery. Each controls discovery breadth, rate limits, or quality filters. See settings-reference-full.md for full table.
Pair age: discovery.min_pair_age_hours, discovery.max_pair_age_hours, dynamic_liquidity.very_new_pair_max_age_hours.
Liquidity: min_liquidity_usd, max_top_holder_pct, min_momentum_score, blacklisted_token_mints, dynamic_liquidity.* (enabled, mode, tier mins, active/inactive, absolute floor/cap).
Rate limit: discovery.dex_429_backoff_ms, discovery.dex_max_consecutive_429_before_stop, discovery.dex_retry_*.
Config: config/strategy/gate9.soak.json. Used by: Soak runner (main loop).
| Key | Type | What it does | Affects / Typical |
|---|---|---|---|
| mode | string | paper | live; must match execution. | Consistency. |
| cycle_interval_seconds | number | Seconds between soak cycles. | Throughput. 30–120. |
| max_cycles | number | Max cycles before runner stops. | 1000000 = infinite. |
| max_failed_cycles_before_abort | number | Abort after N consecutive failed cycles. | 5–20. |
| entry_runs_per_cycle | number | Entry pipeline runs per cycle. | 1–5. Overridden by dynamic_entry_runs when enabled. |
| dynamic_entry_runs_enabled | bool | Vary entry runs within min/max. | Uses entry_runs_min/max_per_cycle. |
| signal_scan_every_n_cycles | number | Run signal pipeline every N cycles. | 1–5. Fewer = less load, staler signals. |
| allow_stale_signals_on_scan_failure | bool | If scan fails, reuse previous signals. | Resilient but stale risk. |
| execution_max_retries_per_cycle | number | Max retries for execution per cycle. | 2–5. |
| exit_max_retries_per_cycle | number | Max retries for exit monitor per cycle. | 2–5. |
| exit_monitor_interval_seconds | number | Interval between exit checks. | 10–60. |
| run_exit_monitor_after_each_entry_run | bool | Run exit after each entry run. | Faster exit reaction. |
Config: config/strategy/gate7.execution.json. Used by: Execution pipeline, exit monitor, soak runner.
General: mode, paper_starting_capital_usd, min_trade_amount_usd, max_retries, quote_timeout_ms, rpc_timeout_ms, paper_slippage_bps, paper_position_notional_usd. Affects PnL, entry sizing, timeouts, paper simulation.
Entry — Size/Notional: entry_dynamic_notional_enabled, entry_notional_subtiers_enabled, subtier A/B caps and USD, tier1/2/3 caps and USD, entry_max_total_supply_pct_enabled, entry_max_total_supply_pct. All affect position size per entry.
Entry — Quality, Watch, Probe, Volatility, Block, Revival, Regime: Control execution quality (impact, chunking), watch window/dip, probe samples/drift/sell-buy and bypass, volatility gate M5/txns/sell-buy, block on exit degrade and stop cooldown, revival limits and mins, regime switcher and size multipliers. See settings-reference.md §4.3–4.9 and settings-reference-full.md.
Exit, Reentry, Moonbag, Quoting: Exit quality, TP (including massive-jump), mark source, SL (including adaptive), high-water, trailing, stop confirmation, max hold, crash, quote failure threshold; reentry watch/cooldown/size/SL/reclaim/momentum/volatility/dip/breakout/chase; moonbag partial TP and runner rules; quoting defaults and mints. Full tables in settings-reference.md §4.10–4.22.
| Component | Config / env |
|---|---|
| Signal pipeline (Gate 5) | gate5.filters.json; env for Supabase/RPC/Jupiter |
| Risk engine (Gate 6) | gate6.risk.json; token_controls for per-mint overrides |
| Execution pipeline (Gate 7) | gate7.execution.json, gate6.risk.json; .env |
| Control API (Gate 8) | .env; reads execution + risk for API |
| Soak runner (Gate 9) | gate9.soak.json; env; spawns Gate 5 and Gate 7 |
| Dashboard Settings | Reads/writes execution, soak, filters, risk via control API |
No setting is intentionally redundant. Every key is read by at least one script (risk-engine, Gate 5, soak-runner, execution pipeline, or control API). Overlap (e.g. min_liquidity_usd vs dynamic_liquidity.*) is by design: different code paths or fallbacks. Before removing a setting, grep the codebase for the key and remove from code and from the Dashboard schema and this doc.