# SignAllTransactions

Once an app is connected, it is also possible to sign multiple transactions at once. Unlike [SignAndSendTransaction](https://docs.backpack.app/deeplinks/provider-methods/signandsendtransaction), Backpack will not submit these transactions to the network.

Applications can submit signed transactions using the [web3.js](https://solana-labs.github.io/solana-web3.js/classes/Connection.html#sendRawTransaction) `sendRawTransaction`.

## Base URL

```
https://backpack.app/ul/v1/signAllTransactions
```

## Query String Parameters

* `dapp_encryption_public_key` **(required)**: The original encryption public key used from the app side for an existing [Connect](https://docs.backpack.app/deeplinks/provider-methods/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](https://docs.backpack.app/deeplinks/specifying-redirects) for more details. URL-encoded.
* `payload` **(required)**: An encrypted JSON string with the following fields:

  ```
  {
    "transactions": [
      "...", // serialized transaction, bs58-encoded
      "...", // serialized transaction, bs58-encoded
    ],
    "session": "...", // token received from connect-method
  }
  ```

  * `transactions` **(required)**: A serialized array of [transactions](https://solana-labs.github.io/solana-web3.js/classes/Transaction.html), encoded in base58, that Backpack will sign.
  * `session` **(required)**: The session token received from the [Connect](https://docs.backpack.app/deeplinks/provider-methods/connect) method. Please see [Handling Sessions](https://docs.backpack.app/deeplinks/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](https://docs.backpack.app/deeplinks/encryption) to learn how apps can decrypt `data` using a shared secret. Encrypted bytes are encoded in base58.

  ```
  // content of decrypted `data`-parameter
  {
      transactions: [
          "...", // signed serialized transaction, bs58-encoded
          "...", // signed serialized transaction, bs58-encoded
      ] 
  }
  ```

  * `transactions`: An array of signed, serialized transactions that are base58 encoded. Backpack will not submit these transactions. Applications can submit these transactions themselves via the [web3.js](https://solana-labs.github.io/solana-web3.js/classes/Connection.html#sendRawTransaction) `sendRawTransaction`.

### Reject

An `errorCode` and `errorMessage` as query parameters.

Please refer to [Errors](https://docs.backpack.app/limitations#errors) for a full list of possible error codes.

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