Verfasst von Pablo Gómez
Founder & CEO von Metlabs · Geprüft am 11. Oktober 2026
ERC-165 löst die Erkennung von Fähigkeiten zwischen Contracts mit einer einzigen Funktion, supportsInterface(bytes4), die zurückgibt, ob der Contract eine bestimmte Schnittstelle implementiert. Die Interface-ID wird als XOR der Funktionsselektoren (die ersten 4 Bytes des keccak256 jeder Signatur) dieser Schnittstelle berechnet. Der Selektor von supportsInterface ist 0x01ffc9a7, zugleich die Interface-ID von ERC-165 selbst. Ein konformer Contract muss für 0x01ffc9a7 true und für 0xffffffff false zurückgeben und den Aufruf mit weniger als 30.000 Gas abwickeln, sodass er sicher per STATICCALL abgefragt werden kann.
Ohne diesen Mechanismus kann ein Contract vor einer Interaktion nicht sicher wissen, ob ein anderer eine Schnittstelle implementiert. Deshalb ist er eine explizite Abhängigkeit weit verbreiteter Standards wie ERC-721 (NFT) und ERC-1155 (Multi-Token), die ihre Unterstützung darüber bekannt geben, sowie der Standards für regulierte Vermögenswerte ERC-1400 und ERC-3643, deren Compliance- und Onboarding-Abläufe darauf aufbauen. Anders als die Security-Token-Familien hat ERC-165 den Status Final und zählt zu den grundlegenden Standards des Ökosystems.
Zu den Autoren des EIP gehören Christian Reitwiessner, Nick Johnson, Fabian Vogelsteller, Jordi Baylina, Konrad Feldmeier und William Entriken. Die kanonische Implementierung stammt aus OpenZeppelin Contracts (ERC165 / IERC165) und wird von nahezu dem gesamten Ökosystem genutzt. Wallets und Explorer greifen auf supportsInterface zurück, um etwa zu unterscheiden, ob ein Contract eine NFT-Sammlung (721) oder ein Multi-Token-Contract (1155) ist.
Auch bekannt als
- ERC165
- Standard Interface Detection





