Backpack Wallet Docs
  • Guides
  • 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
  • Approve
  • Reject
  1. Deeplinks
  2. Provider Methods

Connect

PreviousProvider MethodsNextDisconnect

Last updated 6 months ago

Before an app can interact with Backpack, it must first establish a connection. This connection request prompts the user to share their public key, signaling their consent to proceed.

Once the user connects, Backpack provides a session parameter that should be used for all subsequent methods.

Please see for more information on sessions.

Base URL

https://backpack.app/ul/v1/connect

Query String Parameters

  • app_url (required): A URL that provides app metadata (e.g., title, icon). It must be URL-encoded.

  • dapp_encryption_public_key (required): A public key for end-to-end encryption, used to generate a shared secret. Refer to the section for details on how Backpack manages shared secrets.

  • redirect_link (required): The URI where Backpack should redirect the user upon connection. See for more details. Must be URL-encoded.

  • cluster (optional): Specifies the network for subsequent interactions. To connect to Solana mainnet, leave the parameter unset or set it to mainnet-beta. To connect to Eclipse, set the parameter to solana:EAQLJCV2mh23BsK2P9oYpV5CHVLDNHTxY.

Returns

Approve

  • wallet_xxx: A base58-encoded encryption public key used by Backpack to build a shared secret between the connecting app and Backpack.

  • nonce: A nonce encoded in base58 that is used to encrypt the response.

  • data: JSON string that has been encrypted. Learn how apps can decrypt data using a shared secret in . Base58 is used to encode encrypted bytes.

    // content of decrypted `data`-parameter
    {
      // base58 encoding of user public key
      "public_key": "3huUrtWW5s5ew98eUFRYz9LPsDUQTujNzzYaB9DBkppQ",
    
      // session token for subsequent signatures and messages
      // apps should send this with any other deeplinks after connect
      "session": "..."
    }
    • public_key: The user's public key, represented as a base58-encoded string.

    • session: A string encoded in base58. This should be treated as opaque by the connecting app, as it only needs to be passed alongside other parameters. Sessions do not expire. For more information on sessions, please review .

Reject

An errorCode and errorMessage as query parameters.

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

Handling Sessions
Encryption
Specifying Redirects
Encryption
Handling Sessions
Errors