À 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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.