Sobre el proyecto
FlashLoanArbitrage es un bot de trading DeFi automatizado construido con Node.js que realiza arbitraje con flash loans en Ethereum. El proyecto consiste en un script de control en JavaScript (goflash.js) y un contrato inteligente asociado.
Cómo funciona
El bot supervisa los precios de ETH/USDC en cinco plataformas: Chainlink (referencia del oráculo), Uniswap V2, SushiSwap, Curve Finance y Balancer. Cuando la diferencia de precios entre cualquier par de mercados alcanza el 0,9 % o más, el script desencadena un flash loan a través de uno de los cuatro protocolos compatibles: Aave, dYdX, Uniswap V3 o Balancer. El contrato inteligente toma prestado USDC, ejecuta el comercio cross-venue (comprando ETH barato y vendiéndolo caro), reembolsa el préstamo más las comisiones y devuelve cualquier beneficio neto a la billetera del usuario.
Protocolos compatibles de flash loan
- Aave: hasta 10.000.000 USDC, comisión 0,05 %
- dYdX: hasta 500.000 USDC, comisión 0,05 %
- Uniswap V3: hasta 5.000.000 USDC, comisión 0,01 %
- Balancer: hasta 1.000.000 USDC, comisión 0,02 %
Configuración y uso
Para ejecutar el bot, clona el repositorio e instala las dependencias con `npm install`. En el primer inicio, el script genera o importa una billetera Ethereum, guardando la clave privada en `wallet.json`. El menú interactivo por línea de comandos permite seleccionar el protocolo de flash loan, el monto del préstamo y el inicio/detención del monitoreo de arbitraje. Se requiere un saldo de billetera de al menos 0,1 ETH para préstamos superiores a 10 ETH, para cubrir los costos de gas.
Comportamientos clave
- Los datos de precios se actualizan aproximadamente cada 60 segundos.
- El umbral mínimo para desencadenar un comercio es un diferencial de precios del 0,9 %.
- Las comisiones de trading (0,1 %), el deslizamiento (0,05 %) y el gas se tienen en cuenta en los cálculos de beneficio.
- El ETH del usuario no se transfiere al contrato; permanece en la billetera y solo se usa para gas.
- Incluye manejo básico de errores para fallos de RPC, claves privadas no válidas y pares de trading faltantes.
Dependencias
- ethers ^6.11.1
- inquirer ^8.2.6
- chalk ^4.1.2
Notas de seguridad
El proyecto almacena una clave privada en `wallet.json`; se recomienda a los usuarios añadirla a `.gitignore` y conservar copias de seguridad fuera de línea. El README indica que el proyecto se comparte tal cual con fines educativos y pide a los usuarios proceder bajo su propio riesgo.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.