À propos du projet

FlashLoanArbitrage est un outil en ligne de commande JavaScript pour l'arbitrage DeFi utilisant des flash loans. Le README décrit deux parties : un smart contract qui exécute la séquence de transactions, et un script local, goflash.js, qui s'exécute sur l'ordinateur de l'utilisateur et déclenche le contrat lorsqu'une opportunité de prix est détectée. Fonctionnement selon l'auteur : le contrat contracte un flash loan libellé en USDC, achète de l'ETH à bas prix sur une plateforme et le revend plus cher sur une autre, rembourse le prêt plus les frais et le gaz, puis convertit le profit restant de USDC en ETH. Le script local interroge les prix ETH/USDC sur plusieurs plateformes et n'agit que lorsque la différence est de 0,9 % ou plus, un seuil choisi par l'auteur pour réduire le risque de transactions déficitaires. Fournisseurs de flash loans listés dans le README : Aave (frais de 0,05 %, jusqu'à 10 000 000 USDC), dYdX (0,05 %, jusqu'à 500 000 USDC), Uniswap V3 (0,01 %, jusqu'à 5 000 000 USDC) et Balancer (0,02 %, jusqu'à 1 000 000 USDC). Les prêts plus importants entraînent des frais plus élevés, le README déconseille donc les prêts excessifs pour un solde de portefeuille restreint. Les sources de prix analysées sont Chainlink comme référence d'oracle, Uniswap V2, SushiSwap, Curve Finance et Balancer. Exécution : télécharger goflash.js et package.json dans un dossier, exécuter npm install, puis node goflash.js. Au premier lancement, le script propose de créer un nouveau portefeuille ou d'en importer un existant via une clé privée (préfixée 0x, 64 caractères hexadécimaux). La clé privée générée est stockée dans wallet.json dans le même dossier, et le README avertit à plusieurs reprises de ne pas inclure ce fichier dans Git et de ne jamais partager la clé. Le menu interactif (construit avec inquirer) propose des options pour choisir le protocole DeFi, définir le montant du prêt en ETH, recréer ou importer un portefeuille, démarrer l'arbitrage et quitter ; chalk est utilisé pour la sortie console colorée et ethers pour l'accès à Ethereum. Le README précise que la surveillance affiche un tableau des prix ETH/USDC par plateforme avec des marqueurs de hausse/baisse/stabilité et l'écart maximum entre les plateformes, actualisé périodiquement (un cycle de scan de 60 secondes est mentionné). Il note également des mises en garde pratiques : un solde de portefeuille inférieur à 0,1 ETH est décrit comme insuffisant pour couvrir le gaz pour des prêts supérieurs à 10 ETH ; les coûts incluent les frais de flash loan, environ 0,1 % de frais de trading, environ 0,05 % de slippage et le gaz ; et les écarts de 0,9 % entre plateformes sont décrits comme rares sur les marchés réels, le script affichant occasionnellement une opportunité simulée pour démonstration. Une section de dépannage couvre les erreurs de format de module, le format de clé privée invalide, les fonds insuffisants pour le gaz, le solde nul du portefeuille et la reconnexion RPC, et note que l'absence d'une paire ETH/USDC sur V2 est normale. Les dépendances déclarées sont ethers ^6.11.1, inquirer ^8.2.6 et chalk ^4.1.2. Le projet est publié en l'état à des fins éducatives, l'utilisation étant aux risques de l'utilisateur. Les lecteurs l'évaluant doivent traiter la présentation des profits et le code du contrat avec prudence : le flux de travail nécessite la manipulation d'une clé privée pour un portefeuille financé, le contrat on-chain n'est pas décrit comme audité, et le README lui-même reconnaît que les opportunités réelles au seuil indiqué sont peu communes.