Transferência em Lote EVM (Sepolia e outras testnets)

Conecte a MetaMask ou qualquer carteira EIP-1193 numa testnet, cole endereços e valores, e envie tudo com uma assinatura por lote por meio de um contrato disperse mínimo e de código aberto.

As transações são assinadas na sua carteira. Esta página não tem servidor, não guarda chaves e não cobra taxa. Somente redes de teste. Mainnet: .

O que é uma transferência em lote EVM?

Uma transferência em lote EVM é uma única transação que chama um contrato disperse com arrays de destinatários e valores; o contrato repassa a moeda nativa a cada endereço, ou puxa tokens com transferFrom e os envia com transfer, tudo atomicamente. Uma assinatura substitui centenas, e o remetente paga gas uma só vez. Esta página é restrita a Sepolia e outras testnets por uma verificação de chain ID.

Passos

  1. Mude sua carteira para Sepolia (a página oferece um botão de troca) e garanta que você tem algum ETH de teste.
  2. Escolha a moeda nativa ou cole um contrato de token. A página lê o símbolo, os decimais e o seu saldo.
  3. Escolha o contrato de lote: o contrato disperse conhecido de Sepolia, um que você implantou antes, um endereço personalizado, ou implante um novo (cerca de 0,4M de gas).
  4. Cole os destinatários, confira o resumo e clique em Enviar. Acompanhe o log; cada lote tem link para o explorador de blocos.

Gas e limites

O remetente paga todo o gas. Um lote de 150 transferências nativas para endereços novos em Sepolia custa aproximadamente 4 a 5 milhões de gas em uma transação, muito mais barato em assinaturas e tempo do que 150 envios separados. Se a estimativa da carteira falhar, reduza os destinatários por transação.

Verificando o contrato

O código-fonte do BatchTransfer tem 50 linhas e compila com solc 0.8.28 (otimizador ligado, 200 runs). O JSON publicado contém a ABI e o bytecode de criação; você pode reproduzi-lo com as mesmas configurações de compilador ou verificar o contrato implantado no explorador com o arquivo-fonte.

Relacionados: valide a lista primeiro com o validador de endereços, converta quantidades de tokens com o conversor de decimais, inspecione o calldata com o decodificador ABI.

Perguntas frequentes

Qual contrato é usado?

Em Sepolia a página usa por padrão o conhecido contrato disperse em 0xD152f549545093347A162Dce210e7293f1452150, em uso desde 2018 e implantado no mesmo endereço em muitas redes. Em outras testnets, ou se você preferir o seu próprio, a página implanta o contrato BatchTransfer cujo código-fonte está linkado acima; o endereço fica salvo no seu navegador.

Por que preciso de uma aprovação para tokens?

O contrato puxa o total exato da sua carteira com transferFrom e o envia a cada destinatário na mesma transação. A aprovação é por esse valor exato, não ilimitada, e é consumida pelo lote.

Qual é o máximo por transação?

Cada transferência nativa custa aproximadamente 9.000 a 35.000 gas, dependendo de o destinatário ser novo ou não; transferências de token, cerca de 30.000 a 55.000. Com um limite de gas por bloco de 30M, 150 destinatários é um padrão seguro; suba para 300 se a rede permitir e reduza se uma transação falhar com out-of-gas.

Funciona com tokens no estilo USDT que não retornam bool?

Sim. O contrato BatchTransfer tolera tokens que não retornam nada e só reverte em um retorno false ou em um revert, então tokens legados funcionam.

Por que minha carteira na mainnet é rejeitada?

De propósito. Ethereum, BNB Smart Chain, Polygon, Base, Arbitrum, OP Mainnet e outras são bloqueadas na verificação de chain ID e o botão de implantação do contrato nunca é exibido. Para uso em mainnet, veja a nota de contato no fim da ferramenta.