About this project

FlashLoanArbitrage is a Node.js command-line bot intended for DeFi arbitrage using flash loans. According to the README, a companion on-chain contract takes a flash loan in USDC, buys ETH on one venue and sells it on another, repays the loan plus fees and gas, converts the profit back to ETH, and returns the remainder to the operator. The local script goflash.js polls ETH/USDC prices and only starts a trade when the cross-venue spread is at least 0.9%. The README says prices are read from Chainlink as an oracle baseline plus Uniswap V2, SushiSwap, Curve Finance and Balancer, refreshed roughly every 60 seconds and printed with up/down/unchanged markers. Four flash-loan sources are described with stated fees and per-protocol loan ceilings: Aave (0.05%), dYdX (0.05%), Uniswap V3 (0.01%) and Balancer (0.02%). The README advises choosing dYdX or Uniswap V3 for lower fees and warns that wallets below 0.1 ETH should not take loans above 10 ETH because gas may not be covered. Setup is an npm install followed by node goflash.js. The interactive menu (built with inquirer, with chalk-colored output) offers DeFi protocol selection, loan amount in ETH, wallet creation, wallet import by private key, start arbitrage, and exit. On first run the tool either generates a wallet or imports one; the private key is written in plain text to wallet.json in the working directory, and the README repeatedly warns not to commit or share that file. The README lists dependencies ethers ^6.11.1, inquirer ^8.2.6 and chalk ^4.1.2, plus troubleshooting entries for module-format, private-key-format, insufficient-funds and RPC errors. It states the project is shared as-is for educational purposes and used at the reader's own risk, and notes that a 0.9% spread is rare in real markets and that the script occasionally shows a simulated opportunity for demonstration. Points worth weighing before running it: the advertised profitability is the author's own description rather than verified results; the described smart contract is not included in the project structure listed in the README (goflash.js, package.json, wallet.json, README.md); and the workflow expects users to place a private key in a plaintext file on their machine. Readers should treat those claims and the key-handling design as the main things to evaluate independently.