Technical reference
EIP-712 domains: what stops a signature travelling to another application?
Readable fields help, but the signed domain and replay controls still matter.
Research articles and reference entries are published in English. Navigation is available in seven languages.
In this article
The domain is part of the signed data
EIP-712 separates typed-message structure from domain information such as application name, version, chain ID and verifying contract. The signature commits to the encoded message and domain. A familiar application name alone is weak evidence: a malicious application can ask the wallet to display that name too.
Replay protection is another requirement
The standard does not itself provide replay protection. The application needs to reject already-used or expired authorisations where repeated execution would be unsafe. A nonce in the interface is only useful when verification checks and consumes the intended nonce.
Read these fields together
Compare the chain ID and verifying contract with the application you intended to use. Then inspect the spender, recipient, value, deadline and nonce in the actual message, where those fields exist. A harmless-looking title cannot reduce the authority of the signed contents. For a reproduced finding, retain the complete typed-data payload rather than just the wallet's shortened preview.