Settings Reference — Exhaustive

Every strategy setting on the Dashboard Settings page: what it does, how it works, what it affects, conflicts, typical ranges, and where it is used. For environment variables (.env), see Settings reference or settings-reference.md.

Pipeline order: Risk (Gate 6) → Filters (Gate 5) → Soak (Gate 9) → Execution (Gate 7). Config is read each cycle; no restart needed.

1. Risk — Gate 6

Config: config/strategy/gate6.risk.json (default or relaxed). Used by: Risk engine, execution pipeline.

KeyTypeWhat it doesHow it works / Affects / ConflictsTypical range
max_open_positionsnumberMax open positions at once.Open count ≥ this → entry blocked. 0 = no limit. Affects: Gate 6. Conflicts: none.0–50
max_position_usdnumberMax 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_usdnumberBlock 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_secondsnumberMin seconds between any two new entries.Last entry timestamp checked. 0 = no cooldown. Affects: Gate 6. Conflicts: none.0–300
circuit_breaker_max_consecutive_failuresnumberAfter this many consecutive failures, block entries.Counter resets on success. Affects: Gate 6. Conflicts: none.3–20
max_slippage_bpsnumberCap on requested slippage (bps).Execution slippage request capped. 1000 = 10%. Affects: entry quote. Conflicts: execution/token can request; this caps.50–2000

2. Filters — Gate 5

Config: config/strategy/gate5.filters.json. Used by: Signal pipeline (discovery and filtering).

2.1 Identity

KeyTypeWhat it does
strategy_namestringStrategy identifier; logging and config selection.
chainstringChain id (e.g. solana) for discovery/RPC.

2.2 Discovery (summary)

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.

2.3 Pair age, Liquidity, Rate limit

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_*.

3. Soak — Gate 9

Config: config/strategy/gate9.soak.json. Used by: Soak runner (main loop).

KeyTypeWhat it doesAffects / Typical
modestringpaper | live; must match execution.Consistency.
cycle_interval_secondsnumberSeconds between soak cycles.Throughput. 30–120.
max_cyclesnumberMax cycles before runner stops.1000000 = infinite.
max_failed_cycles_before_abortnumberAbort after N consecutive failed cycles.5–20.
entry_runs_per_cyclenumberEntry pipeline runs per cycle.1–5. Overridden by dynamic_entry_runs when enabled.
dynamic_entry_runs_enabledboolVary entry runs within min/max.Uses entry_runs_min/max_per_cycle.
signal_scan_every_n_cyclesnumberRun signal pipeline every N cycles.1–5. Fewer = less load, staler signals.
allow_stale_signals_on_scan_failureboolIf scan fails, reuse previous signals.Resilient but stale risk.
execution_max_retries_per_cyclenumberMax retries for execution per cycle.2–5.
exit_max_retries_per_cyclenumberMax retries for exit monitor per cycle.2–5.
exit_monitor_interval_secondsnumberInterval between exit checks.10–60.
run_exit_monitor_after_each_entry_runboolRun exit after each entry run.Faster exit reaction.

4. Execution — Gate 7

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.

5. Where settings are used

ComponentConfig / 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 SettingsReads/writes execution, soak, filters, risk via control API

6. Redundancy and removal

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.