Sobre o projeto
O FlashLoanArbitrage é um pequeno projeto Node.js para negociação DeFi no Ethereum com flash loans. A listagem do repositório o descreve como um gerenciador de portfólio DeFi, mas o README documenta um bot de arbitragem de flash-loan composto por um script local (goflash.js) e um smart contract complementar.
Como funciona
O script compara os preços de ETH/USDC em cinco fontes: um oráculo Chainlink usado como preço base, Uniswap V2, SushiSwap, Curve Finance e Balancer. Ele aguarda uma diferença de preço de pelo menos 0,9% entre as plataformas antes de agir; abaixo desse limite, ele continua monitorando para evitar negociações com prejuízo. Quando o spread é suficientemente grande, o fluxo descrito no README é: converter o ETH do usuário para USDC antecipadamente, fazer com que o contrato tome um flash loan em USDC, comprar ETH na plataforma mais barata, vendê-lo na mais cara, pagar o empréstimo mais a taxa de flash-loan e o gas, e então converter o lucro restante de USDC de volta para ETH. O README afirma que o saldo da carteira é usado apenas para gas e que o ETH não é transferido para o contrato.
Provedores de flash-loan e limites
Quatro protocolos são listados como fontes de flash-loan, cada um com uma taxa anunciada e tamanho máximo de empréstimo em USDC: Aave (0,05%, até 10.000.000), dYdX (0,05%, até 500.000), Uniswap V3 (0,01%, até 5.000.000) e Balancer (0,02%, até 1.000.000). O README observa que empréstimos maiores significam taxas maiores e recomenda dYdX ou Uniswap V3 para taxas menores.
Configuração e uso
As instruções são para uma máquina local: obter goflash.js e package.json, colocá-los em qualquer pasta, executar npm install e depois node goflash.js. No primeiro lançamento, o script oferece a criação de uma nova carteira (o endereço e a chave privada são exibidos e a chave é salva em wallet.json na mesma pasta) ou a importação de uma carteira existente a partir de uma chave privada com prefixo 0x. Depois disso, aparece um menu interativo no terminal, mostrando o saldo e o endereço da carteira, com opções para escolher o protocolo DeFi, definir o valor do empréstimo em ETH, recriar a carteira, importar outra carteira por chave privada, iniciar a arbitragem e sair. O modo de arbitragem é documentado como realizando a varredura de preços em todas as plataformas aproximadamente a cada 60 segundos, imprimindo uma tabela de preços em tempo real com indicadores de subida/descida/estável, além do spread máximo observado.
Alertas e notas de comportamento
O README alerta repetidamente sobre a higiene da chave privada: nunca compartilhar o wallet.json ou a chave, adicioná-lo ao .gitignore, manter backups offline e usar uma carteira dedicada. Também adverte que um saldo de carteira abaixo de 0,1 ETH não é suficiente para processar empréstimos acima de 10 ETH devido ao gas, e lista os custos levados em conta (taxas de negociação 0,1%, slippage 0,05%, gas, taxa de flash-loan). Uma seção de solução de problemas cobre erros de formato de módulo, formato de chave privada inválido, fundos insuficientes, indisponibilidade de RPC e pares V2 ausentes. Afirma explicitamente que lacunas de preço de 0,9% são raras em mercados reais, que uma oportunidade simulada é mostrada ocasionalmente para demonstração e que o projeto é compartilhado no estado em que se encontra para fins educacionais e usado por conta e risco do proprietário.
Detalhes técnicos
O projeto é uma aplicação JavaScript/Node.js com três dependências: ethers (^6.11.1) para interação com Ethereum, inquirer (^8.2.6) para a CLI interativa e chalk (^4.1.2) para saída de console colorida. O layout de arquivos documentado consiste apenas em goflash.js, package.json, o wallet.json gerado automaticamente e o README. Não são fornecidos termos de licença além da declaração de uso educacional e risco do usuário, e não há testes, scripts de implantação ou resultados de desempenho públicos descritos.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.