Escrito por Pablo Gómez
Founder & CEO de Metlabs · Revisado el 11 de octubre de 2026
ERC-165 resuelve el descubrimiento de capacidades entre contratos con una única función, supportsInterface(bytes4), que devuelve si el contrato implementa una interfaz concreta. El interface ID se calcula como el XOR de los selectores de función (los primeros 4 bytes del keccak256 de cada firma) de esa interfaz. El selector de supportsInterface es 0x01ffc9a7, que es además el interface ID del propio ERC-165. Un contrato conforme debe devolver true para 0x01ffc9a7, false para 0xffffffff y resolver la llamada en menos de 30.000 gas, lo que permite consultarlo de forma segura por STATICCALL.
Sin este mecanismo, un contrato no puede saber con certeza si otro implementa una interfaz antes de interactuar. Por eso es dependencia explícita de estándares de uso masivo como ERC-721 (NFT) y ERC-1155 (multi-token), que lo usan para anunciar su soporte, y de los estándares de activos regulados ERC-1400 y ERC-3643, que apoyan en él sus flujos de compliance y onboarding. A diferencia de las familias de security token, ERC-165 está en estatus Final y es uno de los estándares fundacionales del ecosistema.
Los autores del EIP incluyen a Christian Reitwiessner, Nick Johnson, Fabian Vogelsteller, Jordi Baylina, Konrad Feldmeier y William Entriken. La implementación canónica es la de OpenZeppelin Contracts (ERC165 / IERC165), usada por casi todo el ecosistema. Wallets y exploradores recurren a supportsInterface para distinguir, por ejemplo, si un contrato es una colección NFT (721) o un contrato multi-token (1155).
También conocido como
- ERC165
- Standard Interface Detection





