Wallets
Client-Side Signing
Client-side signing means a transaction or message is signed on the user's device instead of on a remote server.
Last Updated
2026-03-29
Related Concepts
What is Client-Side Signing?
Client-side signing is a security practice where a blockchain transaction is signed on the user's local device rather than on a remote server. It ensures that private keys never leave the user's control.
How does Client-Side Signing work?
- A dApp or website prepares a transaction and sends the request to the user's wallet.
- The wallet (e.g., a browser extension or mobile app) receives the request and displays the details.
- The user reviews the transaction and clicks "Sign" or "Confirm."
- The wallet uses the private key stored on the device to create a cryptographic signature.
- Only the signed transactionnever the private keyis sent to the network to be broadcast.
Why does Client-Side Signing matter?
It is the foundation of self-custody. By keeping the signing process local, users are protected from server-side hacks or malicious service providers who might otherwise steal their keys or change their transactions.
Key features of Client-Side Signing
- Private keys stay on the user's device
- No trust required in a central server for signing
- Protection against remote key theft
- Enables true "non-custodial" wallet behavior
- Requires users to carefully review what they are signing
Examples of Client-Side Signing
- Using a Ledger hardware wallet to sign a transaction that was initiated in a browser.
- MetaMask signing a token swap locally before sending it to an RPC provider.
- A mobile wallet using a phone's "Secure Enclave" to sign a message.
