LogoLogo
X👾💡🎒
Support Docs
  • Support Docs
  • Technical Docs
  • API Docs
Support Docs
  • Start Here
    • Downloads
  • Exchange
    • Account Functions
      • Change Email
      • Take Profit & Stop Loss Orders (TP/SL)
      • Export trading history (CSV)
      • Order types and executions
      • Generate API keys for Backpack Exchange
    • Identity Verification
      • KYC Identity Verification is pending
      • How To Verify Account Identity
        • Create a new account
        • Verify Identity (KYC)
      • Supported Regions
    • Deposits and Withdrawals
      • Crypto
        • How to Deposit
        • How to Withdraw
        • Deposit & Withdrawal Issues
        • Withdrawal Fees
      • Fiat
        • How to Deposit via Wire
        • How to Withdraw via Wire
        • FAQs
          • Deposit
          • Withdraw
        • Bank Guides
          • Chase
            • How to Deposit via Wire Transfer — Chase Bank
          • ZA Bank
            • How to Deposit via Wire Transfer — ZA Bank
            • How to Withdraw via Wire Transfer — ZA Bank
    • Login and Security
      • Account Identity Requirements
      • Reset Password
      • OTP Passcode
      • Reset 2FA
      • I suspect unauthorized access to my account
      • Troubleshoot connectivity issues
    • Product FAQs
      • Spot Trading FAQs
      • Lend/Borrow FAQs
    • Programs
      • Points
      • Referrals
      • Affiliate Program
        • Flexible Commission Sharing
      • VIP
      • Market Maker Program
      • Token Listing Application
      • Bug Bounty Program
    • Trading Fees
    • API & Developer Docs
      • API Clients
      • Backpack Exchange Python API guide
  • Wallet
    • What is Backpack Wallet?
    • Get Started
      • Supported Browsers and Platforms
      • Import/Recover Wallet
    • Actions
      • Swap Tokens
      • How to Buy and Sell Crypto with MoonPay
        • Buy Crypto in Backpack Wallet with MoonPay
        • Sell Crypto in Backpack Wallet with MoonPay
      • Refer, Swap & Earn
      • Stake SOL
      • SOL/ETH Bridge
      • Secure NFTs
      • Add Networks
      • Connect Hardware Wallet
      • Multisig
      • Custom RPC Addresses
      • Add Developer Testnets
      • Collaboration Application Form
    • Troubleshoot
      • Hide Spam NFTs
      • Hide Tokens
      • Wallet Not Loading
      • View Secret Recovery Phrases and Private Keys
    • Technical Docs
      • Deeplinks
        • Provider Methods
          • Connect
          • Disconnect
          • SignAndSendTransaction
          • SignAllTransactions
          • SignTransaction
          • SignMessage
        • Other Methods
          • Browse
        • Handling Sessions
        • Specifying Redirects
        • Encryption
        • Limitations
  • Report Issue or Bug
    • Exchange
    • Wallet
  • Legal
    • General Legal
      • User Agreement
      • Privacy Policy
      • Cookie Policy
    • VARA Disclosures
      • Virtual Asset Standards
      • VARA License Information
      • Risk Disclosures
      • Price Quotes
      • Exchange Trading Rules
      • Complaints
      • Available Digital Assets
    • UK Crypto Regulations & Risk Disclosure
    • Backpack Wallet
      • Terms and Conditions
      • Privacy Notice
Powered by GitBook

@ 2025 Backpack Exchange

On this page
  • Base URL
  • Query String Parameters
  • Returns
  • Approve
  • Reject
Export as PDF
  1. Wallet
  2. Technical Docs
  3. Deeplinks
  4. Provider Methods

SignMessage

PreviousSignTransactionNextOther Methods

Last updated 1 month ago

After connecting to Backpack, an app can request that the user sign a message. Applications can create their own messages, which will be displayed to users from Backpack'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 Backpack wallet.

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

Base URL

https://backpack.app/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 Backpack 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. Backpack 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": "..."
}

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.

Encryption
Connect
Specifying Redirects
Connect
Errors
Encryption Resources
Encryption Resources