Skip to content
ihategas.xyz

EIP-712 Hasher

Runs offline

Hash and inspect typed structured data before you sign it.

domain, types, primaryType, message
Signing digestwhat your wallet actually signs
0x63d22f9eb7f09c346f1e842bf2a43daff02ea419369bebc8195d07bd72cdb7b4
Domain separator
0x06c37168a7db5138defc7866392bb87a741f9b3d104deb5094588ce041cae335
Struct hash
0x4bf1d955c0199863547deb2f5172d302251611f72e601c2a18697bb23913a440
The digest is keccak256(0x1901 ‖ domainSeparator ‖ structHash). A hardware wallet showing you a hash rather than fields is showing you the digest — compare it to this before approving.

About eip-712 hasher

EIP-712 exists so a wallet can show you named fields instead of an opaque hash. The final signing digest is keccak256 of 0x1901, the domain separator, and the struct hash — three components, computed here separately so you can see which part differs when a hash does not match. If your hardware wallet shows only a digest, this is what to compare it against.

More developer tools