Escrito por Pablo Gómez
Founder & CEO de Metlabs · Revisado el 11 de octubre de 2026
ERC-3156 define dos interfaces complementarias para que cualquier contrato hable un mismo lenguaje de préstamos flash. El prestamista (lender) expone `maxFlashLoan` (máximo prestable), `flashFee` (comisión) y `flashLoan`, que entrega los fondos. El receptor (borrower) implementa el callback `onFlashLoan`, donde ejecuta su lógica y aprueba la devolución del principal más la comisión antes de que la transacción termine. Como confirmación anti-ataque, el receptor debe devolver el hash keccak256 de la cadena "ERC3156FlashBorrower.onFlashLoan". La comisión puede ser cero, lo que habilita el flash mint.
Normaliza una primitiva que antes cada protocolo implementaba a su manera. Con una interfaz común, un mismo contrato borrower puede operar contra cualquier prestamista conforme sin reescribir código, lo que aporta interoperabilidad real entre piezas de DeFi. Los casos de uso típicos son el arbitraje entre mercados, las liquidaciones, la refinanciación de posiciones y el intercambio de colateral o deuda en un solo paso.
La implementación de referencia es el repositorio de Alberto Cuesta Cañada, uno de sus autores. MakerDAO adoptó ERC-3156 en su módulo de flash mint de DAI, y OpenZeppelin incluye la extensión `ERC20FlashMint` basada en esta interfaz. Conviene matizar un malentendido frecuente: protocolos como Aave usan interfaces de flash loan propias que inspiraron el estándar pero no comparten su firma, así que no son implementaciones literales de ERC-3156.
Fuentes
También conocido como
- ERC3156
- Flash Loans





