All specs
EIP-191EIPShould KnowBlockchain2016

EIP-191: Signed Data Standard

Blockchain & Web3·Ethereum Improvement Proposals
WHY YOU NEED THIS

EIP-191 is the foundation under every off-chain Ethereum signature you've ever validated — personal_sign, EIP-712, SIWE, x402, EIP-3009, and EIP-2612 all sit on top of it. Knowing the version bytes is essential when verifying signatures server-side or debugging signature mismatches.

What It Defines

Defines the byte-prefix format for off-chain Ethereum signatures: 0x19 followed by a version byte and version-specific data. Version 0x45 ("E") is the personal_sign variant: "\x19Ethereum Signed Message:\n" + len(message) + message. Version 0x01 is the EIP-712 typed-data variant. The 0x19 prefix prevents signed off-chain messages from ever being valid as RLP-encoded transactions.

Canonical (Normative)

Convenient (Practical)

eip191signingpersonal-signethereumoff-chain
Standards Body
Ethereum Improvement Proposals

The Ethereum community's open process for proposing changes to the protocol. EIPs cover core protocol changes; ERCs (Ethereum Request for Comments) cover application-layer standards like token interfaces.

Visit

Related Specs

EIP-712EIPMust Know

EIP-712

EIP-712 is the standard for secure off-chain message signing used in permit() flows, meta-transactions, and Sign-In with Ethereum. Prevents blind signing attacks.

BlockchainBlockchain & Web3
Details
EIP-4361EIPMust Know

SIWE

SIWE is the Web3 equivalent of Sign-In with Google. Enables dApps to authenticate users via their Ethereum address without a password, using their wallet signature.

BlockchainBlockchain & Web3
Details
EIP-3009EIPShould Know

EIP-3009

EIP-3009 is the gasless transfer primitive USDC uses on Ethereum and Base. It's the on-chain mechanism behind the x402 "exact" scheme: the buyer signs an authorization, the seller (or facilitator) submits it on-chain to settle. If you're building anything that spends USDC on behalf of a user without them paying gas, this is the spec.

BlockchainBlockchain & Web3
Details
EIP-2612EIPShould Know

EIP-2612 Permit

EIP-2612 is how DEXes, lending protocols, and meta-tx relayers achieve gasless approvals. If you're integrating ERC-20s into any UX where the user shouldn't need ETH first, permit() is the canonical solution. DAI, USDC, and most modern stablecoins implement it.

BlockchainBlockchain & Web3
Details