# 2026-03-01 ## CoinEx Dashboard — Deployed to Coolify ✅ - Coolify URL: `https://fcs04o8w0sccookkw44sck8c.host.letsgetnashty.com` - Coolify app UUID: `fcs04o8w0sccookkw44sck8c` - Coolify project "dz-studio": `os4csg4o4wwws04cgk8c0gg0` - **Deployment issues fixed:** - IPv6 healthcheck: Alpine wget resolves `localhost` to `[::1]`, Node binds `0.0.0.0` (IPv4). Fix: use `127.0.0.1` - WebSocket protocol: HTTPS page can't connect to `ws://`, must auto-detect `wss://` vs `ws://` - `firstSeen.getTime()` crash: Date objects serialize to ISO strings over WebSocket JSON. Fix: `new Date(signal.firstSeen)` before `.getTime()` - `page-old.tsx` ghost: TypeScript compiler picks up backup files. Deleted. - `NODE_ENV=production` at build time skips devDependencies — Coolify warns about this - **Lesson: Test locally with production build + WebSocket client BEFORE deploying to Coolify** ## CoinEx Dashboard v2 Features (Glitch built, deployed) - Settings modal for CoinEx API credentials + test connection - Signal history tracking with staleness detection (30min threshold) - Error log panel (collapsible, 200-entry ring buffer, categorized) - Tooltips on all coin card data points (ShadCN Tooltip) - Branch: `feature/v2-upgrades` merged to main ## CoinEx Trader Bot API (Glitch built, NOT deployed) - FastAPI wrapper with Swagger at `/docs` - Runtime config: thresholds, TP/SL, leverage, max positions, global on/off - Structured JSON logging, API key auth - Docker + docker-compose ready - Gitea repo: `https://git.letsgetnashty.com/case/coinex-trader` (feature/api branch) - Port: 8893 ## Coolify Deploy Script Created - `tools/coolify-deploy.sh` — build, push, deploy, poll status - Credentials: `~/.openclaw/workspace/.credentials/coolify.env` (COOLIFY_API_TOKEN) - App UUID stored in `.coolify-app` per project - Zero tokens burned on mechanical deployments ## CoinEx Live Trader - Was locked since 2026-02-26 06:25 UTC (funding fee settlement API outage tripped circuit breaker) - Cleared lockfile, bot resumed trading - TRUMP SHORT signal was on dashboard - trader_state.json replaced with CoinEx API direct calls (no local file dependency) ## CoinEx Platform v3 Architecture (PLANNED) - **Redis** as message bus + shared state + cache (localhost:6379) - **TA Service** (Python, port 8894) — EMA Ribbons, TTM Squeeze, Stoch RSI Divergence - Uses `pandas-ta` for calculations - Single Binance fetcher for all 29 coins (eliminates 3x duplicate API calls) - Publishes to Redis channels: `signals:ta:{symbol}` - **Dashboard integration** — subscribes to Redis instead of polling Binance directly - **Trader integration** — publishes state to Redis, can read TA signals (disabled by default) - **TA bonus is display-only** until backtested — does NOT affect trading decisions - D J initially wanted TradingView Pine Script + webhooks but free tier = 1 alert, not viable for 29 coins - Self-hosted TA (Option C) chosen instead - Full spec: `data/tasks/coinex-platform-v3.md` - Dev environment: separate ports (8892 dashboard-dev, 8894 TA, 8895 trader-api-dev) - New repo: `git.letsgetnashty.com/case/coinex-ta-service` ## Web Stack Updated - **Next.js 16** (was 15 in docs). Dashboard runs 16.1.6. MEMORY.md updated. ## SPARK Milestone - Hit **109 ideas** total (spark-001 through spark-109) - Notable new ones: spark-103 PeopleSoft Real-Time Dashboard (10/10), spark-105 PeopleSoft Incident Response (10/10) ## Cron Status - kch123 weekly report failed (message delivery error) — needs investigation - spark-idea-gen running fine (every 3h) - nexus-standup running (every 2h) - case-task-dispatcher running (daily 5PM) — team idle, no tasks to assign