Files
mev-beta/docs/LOG_ANALYSIS_REPORT_20251101.md

4.4 KiB

MEV Bot Log Analysis Report

Generated: November 1, 2025 11:00 AM Analysis Period: Last session (Nov 1, 2025 10:43-10:55)

Executive Summary

Health Metrics

  • Overall Health Score: 91.78/100 (Excellent)
  • Error Rate: 8.22% (45,760 errors out of 556,224 log lines)
  • Success Rate: 1.61% (9,005 successful operations)
  • Total Blocks Processed: 147,848
  • DEX Transactions Analyzed: 310,475
  • Opportunities Detected: 17,938

Critical Issues Identified

1. Profit Threshold Inconsistency ⚠️ HIGH PRIORITY

Issue: Configuration mismatch between detection and execution thresholds

Evidence:

  • Detection finds opportunities with 0.000316 ETH profit
  • Execution rejects them requiring 0.001 ETH minimum
  • 826 opportunities rejected due to this mismatch

Code Locations:

  • Hardcoded in pkg/arbitrage/executor.go:125
  • Config in config/arbitrum_production.yaml:263,290

Impact: Missing profitable opportunities that meet ROI criteria but fall below absolute threshold

Recommendation:

  • Lower min_profit_wei to 500000000000000 (0.0005 ETH / $1.00)
  • Update hardcoded value in executor.go to match
  • Align both thresholds to avoid wasted computation

2. Pool Blacklist Saturation ⚠️ MEDIUM PRIORITY

Issue: 4,661 pools blacklisted, causing 637+ errors

Top Blacklisted Pools:

  • 0xc473e2aEE3441BF9240Be85eb122aBB059A3B57c - 637+ rejections
  • 0xC6962004f452bE9203591991D15f6b388e09E8D0 - Multiple rejections

Impact:

  • Reduced opportunity discovery
  • Potential false negatives if pools recover
  • Growing memory footprint (~200KB)

Recommendation:

  • Implement time-based blacklist expiration (24 hours)
  • Add pool health recovery checks
  • Periodic cleanup of old entries

3. Context Cancellation Cascade ⚠️ MEDIUM PRIORITY

Issue: 98 "context canceled" errors during shutdown

Evidence: Blocks 395712991-395713046 (55 blocks) lost during shutdown at 10:47:57

Impact:

  • Lost block processing
  • Potential missed opportunities
  • Incomplete transaction analysis

Recommendation:

  • Implement graceful shutdown with request draining
  • Add checkpoint/resume capability
  • Separate context for rate limiter

Error Distribution

Error Type Count Percentage Severity
Profit below threshold 826 1.8% HIGH
Timeout errors 1,653 3.7% MEDIUM
Pool blacklisted 637 1.4% MEDIUM
Connection errors 99 0.2% LOW
Context canceled 98 0.2% LOW

Immediate Actions Required

1. Fix Profit Threshold Alignment (< 1 hour)

Config Change:

# config/arbitrum_production.yaml
arbitrage:
  min_profit_wei: 500000000000000  # Changed from 1000000000000000
  min_profit_threshold: 0.0005     # Changed from 0.001

Code Change:

// pkg/arbitrage/executor.go:125
minProfitThreshold, err := math.NewUniversalDecimal(big.NewInt(500000000000000), 18, "ETH")

Expected Impact: +15-25% opportunity execution (826 → 200+ more executions)

2. Implement Blacklist TTL (1-3 days)

Add new configuration:

arbitrage:
  pool_blacklist_ttl: "24h"
  pool_recovery_check_interval: "1h"
  pool_blacklist_max_size: 10000

Expected Impact: +5-10% pool coverage

3. Improve Shutdown Handling (1-3 days)

Add configuration:

arbitrage:
  graceful_shutdown_timeout: "60s"
  enable_checkpoint_resume: true
  drain_timeout: "30s"

Expected Impact: +2-3% block completeness

Monitoring Recommendations

Alert Thresholds

  • Error rate > 10% (currently 8.22%)
  • Blacklist size > 5,000 (currently 4,661)
  • Profit rejections > 1,000/session (currently 826)

Key Metrics to Track

  1. Opportunity conversion rate (detected → executed)
  2. Blacklist growth rate (entries/hour)
  3. Average opportunity profit
  4. RPC failover rate

Conclusion

Overall Assessment: 91.78% health - System is stable and functional

Critical Finding: Profit threshold misalignment is the primary issue, causing 826 missed opportunities per session.

Estimated Total Impact of All Fixes:

  • +20-35% overall opportunity execution
  • +5-10% pool coverage
  • +2-3% block completeness

Priority Actions:

  1. Immediate: Fix profit thresholds (config + code)
  2. 🔄 Short-term: Add blacklist TTL
  3. 🔄 Short-term: Improve shutdown handling
  4. 📊 Ongoing: Monitor conversion metrics