> For the complete documentation index, see [llms.txt](https://support.ellipal.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.ellipal.com/docs/features-and-advanced-usage/device-usage-and-maintenance/sign-function-and-qr-codes.md).

# Sign function & QR Codes

Learn how QR Code Signing works on ELLIPAL Titan 2.0, how transaction data moves between the app and device, and how to tell each QR code type apart.

### What Is QR Code Signing?

ELLIPAL Titan 2.0 uses **air-gapped QR Code Signing** to keep your private keys offline.

When you send a transaction:

* The **ELLIPAL App** creates the transaction
* The **Titan** reviews and signs it offline
* QR codes are used to transfer transaction data between the App and the Titan
* Your private key always stays on the cold wallet

### How the Signing Process Works

The signing process uses air-gapped QR codes and requires two scans — one from the app to the Titan, and one back. Your private key never leaves the device.

{% tabs %}
{% tab title="App 5.0" %}

<figure><img src="https://492016447-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrfIWENBmR9S66qnWd68o%2Fuploads%2FK7mGzt9x9OGy0PyeJRik%2FT24_How_to_Use_the_Signing_Function_on_Titan.png?alt=media&amp;token=77be2d2b-7347-4df9-8d6a-c0293f72ad51" alt=""><figcaption></figcaption></figure>

1. On the **ELLIPAL App**, review the transaction details, then tap **Scan signed QR code** — the app generates an **Unsigned QR Code** on screen
2. On the **Titan**, select the correct network and tap **Sign**
3. On the **Titan**, enter your device password and tap **Confirm**
4. On the **Titan**, scan the **Unsigned QR Code** shown in the app — keep the code fully inside the frame
5. On the **Titan**, review the transaction details, then tap **OK**
6. The **Titan** generates a **Signed QR Code** on the device screen
7. On the **ELLIPAL App**, tap **Scan Signed QR Code**
8. Scan the **Signed QR Code** shown on the Titan with the app
9. Once the transaction is submitted, tap **Complete**
   {% endtab %}

{% tab title="App 4.X" %}

<figure><img src="https://492016447-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrfIWENBmR9S66qnWd68o%2Fuploads%2FjkVy5mJsVvlnGVuUZknV%2FSign.png?alt=media&amp;token=0bb49538-fd92-45f5-b2f9-ddd535934751" alt=""><figcaption></figcaption></figure>

1. On the **ELLIPAL App**, review the transaction details and tap **I Understand** — the app generates an **Unsigned QR Code** on screen
2. On the **Titan 2.0**, select the correct network and tap **Sign**
3. On the **Titan 2.0**, enter your device password and tap **Confirm**
4. On the **Titan 2.0**, scan the **Unsigned QR Code** shown in the app — keep the code fully inside the frame
5. On the **Titan 2.0**, review the transaction details — recipient address and amount — then tap **OK**
6. The **Titan 2.0** generates a **Signed QR Code** on the device screen
7. On the **ELLIPAL App**, tap **Scan "Signed QR Code"** and scan the code shown on the Titan
8. The app reads the signed data and submits the transaction to the blockchain — a confirmation screen appears once the transaction is broadcast
   {% endtab %}
   {% endtabs %}

### How to Identify Different QR Codes

#### 1. Connection / Sync QR Code

<figure><img src="https://492016447-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrfIWENBmR9S66qnWd68o%2Fuploads%2F39NGcsnLMqhp5UHjKUXQ%2FConnection%20QR%20code.gif?alt=media&amp;token=746f0baa-0208-4ee1-99ac-b7ffab7f0b2e" alt=""><figcaption></figcaption></figure>

This QR code is used to connect the Titan to the ELLIPAL App or sync account information.

* Used during wallet connection or re-connection
* Not used for transaction signing

#### 2. Unsigned QR Code

<figure><img src="https://492016447-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrfIWENBmR9S66qnWd68o%2Fuploads%2FisVEAxNCKDRt4o1fSXyn%2Fmmexport1778830441112.gif?alt=media&amp;token=f85ea6f3-c1b0-46c5-8c7b-1dcad241b69c" alt=""><figcaption></figcaption></figure>

This QR code contains the transaction data that still needs to be signed.

* Displayed in the **ELLIPAL App**
* Scanned by the **Titan**
* Appears before signing

#### 3. Signed QR Code

<figure><img src="https://492016447-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrfIWENBmR9S66qnWd68o%2Fuploads%2Fm1wNPaXatuow3c4z4tka%2FSigned%20QR%20Code.gif?alt=media&amp;token=2fec5cd6-084b-4a6e-8c4c-de367aa82254" alt=""><figcaption></figcaption></figure>

This QR code contains the signed transaction data.

* Displayed on the **Titan**
* Scanned by the **ELLIPAL App**
* Appears after you confirm the transaction on Titan

#### 4. Receiving Address QR Code

<figure><img src="https://492016447-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrfIWENBmR9S66qnWd68o%2Fuploads%2Fj5KCIflD9o0BVQEDj9Fv%2FReceiving%20QR%20Code.gif?alt=media&amp;token=8f193f35-15f5-4259-8a3d-d8c2933358f7" alt=""><figcaption></figcaption></figure>

This QR code is used to receive funds.

* Shared with the sender
* Represents your wallet address
* Not part of the signing process

{% hint style="warning" %}

#### Notes

Quick reference:

* During sending, the **Titan scans the Unsigned QR Code**
* During sending, the **App scans the Signed QR Code**
* A **receiving QR code** is only for receiving funds
* A **connection QR code** is only for wallet connection or sync
* Always verify the transaction details on Titan before signing
  {% endhint %}

### FAQ

<details>

<summary><strong>Why do I need to scan twice when sending crypto?</strong></summary>

Because the transaction data must go in two directions:

* From the App to the Titan for signing
* From the Titan back to the App for broadcasting

</details>

<details>

<summary><strong>Which QR code should Titan scan?</strong></summary>

Titan should scan the **Unsigned QR Code** shown in the App.

</details>

<details>

<summary><strong>Which QR code should the App scan?</strong></summary>

The App should scan the **Signed QR Code** shown on Titan.

</details>

<details>

<summary><strong>Is the receiving QR code the same as the signing QR code?</strong></summary>

No. A receiving QR code is only used to receive funds. It is not used for signing.

</details>

<details>

<summary><strong>Is the connection QR code the same as the transaction QR code?</strong></summary>

No. A connection QR code is used to connect or sync the wallet. It is different from the QR codes used during transaction signing.

</details>
