À propos du projet

FlashLoanArbitrage est un bot d'arbitrage de finance décentralisée (DeFi) développé avec Node.js. Il surveille les prix ETH/USDC sur cinq plateformes : Chainlink (oracle), Uniswap V2, SushiSwap, Curve Finance et Balancer, et exécute automatiquement des opérations d'arbitrage par flash loan lorsque l'écart de prix atteint au moins 0,9 %. ## Fonctionnement Le bot fonctionne en deux parties : 1. **Smart Contract** : Il contracte un flash loan en USDC auprès d'un protocole sélectionné, convertit l'ETH de l'utilisateur en USDC, achète de l'ETH à un prix plus bas sur une plateforme d'échange, le vend à un prix plus élevé sur une autre, rembourse le prêt plus les frais et le gaz, et renvoie le profit en ETH. 2. **Script CLI (`goflash.js`)** : Il interroge les prix toutes les 60 secondes, affiche les valeurs en temps réel avec des indicateurs de variation et déclenche le smart contract lorsqu'un écart profitable est détecté. ## Protocoles de flash loan pris en charge - **Aave** : jusqu'à 10 000 000 USDC, frais de 0,05 % - **dYdX** : jusqu'à 500 000 USDC, frais de 0,05 % - **Uniswap V3** : jusqu'à 5 000 000 USDC, frais de 0,01 % - **Balancer** : jusqu'à 1 000 000 USDC, frais de 0,02 % ## Installation et utilisation 1. Clonez le dépôt et copiez `goflash.js` et `package.json` dans un dossier. 2. Installez les dépendances : `npm install` 3. Exécutez : `node goflash.js` 4. Au premier lancement, créez un nouveau portefeuille ou importez un portefeuille existant via clé privée. La clé est enregistrée dans `wallet.json`. 5. Utilisez le menu CLI interactif pour sélectionner un protocole de flash loan, définir le montant du prêt (10 ETH minimum) et lancer la surveillance d'arbitrage. ## Fonctionnalités clés - Menu interactif propulsé par Inquirer - Affichage des prix en temps réel avec des indicateurs de hausse, de baisse et de stabilité - Gestion de portefeuille (création, importation, recréation) - Garanties sur les frais de gaz : les prêts supérieurs à 10 ETH nécessitent un solde de portefeuille d'au moins 0,1 ETH - Reconnexion automatique au RPC en cas d'échec - Comptabilisation des profits après déduction des frais de flash loan, des frais de trading (0,1 %), du slippage (0,05 %) et du gaz ## Notes de sécurité - Ne commitez jamais `wallet.json` dans le contrôle de version ; ajoutez-le à `.gitignore` - Conservez les sauvegardes de clé privée hors ligne - Utilisez un portefeuille dédié pour les opérations du bot - Commencez avec de petits montants pour tester ## Dépendances - ethers ^6.11.1 - inquirer ^8.2.6 - chalk ^4.1.2 ## Licence Distribué en l'état à des fins éducatives. Utilisation à vos propres risques.