About this project
FlashLoanArbitrage is a Node.js command-line project, published under the repository name flashloan-profit-calculator, that its README describes as a bot for arbitrage on DeFi using flash loans. Two parts are presented: an on-chain smart contract and a local script, goflash.js, that the user runs with node on their own computer.
Intended flow, as described in the README:
- The contract takes a flash loan denominated in USDC.
- The user's ETH is converted to USDC before the trade.
- ETH is bought on the cheaper of several venues and sold on the more expensive one.
- The loan, fees and gas are repaid, and the remaining USDC is converted back to ETH as profit.
Price monitoring and thresholds: the script is said to scan ETH/USDC prices every 60 seconds, using Chainlink as a base oracle alongside Uniswap V2, SushiSwap, Curve Finance and Balancer, and to act only when the price difference is 0.9% or more. Four flash-loan providers are listed with the fee and size figures given in the README: Aave (0.05%), dYdX (0.05%), Uniswap V3 (0.01%) and Balancer (0.02%).
Setup and interface: download goflash.js and package.json, run npm install, then node goflash.js. The declared dependencies are ethers ^6.11.1, inquirer ^8.2.6 and chalk ^4.1.2. On first launch an interactive prompt offers to create a new wallet or import an existing one by private key; the key is written in plain text to wallet.json in the same folder. The main menu then allows selecting a protocol, setting a loan amount in ETH, recreating or importing a wallet, starting arbitrage, or exiting. The README advises keeping the wallet funded for gas, and notes that trading fees (0.1%), slippage (0.05%) and gas are deducted from results.
Points a reader should weigh before trying it:
- The README's own troubleshooting section states that 0.9% spreads are rare in real markets and that the script occasionally shows a simulated opportunity for demonstration. Displayed output therefore is not evidence of executable profit, and the README's profitability framing should be treated as an unverified claim.
- The project structure section lists only goflash.js, package.json, wallet.json and README.md. The smart contract source is not described as included, so the on-chain side cannot be reviewed from that layout.
- Private keys are stored unencrypted on disk in wallet.json. The README itself recommends .gitignore, offline backups and a dedicated wallet, which is reasonable, but the design means the key is readable by anything with access to the folder.
- No licence terms beyond a sentence stating the project is shared as-is for educational purposes, no test suite, and no configuration file are described.
The interactive, terminal-driven workflow and dependency set are concrete and easy to inspect; the trading strategy, fee figures and profit expectations come from the README and are not independently verifiable from the repository description alone. Anyone experimenting should use a throwaway wallet holding only gas funds, keep wallet.json out of version control, and start with amounts they are prepared to lose.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.