The monitor currently mixes async DB and HTTP calls with blocking Web3 operations (for example: w3.eth.get_transaction_count, w3.eth.send_raw_transaction). Make Web3 interactions non-blocking by switching to an async Web3 provider or offloading blocking calls to a thread pool (e.g. asyncio.to_thread). Alternatively, extract the forwarding/signing logic into a separate background/worker task so the monitoring loop cannot be blocked by synchronous signing or network I/O.
The monitor currently mixes async DB and HTTP calls with blocking Web3 operations (for example:
w3.eth.get_transaction_count,w3.eth.send_raw_transaction). Make Web3 interactions non-blocking by switching to an async Web3 provider or offloading blocking calls to a thread pool (e.g.asyncio.to_thread). Alternatively, extract the forwarding/signing logic into a separate background/worker task so the monitoring loop cannot be blocked by synchronous signing or network I/O.