Sobre o projeto
FlashLoanArbitrage — visão geral
O README descreve um bot de linha de comando em Node.js para arbitragem DeFi financiada por flash loans. Note que o nome do repositório e a descrição ("Monitors smart contract activity for opportunities") não coincidem com o conteúdo do README, que documenta um bot chamado FlashLoanArbitrage; os arquivos do projeto documentados são goflash.js, package.json, wallet.json e o próprio README.
Como funciona
O bot é descrito em duas partes: um contrato inteligente on-chain e o script local goflash.js. O script consulta preços de ETH/USDC de cinco fontes — Chainlink como oráculo de referência, Uniswap V2, SushiSwap, Curve Finance e Balancer — e aguarda que a diferença máxima de preço seja de pelo menos 0,9% antes de agir. Quando o limite é atingido, ele chama o contrato, que toma um flash loan em USDC, compra ETH na plataforma mais barata, vende na mais cara, paga o empréstimo mais taxas e gas, converte o lucro restante de volta para ETH e retorna o lucro líquido para a carteira do usuário. A varredura se repete a cada 60 segundos e o console imprime os preços com indicadores de subida/descida/estabilidade.
As fontes de flash-loan listadas no README são Aave (taxa de 0,05%, até 10.000.000 USDC), dYdX (0,05%, até 500.000), Uniswap V3 (0,01%, até 5.000.000) e Balancer (0,02%, até 1.000.000). O README recomenda dYdX ou Uniswap V3 por possuírem taxas menores e observa que empréstimos maiores acarretam taxas maiores.
Configuração e operação
A instalação é feita via npm install em uma pasta contendo goflash.js e package.json, seguida por node goflash.js. Na primeira execução, um prompt interativo (construído com inquirer) oferece a criação de uma nova carteira ou a importação de uma existente via chave privada; a chave é gravada no arquivo wallet.json na mesma pasta. O menu principal permite escolher o protocolo DeFi, definir o valor do empréstimo em ETH (de 10 até o máximo do protocolo), recriar ou reimportar a carteira, iniciar a arbitragem ou sair. As dependências listadas são ethers ^6.11.1, inquirer ^8.2.6 e chalk ^4.1.2. O README afirma que um saldo de carteira inferior a 0,1 ETH impede a seleção de empréstimos acima de 10 ETH, pois este valor é usado para gas, e que o modelo de taxas documentado inclui taxas de flash-loan, taxas de negociação de 0,1%, slippage de 0,05% e gas.
Pontos a considerar antes de usar
- O próprio README afirma que um spread de 0,9% é raro em mercados reais, portanto o bot pode não encontrar oportunidades, e que ele "mostra ocasionalmente uma oportunidade simulada para demonstração".
- A chave privada é armazenada em texto simples no wallet.json; o README aconselha adicionar esse arquivo ao .gitignore, manter backups offline, usar uma carteira dedicada e nunca compartilhar a chave.
- Nenhum arquivo de código-fonte do contrato aparece na estrutura do projeto mostrada no README, portanto o componente on-chain não está documentado nos arquivos listados.
- O projeto é publicado "como está para fins educacionais. Use por sua conta e risco".
Notas de solução de problemas no README cobrem erros de formato de módulo, formato de chave privada inválido, fundos insuficientes para gas, saldo de carteira zero, reconexão de RPC e ausência de pares ETH/USDC em plataformas do tipo V2.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.