Escrito por Pablo Gómez
Founder & CEO da Metlabs · Revisado em 11 de outubro de 2026
O ERC-3156 define duas interfaces complementares para que qualquer contrato fale uma mesma linguagem de empréstimos flash (flash loans). O credor (lender) expõe `maxFlashLoan` (máximo emprestável), `flashFee` (taxa) e `flashLoan`, que entrega os fundos. O receptor (borrower) implementa o callback `onFlashLoan`, onde executa sua lógica e aprova a devolução do principal mais a taxa antes que a transação termine. Como confirmação contra ataques, o receptor deve retornar o hash keccak256 da string "ERC3156FlashBorrower.onFlashLoan". A taxa pode ser zero, o que habilita o flash mint.
Normaliza uma primitiva que antes cada protocolo implementava à sua maneira. Com uma interface comum, um mesmo contrato borrower pode operar com qualquer credor compatível com o padrão sem reescrever código, o que traz interoperabilidade real entre peças de DeFi. Os casos de uso típicos são a arbitragem entre mercados, as liquidações, o refinanciamento de posições e a troca de colateral ou dívida em um único passo.
A implementação de referência é o repositório de Alberto Cuesta Cañada, um de seus autores. A MakerDAO adotou o ERC-3156 em seu módulo de flash mint de DAI, e a OpenZeppelin inclui a extensão `ERC20FlashMint` baseada nesta interface. Vale esclarecer um mal-entendido frequente: protocolos como Aave usam interfaces de flash loan próprias que inspiraram o padrão, mas não compartilham sua assinatura, portanto não são implementações literais do ERC-3156.
Fontes
Também conhecido como
- ERC3156
- Flash Loans





