# CRITICAL: Missing Trades in Database (Nov 19, 2025) ## Issue Database shows 5 v8 trades with $71.07 P&L, but Drift UI shows 10 trades with $46.97 P&L. **5 trades are MISSING from the database despite being executed on Drift.** ## Evidence ### Drift UI (TRUTH - 10 trades in last 19 hours): 1. $31.41 profit (6h ago) 2. $22.78 profit (6h ago) 3. $9.72 profit (12h ago) 4. $29.18 profit (12h ago) 5. $18.42 profit (14h ago) 6. $21.67 profit (15h ago) 7. $1.33 profit (19h ago) 8. $4.08 profit (19h ago) 9. $8.31 profit (19h ago) 10. **-$99.93 loss** (19h ago) **Total: $46.97** ### Database (5 trades recorded): 1. $54.19 (13:56) - v8, quality 85 2. $37.67 (07:47) - v8, quality 110 3. $59.35 (05:56) - v8, quality 105 4. $19.79 (01:24) - v8, quality 90 5. -$99.93 (00:45) - v8, quality 80 **Total: $71.07** ## Analysis **Missing trades (not in database but in Drift):** - Approximately 5 trades with smaller P&L values - Likely the 9.72, 29.18, 18.42, 21.67, 1.33, 4.08, 8.31 trades - All appear to be profitable small trades **Database P&L values don't match Drift:** - Trade showing $54.19 in DB might be $31.41 in Drift - Trade showing $37.67 in DB might be $22.78 in Drift - Discrepancies suggest BOTH missing trades AND incorrect P&L recording ## Root Causes to Investigate 1. **Database save failures:** Execute endpoint may be failing to save trades 2. **Position Manager not tracking:** Trades executing but PM not adding them 3. **External closures:** Some trades closed by on-chain orders without PM detection 4. **Container restarts:** Trades executed during downtime not recovered 5. **n8n workflow failures:** Some signals reaching Drift but not saving to DB ## Impact - **Data integrity compromised:** Can't trust database for analytics - **Performance metrics wrong:** Showing $71 when actual is $47 - **Missing trade history:** Can't analyze what trades were executed - **Withdrawal calculations affected:** Total P&L used for withdrawal decisions ## Immediate Actions Required 1. Query Drift for complete trade history (last 24 hours) 2. Identify which trades are missing from database 3. Check logs for database save failures during those times 4. Check if trades were manual (Telegram) or automated (TradingView) 5. Verify Position Manager was running during those times 6. Check for container restarts that might explain gaps ## Long-term Fix Need to implement **trade reconciliation system**: - Periodic job queries Drift for all trades - Compares with database records - Alerts if trades found on Drift but not in DB - Backfills missing trades automatically - Added to Common Pitfalls in copilot instructions ## Date November 19, 2025 - 15:00 CET ## Status 🔴 CRITICAL - Investigating root cause