Skip to main content

Overview

This guide shows you how to sign messages with your EVM wallet. Message signing is commonly used for authentication, proof of ownership, and off-chain data verification. The Python SDK signs messages using EIP-191 personal sign format.

Prerequisites

Basic Message Signing

The returned signature is a hex string (0x...), 132 characters long (65 bytes: r + s + v).

Signing with a Password-Protected Wallet

If you created your wallet with a password, pass it when signing:
Password handling:
  • If your wallet was created without a password, omit the password parameter.
  • If your wallet was created with a password, you must provide it for all signing operations.
The same password= kwarg also enables auto-recovery in fresh processes — the SDK transparently rehydrates key shares from Dynamic’s encrypted backup before signing. See Step 3 of Create an EVM Wallet for details.

Verifying a Signature

You can verify the signature off-chain using eth-account:

Common Use Cases

Authentication Nonce

Proof of Ownership

Next Steps

Last modified on May 5, 2026