# Sign function & QR Codes

### What Is QR-Code Signing?

ELLIPAL Titan 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

<figure><img src="/files/asPYzy1LnTJ9zy7dGZQu" alt=""><figcaption></figcaption></figure>

Follow the steps below to complete a normal signing process:

1. On the **ELLIPAL App**, review the transaction details and tap **I Understand**
2. On the **ELLIPAL App**, the **Unsigned Data QR Code** will appear
3. On the **Titan**, select the correct network and tap **Sign**
4. On the **Titan**, enter your password and tap **Confirm**
5. On the **Titan**, scan the **Unsigned Data QR Code** shown on the **ELLIPAL App**
6. On the **Titan**, review the transaction details and tap **OK**
7. On the **Titan**, the **Signed Data QR Code** will appear
8. On the **ELLIPAL App**, tap **Scan "Signed Data QR Code"**
9. On the **ELLIPAL App**, scan the **Signed Data QR Code** shown on the **Titan**

After the scan is completed, the **ELLIPAL App** will submit the transaction to the blockchain.

### How to Identify Different QR Codes

#### 1. Connection / Sync QR Code

<figure><img src="/files/2oJqC6X7h2LWhPSHuDR9" 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 Data QR Code

<figure><img src="/files/ZYDxBkub18obruZ9UWQP" 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 Data QR Code

<figure><img src="/files/AGtpRSEMRQ0WFNesD4MG" 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="/files/mIaR1babhmKHKY2lbJb2" 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

* During sending, the **Titan scans the Unsigned Data QR Code**
* During sending, the **App scans the Signed Data 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 confirming
  {% 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 Data 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 Data 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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://support.ellipal.com/docs/features-and-advanced-usage/device-usage-and-maintenance/sign-function-and-qr-codes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
