# SignAllTransactions

Once an app is connected, it is also possible to sign multiple transactions at once. Unlike [SignAndSendTransaction](https://docs.solflare.com/solflare/technical/deeplinks/provider-methods/signandsendtransaction), Solflare will not submit these transactions to the network.&#x20;

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

### Base URL

```
https://solflare.com/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.solflare.com/solflare/technical/deeplinks/provider-methods/connect) 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 [Specifying Redirects](https://docs.solflare.com/solflare/technical/deeplinks/specifying-redirects) for more details. URL-encoded.
* `payload` **(required)**: An encrypted JSON string with the following fields:

  ```json
  {
    "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 Solflare will sign.
  * `session` **(required)**: The session token received from the [Connect](https://docs.solflare.com/solflare/technical/deeplinks/provider-methods/connect) method. Please see [Handling Sessions](https://docs.solflare.com/solflare/technical/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.solflare.com/solflare/technical/deeplinks/encryption) to learn how apps can decrypt `data` using a shared secret. Encrypted bytes are encoded in base58.

  ```json
  // 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. Solflare will not submit these transactions. Applications can submit these transactions themselves via [web3.js's `sendRawTransaction`](https://solana-labs.github.io/solana-web3.js/classes/Connection.html#sendRawTransaction).&#x20;

#### Reject

An `errorCode` and `errorMessage` as query parameters.&#x20;

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

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

### Example

Please refer to the [signAllTransactions](https://github.com/solflare-wallet/deep-link-sample-app/blob/master/App.tsx#L238-L269) method implemented in our demo application.
