For the complete documentation index, see llms.txt. This page is also available as Markdown.

SignAndSendTransaction

Once connected to Backpack, an application can ask the user for permission to send transactions on their behalf.

In order to send a transaction, an application must:

1. Create an unsigned transaction.

2. Have the transaction be signed and submitted to the network by the user's Backpack wallet.

3. Optionally await network confirmation using a Solana JSON RPC connection.

For more information about the nature of Solana transactions, please review the solana-web3.js docs, as well as the Solana Cookbook.

Base URL

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

Query String Parameters

  • dapp_encryption_public_key (required): The original encryption public key used from the app for an existing Connect 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 Specifying Redirects for more details. URL-encoded.

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

{
  "transaction": "...", // serialized transaction, base58-encoded
  "sendOptions": "..." // an optional Solana web3.js sendOptions object
  "session": "...", // token received from the connect method
}
  • transaction (required): The transaction Backpack will sign and submit is serialized and encoded in base58.

  • sendOptions (optional): An optional object that specifies options for how Backpack should submit the transaction. This object is defined in Solana web3.js.

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

Returns

Approve

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

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

  • signature: The first signature in the transaction can be used as its transaction id.

Reject

An errorCode and errorMessage as query parameters. Please refer to Errors for a full list of possible error codes.

Last updated