4.4 Troubleshooting & Performance Tips
4.4.1 “No opportunities found”
Possible causes:
Market is quiet.
Let it run longer; watch different pairs/times of day.
min_profit_thresholdtoo high.Try
0.1or even0.05to see more.
One or more DEX APIs are failing.
Check logs / console for HTTP errors.
4.4.2 “Connection error”, HTTP 4xx/5xx, timeouts
Your network/RPC is flaky or DEX APIs are rate-limiting.
Add basic retry/backoff logic if needed.
Increase
sleepinterval a bit if you’re hitting rate limits.
4.4.3 High CPU / RAM usage
You set the polling interval too low with many venues.
Reduce number of DEXs.
Increase
sleepto 2–3 seconds.Don’t run 5 instances on a Raspberry Pi and expect miracles.
4.4.4 Output looks insane (huge spreads, nonsense prices)
This usually means bad or partial data from one DEX.
Add sanity checks:
Drop quotes with obviously broken prices (0, negative, >10x median).
Log raw response for the suspicious venue and fix the parser.
4.4.5 Sanity-checking before you trust it
Pick a few opportunities from the terminal.
Manually query the same routes via Jupiter UI/API and individual DEX UIs.
If the engine is consistently showing spreads that don’t exist in reality:
Adjust normalization/decimals.
Tighten filters.
Fix any bug in the fetch/parse layer.
If you can’t get the engine to run cleanly after this, the problem is either your Python setup or your network. In both cases, fix your stack before touching arbitrage.
Last updated

