Solflare Wallet
  • ☀️Introduction
    • The Power of Self-Custody
    • Benefits of Non-Custodial Wallets
    • Digital Wallet Best Practices
    • Bigger Picture
  • Onboarding
    • 📞Mobile
      • Generate a New Wallet
      • Connect a Ledger Wallet
      • Import any Solana Wallet
    • 🖥️Web App & Extension
      • Generate a New Wallet
      • Import Your Ledger Device
      • Import Your Keystone Device
      • Import any Solana Wallet
    • 🚶Next Steps
  • Integrations
    • ⛓️Integrate Solflare
      • MetaMask
      • Using the Solana Wallet Adapter
      • Solflare Wallet SDK
    • 🎭Profile Picture Protocol
      • Get a Wallet's Profile Picture
      • Set NFT as Profile Picture
      • Remove a Profile Picture
    • ⚡Solflare Notifications
      • Sending Notifications
      • User's Perspective
        • Notification Center
        • Receiving Notifications
        • Subscription Management
      • API Endpoints
        • Broadcast Endpoint
        • Unicast Endpoint
        • List Casts Endpoint
        • View Cast Endpoint
        • Check Public Key Subscription Status for Domain
    • 🖼️NFT Standard
      • URI JSON Schema
      • CDN hosted files
      • Collections
      • Additional Attributes Specification
      • Order of JSON Fields
    • 🔗Deeplinks
      • Provider Methods
        • Connect
        • Disconnect
        • SignAndSendTransaction
        • SignAllTransactions
        • SignTransaction
        • SignMessage
      • Other Methods
        • Browse
      • Handling Sessions
      • Specifying Redirects
      • Encryption
      • Limitations
Powered by GitBook
On this page
  • Base URL
  • Query String Parameters
  • Returns
  • Example

Was this helpful?

  1. Integrations
  2. Deeplinks
  3. Provider Methods

SignMessage

PreviousSignTransactionNextOther Methods

Last updated 2 years ago

Was this helpful?

After connecting to Solflare, an app can request that the user sign a message. Applications can create their own messages, which will be displayed to users from Solflare's signature prompt. Message signatures do not incur network fees and are a convenient way for apps to verify address ownership.

In order to send a message for the user to sign, an application must:

  1. Provide a hex or UTF-8 encoded string as a Uint8Array and then base58-encoded it.

  2. Request that the encoded message is signed via the user's Solflare wallet.

For more information on how to verify the signature of a message, please refer to .

Base URL

https://solflare.com/ul/v1/signMessage

Query String Parameters

  • dapp_encryption_public_key (required): The original encryption public key used from the app side for an existing session.

  • nonce (required): A nonce used for encrypting the request, encoded in base58.

  • redirect_link (required): The URI where Solflare should redirect the user upon completion. Please review for more details. URL-encoded.

  • payload (required): An encrypted JSON string with the following fields:

    {
      "message": "...", // the message, base58 encoded
      "session": "...", // token received from connect-method
      "display": "utf8" | "hex", // the encoding to use when displaying the message 
    }
    • message (required): The message that should be signed by the user, encoded in base58. Solflare will display this message to the user when they are prompted to sign.

    • session (required): The session token received from the method. Please see Handling Sessions for more details.

    • display (optional): How you want us to display the string to the user. Defaults to utf8

Returns

Approve

  • nonce: A nonce used for encrypting the response, encoded in base58.

  • // content of decrypted `data`-parameter
    {
        signature: "...", // message-signature
    }

Reject

An errorCode and errorMessage as query parameters.

{
  "errorCode": "...",
  "errorMessage": "..."
}

Example

data: An encrypted JSON string. Refer to to learn how apps can decrypt data using a shared secret. Encrypted bytes are encoded in base58.

signature: The message signature, encoded in base58. For more information on how to verify the signature of a message, please refer to .

Please refer to for a full list of possible error codes.

Please refer to the method implemented in our demo application.

🔗
Encryption Resources
Connect
Specifying Redirects
Connect
Encryption
Encryption Resources
Errors
signMessage