Last Updated: 2025-01-15
Command: npm run start:rbf
Status: PRIMARY - Use this for all production runs
Architecture: Block-event driven, shotgun RBF, no time prediction
- Superior Architecture: Block-event driven detection (no time prediction needed)
- Simpler Code: Modular design, easier to maintain and debug
- Better Success Rate: 50-60% in extreme competition (vs <5% for Original bot)
- No Time Dependencies: Doesn't require
EXPECTED_UNLOCK_TIMEconfiguration - Receipt-Based Nonce: Prevents nonce conflicts and stale transaction issues
- Shotgun RBF: 20 pulses per 2-second block
- Gas Escalation: 200x base (5,000 Gwei) → 1,223x (30,580 Gwei)
- Compound Bumps: 5% increase per pulse
- Parallel Detection: Multiple WebSocket subscriptions for fast detection
- 80 Broadcast Attempts: 20 pulses × 4 RPCs per nonce
# Production run
npm run start:rbf
# Dry-run test
npm run start:rbf:dryCommand: npm start
Status: DEPRECATED - Historical reference only
Reason: Failed in all recent production runs (2025-11-13, 2025-11-14 (3x), 2025-11-15)
- Production Failures: Failed in ALL recent production runs
- Complex Timing Logic: Requires accurate
EXPECTED_UNLOCK_TIMEconfiguration - Time-Based Spam Disabled: Feature was disabled in config due to issues
- View-Based Detection Issues: Slow polling missed window openings
- Nonce Management Problems: Stale nonces caused broadcast failures
- Battering Ram Mode: 50.0x gas from start
- Time-based spam: 40 tx/sec (DISABLED)
- Dual-branch strategy: Primary RBF + shadow branch
- Pre-warming: 5 minutes early with max gas
- All production minting:
npm run start:rbf - Testing/development:
npm run start:rbf:dry - New deployments: Always use RBF bot
- Extreme competition: RBF bot has better success rate
- Production runs: Original bot has failed repeatedly
- New setups: Use RBF bot instead
- Time-sensitive windows: Original bot's timing logic is unreliable
- Historical reference: Understanding past architecture
- Code analysis: Learning from previous implementation
- Comparison: Understanding differences between approaches
If you're currently using the Original bot, migrate to RBF bot:
-
Update Configuration:
# Remove (not used in RBF bot) # EXPECTED_UNLOCK_TIME=... # TIME_BASED_SPAM=false # Add RBF-specific config BASE_MULTIPLIER=200.0 RBF_BASE_GAS_MULTIPLIER=200.0 RBF_COMPOUND_BUMP=1.05 RBF_MAX_GAS_MULTIPLIER=1223.0 RBF_PULSES_PER_BLOCK=20 RBF_PULSE_INTERVAL_MS=100 MAX_PRIORITY_FEE_GWEI=30580
-
Update Commands:
# Old (Original bot) npm start npm start -- --dry-run # New (RBF bot) npm run start:rbf npm run start:rbf:dry
-
Test First:
# Always test with dry-run first npm run start:rbf:dry
| Feature | RBF Bot | Original Bot |
|---|---|---|
| Status | ✅ PRIMARY | ❌ DEPRECATED |
| Command | npm run start:rbf |
npm start |
| Architecture | Block-event driven | Time-based prediction |
| Gas Strategy | 200x → 1,223x (shotgun) | 50.0x fixed |
| Time Config | Not needed | Requires EXPECTED_UNLOCK_TIME |
| Success Rate | 50-60% | <5% (recent runs) |
| Nonce Management | Receipt-based | Immediate refresh |
| Detection | Parallel WebSocket | View polling |
| Production Ready | ✅ Yes | ❌ No (failed repeatedly) |
- RBF Bot Quickstart - Complete quick start guide
- Architecture Overview - System design details
- Execution Flow - How each bot works
- Configuration Guide - Complete config reference
Last Updated: 2025-01-15
Decision Date: 2025-01-15 (after Original bot failures on 2025-11-13, 2025-11-14, 2025-11-15)