v0.6.0 - Physical Rail Strategy, Engine Modularization & Production Hardening
This is a major release covering 589 commits (Jan–Mar 2026) across 26 patch iterations.
Major Features
Physical Rail Strategy
The grid is now treated as a contiguous "rail" of orders that moves physically with the market. This eliminates gaps, improves stability during volatility, and simplifies the spread correction model to a constant-width design.
Simplified Consolidation (Merge/Split)
- Merge (Dust): partials < 5% are absorbed into next grid rebuild
- Split (Substantial): partials ≥ 5% are split cleanly without special-case state machines
Replaced the legacy Anchor & Refill state machine with direct grid regeneration.
Engine Modularization
OrderManager split into three focused engines:
accounting.js– Fund tracking, invariant verification, fee managementstrategy.js– Physical Rail and Unified Rebalancingsync_engine.js– Blockchain reconciliation and fill processing
AMA Market Price Adapter
Adaptive Moving Average integration for price-adaptive grid centering. Configurable delta threshold controls when AMA price change triggers a grid reset.
Multi-Node Management
Optional multi-node health checking with automatic failover, latency-based selection, and chain ID validation (opt-in via general.settings.json).
Unix Socket Credential Daemon
Eliminates plaintext MASTER_PASSWORD environment variable exposure. Password kept in RAM only, never written to disk.
Notable Improvements
- Constants Centralization: 60+ magic numbers consolidated into
constants.js - CacheFunds Removal: Eliminated redundant dual-tracking; grid now uses a single
availableFundssource of truth - Memory-Only Integer Tracking:
rawOnChaincache eliminates redundant API fetches during rotations (O(1) local updates) - RMS Divergence Toggle: Set
RMS_PERCENTAGE: 0to disable divergence-based grid regeneration - Fund Invariant Verification: Automatic detection of accounting leaks at runtime
- COW Hardening: Copy-on-write batch commit guards and integer-exact accounting
- Startup Improvements: Sequential fill rebalance before reconcile, batch retries, and self-healing of corrupted state files
- Grid Diagnostics: Color-coded
logGridDiagnosticsvisualization - QTradeX Export:
dexbot export <bot-name>for backtesting CSV generation - EXPERT Config Section: Advanced settings accessible via JSON (not menu)
Fixed (99+ fixes across release + 26 patches)
- Fund validation bug: was checking
required > chainFree + required(always false) - COW cache deductions aligned to executed on-chain integers, not planned floats
- Startup reconcile ordering: sync-detected fill rebalance now runs before reconcile
- BTS fee unification: fees applied to all on-chain operations (rotations, size updates)
- 12 race conditions in fill processing and sync engine
Active No IDgrid corruption: orders now become ACTIVE only after confirmed broadcast- Startup reconciliation index overflow on large order counts
- Division by zero in node manager stats when no latency data is available
- Double dust partial creation
- Excess order cancellation asymmetry
Breaking / Migration Notes
- Asset precision is now mandatory: bot fails loudly if asset metadata is unavailable (fallback removed)
cacheFundsremoved from persistence schema — existing snapshots load cleanly (field simply absent)TIMINGconfig menu split into Core and Fill sections