Files
proxmox/docs/archive/historical/NONCE_23_STUCK_TRANSACTION.md
defiQUG cb47cce074 Complete markdown files cleanup and organization
- Organized 252 files across project
- Root directory: 187 → 2 files (98.9% reduction)
- Moved configuration guides to docs/04-configuration/
- Moved troubleshooting guides to docs/09-troubleshooting/
- Moved quick start guides to docs/01-getting-started/
- Moved reports to reports/ directory
- Archived temporary files
- Generated comprehensive reports and documentation
- Created maintenance scripts and guides

All files organized according to established standards.
2026-01-06 01:46:25 -08:00

3.3 KiB

Nonce 23 Stuck Transaction - Resolution Guide

Date: $(date)
Status: ⚠️ NONCE 23 STUCK WITH EXTREMELY HIGH GAS PRICE


🔍 Root Cause Identified

Issue

  • Nonce 22: Was incomplete (now resolved)
  • Nonce 23: Stuck with extremely high gas price (>1,000,000 gwei)
  • Cannot replace even with maximum gas prices

Evidence

  • Current nonce: 23
  • Attempted replacement with: 1,000,000 gwei
  • Error: "Replacement transaction underpriced"
  • Transaction NOT found in mined blocks

📊 Current Status

  • Nonce: 23 (stuck)
  • Networks Configured: 6/7
    • BSC, Polygon, Avalanche, Base, Arbitrum, Optimism
    • Ethereum Mainnet (blocked by nonce 23)

💡 Solution Options

Option 1: Wait for Transaction Expiration (If Configured)

Some Besu configurations have transaction pool retention periods:

  • Check Besu config for tx-pool-retention-hours
  • Wait for retention period to expire
  • Transaction will be automatically removed

Check retention period:

# On ML110
pct exec 2500 -- grep -i "retention" /etc/besu/config-rpc.toml

Advantages:

  • Completely bypasses stuck nonce
  • Fast and reliable
  • No node restarts needed

Steps:

  1. Create new account (already created: 0xC13EfAe66708C7541d2D66A2527bcBF9992e7186)
  2. Fund with ETH
  3. Use for Ethereum Mainnet configuration

Option 3: Clear Transaction Pool Database

WARNING: Requires stopping nodes

# On ML110
# Stop RPC node
pct exec 2500 -- systemctl stop besu-rpc

# Clear transaction pool (if accessible)
# Location may vary by Besu version
pct exec 2500 -- find /data/besu -name "*pool*" -type d

# Restart
pct exec 2500 -- systemctl start besu-rpc

Option 4: Wait for Transaction to Mine

If the transaction eventually gets mined (even if it fails), the nonce will advance:

  • Monitor nonce: cast nonce <address> --rpc-url <rpc>
  • Once nonce advances, retry configuration

Use Option 2 (Different Account) - Fastest and most reliable:

  1. Fund new account with ETH:

    cast send 0xC13EfAe66708C7541d2D66A2527bcBF9992e7186 \
      --value 10ether \
      --rpc-url http://192.168.11.250:8545 \
      --private-key <ORIGINAL_PRIVATE_KEY> \
      --gas-price 10000000000
    
  2. Configure Ethereum Mainnet with new account:

    cast send 0x89dd12025bfCD38A168455A44B400e913ED33BE2 \
      "addDestination(uint64,address)" \
      5009297550715157269 \
      0x8078a09637e47fa5ed34f626046ea2094a5cde5e \
      --rpc-url http://192.168.11.250:8545 \
      --private-key <NEW_ACCOUNT_PRIVATE_KEY> \
      --gas-price 10000000000
    

📋 Investigation Summary

Completed

  • Nonce 22 identified and resolved
  • Nonce 23 identified as stuck
  • Attempted replacement with 1,000,000 gwei (failed)
  • Validator logs checked (7 pending transactions)
  • Transaction history checked (not mined)
  • Besu caches cleared
  • New account created

Findings

  • Transaction with nonce 23 has gas price >1,000,000 gwei
  • Transaction is in validator mempools (not just RPC)
  • Transaction persists after cache clearing
  • Cannot be replaced with standard methods

Last Updated: $(date)
Status: AWAITING SOLUTION IMPLEMENTATION