Smart Accounts (Safe, Wallets nach ERC-4337, per EIP-7702 delegierte Konten) können für ihre eigene Adresse keine einfache ECDSA-Signatur erzeugen, also entscheidet der Contract: Ein Safe prüft, ob genügend Signaturen der Eigentümer vorliegen, eine Passkey-Wallet prüft eine P-256-Signatur, eine Session-Key-Wallet prüft ihre Richtlinie. Der magische Wert ist der Funktionsselektor bytes4(keccak256("isValidSignature(bytes32,bytes)")).
Verifizierer sollten ERC-1271 versuchen, wenn an der Adresse Code liegt, und ERC-6492, wenn dort noch keiner liegt: ERC-6492 umhüllt die Signatur mit dem Factory-Aufruf, der zum Bereitstellen des Kontos nötig ist, und endet mit dem magischen 32-Byte-Suffix 0x6492…6492. Bibliotheken wie verifyMessage von viem und SignatureChecker von OpenZeppelin decken alle drei Fälle ab. Ergebnisse können sich mit der Zeit ändern, weil sich Eigentümer und Richtlinien des Contracts ändern können.