A Node.js bot that scans Uniswap V3 and Camelot V3 on Arbitrum for WETH/USDC arbitrage opportunities. Features live Discord notifications and on-chain liquidity checks.
- Multi-DEX Scanning: Queries Uniswap V3 and Camelot V3.
- On-Chain Price Quotes: Uses Ethers v6
staticCallto simulate swaps without gas fees. - Liquidity Guard: Checks pool reserves to filter out "ghost pools" and fake spreads.
- Discord Alerts: Sends startup notifications and real-time arbitrage alerts.
- Secure Configuration: Uses
.envfor API keys and RPC URLs.
- Runtime: Node.js (v20+)
- Blockchain: Arbitrum One (Chain ID: 42161)
- Library: Ethers.js v6
- APIs: Alchemy (RPC), Discord Webhooks
- Clone the repo:
git clone git@github.com:superwavvy/Arbitrage-bot.git - Install dependencies:
npm install - Create a
.envfile:ARBITRUM_WSS=your_alchemy_wss_url DISCORD_WEBHOOK_URL=your_discord_webhook_url
- Price Impact Estimation: The bot estimates slippage by comparing a 0.1 WETH quote against a 2 WETH quote on Uniswap V3. If the larger trade hits the edge of concentrated liquidity (a limitation of V3's tick system), the impact is reported as
UNKNOWNrather than a misleading number. - Execution: This bot only detects arbitrage opportunities. It does not execute trades.
- Latency: Event-driven listener on Uniswap V3 and Camelot V3 swap events.. Real-time opportunities are captured by HFT bots in milliseconds, so this tool is a monitoring tool, not a competitive execution bot.
- Fail-Safe by Design: Network failures produce
UNKNOWNstates instead of false zeros, so the bot never reports a safe spread on a failed scan.