EIP-712 (Typed Structured Data Signing)
An Ethereum standard for signing structured, human-readable data rather than an opaque hash, letting wallets display exactly what a user is approving.
EIP-712 is an Ethereum standard defining how to sign structured data in a way that preserves its readable, organized format, rather than reducing the data to an opaque hash of raw bytes before signing. This lets a wallet display the actual meaningful fields being signed — such as "spender," "amount," and "deadline" in a token approval (see Kaavon's "Token Approval" glossary definition) — in a clear, labeled format, instead of showing the user an unreadable string of hexadecimal data and asking them to trust that it means what the requesting application claims.
Before EIP-712, users signing data off-chain for use in a smart contract had little practical way to verify what they were actually agreeing to, since wallets could only show the raw hash being signed, creating a meaningful phishing risk where a malicious site could ask for a signature over data the user couldn't meaningfully review. EIP-712 signatures are now the standard underlying mechanism for several widely used gasless approval and meta-transaction patterns, including EIP-2612 permits (see Kaavon's "EIP-2612 (Permit)" glossary definition).
Examples
- A wallet supporting EIP-712 can show a user a clearly labeled breakdown of exactly what token, amount, and spender they're approving, rather than an unreadable raw data hash.
- EIP-712's readable signing format directly addresses a phishing risk that existed when wallets could only display an opaque hash for off-chain signature requests.