Overview
Sign messages to prove wallet ownership for authentication and verification without transactions.Prerequisites
- Dynamic SDK initialized (see Installation Guide)
- User authenticated (see Authentication Guide)
- EVM wallet available (see Wallet Creation)
Sign a Message
Common Use Cases
Authentication
Signing User Actions
Off-Chain Signatures
Proof of Ownership
Verify Signatures
While signature verification typically happens on the backend or smart contract, here’s how to structure the verification data:Backend Verification Example
Best Practices
- Always handle errors gracefully
- Include clear context in messages (nonce, timestamp, purpose)
- Show loading states while waiting for signature
- Clear sensitive data when done
- Validate message format (not empty, reasonable length)
- Never sign messages you don’t understand
Error Handling
User Consent Dialog
Troubleshooting
User rejection: Add clear explanation of why signing is needed (proves ownership, free, no transaction) Unsupported wallet: Check if wallet supports signing before requestingWhat’s Next
- Typed Data Signing - Sign structured data (EIP-712)
- Send ETH Transactions - Send transactions
- Smart Contract Interactions - Interact with contracts
- Authentication - Authenticate users with signatures