Overview
Sign messages to prove wallet ownership for authentication without transaction fees.Prerequisites
- Dynamic SDK initialized (see Installation Guide)
- User authenticated (see Authentication Guide)
- Solana wallet available (see Wallet Creation)
Sign a Message
Common Use Cases
Authentication
Sign User Actions
Proof of Ownership
Off-Chain Signatures
Verify Signatures
While signature verification typically happens on the backend, here’s how to structure the verification data:Best Practices
- Always handle errors gracefully
- Include clear context in messages (wallet address, nonce, timestamp, purpose)
- Show loading states while waiting for signature
- Clear sensitive data when done
- Validate message format (not empty, reasonable length)
- Explain that signing is free and doesn’t create transactions
Error Handling
User Consent Dialog
Signature Explanation UI
Troubleshooting
User rejection: Explain why signing is needed (verifies ownership, free, no transaction, private key stays secure) Unsupported wallet: Check if wallet supports signing before requesting Long messages: Warn users to review carefully if message exceeds 500 charactersSecurity Considerations
- Never sign messages you don’t understand
- Always display message content clearly before signing
- Malicious signatures could be used to impersonate you
What’s Next
- Send Solana Transactions - Transfer SOL
- Solana Connection - RPC setup and configuration
- EVM Message Signing - Sign with EVM wallets
- Authentication - Authenticate users with signatures