blockchain//wallet//signing

Signing is the cryptographic operation by which a wallet approves an action with its private key, and it is how a user authorizes what a DApp asks for. Metamask receives signing requests from DApps, shows them to the user and signs with the local private key. Every wallet signature is an ECDSA signature: the private key produces it, and anyone holding the public key can verify it.


Signing is the cryptographic operation by which a wallet approves an action with its private key, and it is how a user authorizes what a DApp asks for. Metamask receives signing requests from DApps, shows them to the user and signs with the local private key. Every wallet signature is an ECDSA signature: the private key produces it, and anyone holding the public key can verify it.

personal_sign signs arbitrary data for off-chain authentication, and no transaction is created.

eth_sendTransaction has Metamask sign the transaction and send it to the RPC node, which is the standard DApp flow.

In the Admin Faucet pattern the backend signs with a server-side key (from .env), which solves the chicken-and-egg funding problem.

EIP-712 structured data signing includes the contract address in the domain hash, which prevents cross-contract replay.