EIP-712 Typed Data Signing
Abbreviation: EIP-712
Pronunciation: EE-EYE-PEE seven-hundred-twelve
Also known as: EIP-712
Definition
EIP-712 typed-data signing is an Ethereum signing method that structures a message into named, typed fields so wallets can display more meaningful authorization details than a raw unreadable string.
Overview
What it means and why it exists
EIP-712 typed-data signing is an Ethereum signing method that structures a message into named, typed fields so wallets can display more meaningful authorization details than a raw unreadable string.
How it works
An application defines a domain, such as contract and chain, and a typed message schema. A wallet hashes the structured data according to EIP-712, signs it, and returns a signature that a contract or backend can verify. Applications use it for orders, permits and other off-chain authorizations that may later be submitted on chain.
Technical details worth understanding
The domain separator and exact field definitions are central to preventing signatures from being interpreted in the wrong context. EIP-712 alone does not guarantee one-time use or expiration; developers must include and enforce nonces, deadlines and appropriate authorization logic where needed. A displayed signature request should make the spender, asset, amount and action clear.
What can go wrong
Human-readable fields can still describe a malicious permission. Signing a typed message may authorize spending or a marketplace order without immediately sending an on-chain transaction. A user should not conclude 'no gas fee' means 'no financial risk'.
Practical checks
Inspect domain chainId and verifyingContract, then verify the operation type, token, spender, amount, nonce and deadline. A typed-data request can authorize future action even when the signer pays no gas now. Front ends should not hide critical fields under a generic 'Continue' button, especially for permits.
Related concepts
Crypto Wallet, Private Key, Non-Custodial Wallet.
Further reading
Example
A payment application asks a customer to sign a permit allowing a contract to spend up to 40 tokens before a deadline. The signature costs no on-chain gas at signing time, but another party may submit it under the defined contract rules.
Comparison
Typed-data signing authorizes a structured message; transaction signing directly authorizes a blockchain transaction. Both rely on private-key control but have different immediate effects and replay safeguards.
Key Takeaway
The domain separator and exact field definitions are central to preventing signatures from being interpreted in the wrong context.
Sources
- Ethereum Improvement Proposal EIP-712 — Ethereum Foundation (2026-07-30)
- Ethereum Foundation Documentation: Accounts — Ethereum Foundation (2026-07-30)
- Ethereum Documentation: Smart Contracts — Ethereum Foundation (2026-07-30)