Skip to main content

Overview

Sign messages to prove wallet ownership for authentication and verification without transactions.

Prerequisites

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

Troubleshooting

User rejection: Add clear explanation of why signing is needed (proves ownership, free, no transaction) Unsupported wallet: Check if wallet supports signing before requesting

What’s Next

Last modified on February 3, 2026