# Sending Transaction

* QSafe allows users to send tokens from one address to another by providing the to address, gas fees, and token address as inputs.

**Dashboard Page:**

<figure><img src="https://4227883243-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWQaf2furhOcVCSNbnqem%2Fuploads%2FT6CDNX70ws1A9zYgCa3m%2Fimage.png?alt=media&#x26;token=cfc92eac-f6b3-4b32-b3dc-dc6bff33ba36" alt=""><figcaption></figcaption></figure>

**Send Page:**

<figure><img src="https://4227883243-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWQaf2furhOcVCSNbnqem%2Fuploads%2FKDD8RiZ0FXzZzEMUVJRw%2Fimage.png?alt=media&#x26;token=f8bd7cdb-4ada-40a8-be13-c17ed52d4e76" alt=""><figcaption></figcaption></figure>

* After the components receive all the user-based inputs and are validated then the signing object is created and sent to the Quranium RPC for validation.

**Steps**:

1. **RLP Encoding**:

   Transaction fields (nonce, gas price, gas limit, etc.) are encoded using Recursive Length Prefix (RLP).
2. **Hashing**:

   The RLP-encoded transaction is hashed with Keccak-256 to create a digest.
3. **SLH-DSA Signing**:

   The digest is signed with the user’s **SLH-DSA private key** (derived from their mnemonic phrase).

   Generates a **49,856-byte signature** for quantum resistance.

* Quranium RPC provides the transaction hash as output, clarifying that the transaction is successful.

1. **Signature Validation**:
   * Node verifies the SLH-DSA signature against the sender’s public key.
2. **Transaction Execution**:
   * Checks gas, balance, and contract logic (if applicable).
3. **Confirmation**:
   * Returns a **transaction hash** (e.g., `0x4e3a...`) on success.
   * Triggers the success modal in the UI.

**Send Transaction**

The Send Transaction feature in QSafe Wallet allows users to transfer digital assets (cryptocurrencies) securely, quickly, and with full visibility into network costs. This interface ensures that even non-technical users can confidently perform blockchain transactions with minimal effort and maximum clarity.

## Purpose

The Send Transaction page enables you to:\
\- Choose which token (e.g., QRN, BTC, ETH, SOL) you want to send.\
\- Specify the recipient’s address.\
\- View real-time gas/network fees based on current blockchain conditions.\
\- Review and confirm the transaction details before executing it.\ <br>

## Detailed Breakdown of Form Fields

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top">Field Name</td><td valign="top">Description</td></tr><tr><td valign="top">From Address</td><td valign="top">Automatically populated with your active wallet address. This is the sender's public key.</td></tr><tr><td valign="top">To Address</td><td valign="top">The destination address where the token will be sent. You must paste or scan a valid wallet address.</td></tr><tr><td valign="top">Token</td><td valign="top">A dropdown menu showing the available tokens in your wallet, including the network they reside on.</td></tr><tr><td valign="top">Amount</td><td valign="top">The quantity of the selected token to be transferred. Includes a live USD equivalent preview.</td></tr><tr><td valign="top">Gas Fee</td><td valign="top">Estimated fee (in native blockchain token) to execute the transaction. Displayed dynamically.</td></tr></tbody></table>

## User Interface Walkthrough

Upon visiting the Send Transaction page, users are presented with a clean and intuitive interface structured to minimize mistakes and ensure clarity.\
\
The UI includes:\
1\. Address Fields: From Address (locked), To Address (editable, supports QR code scan)\
2\. Token Selection Dropdown: Lists available tokens with name, symbol, and balance\
3\. Amount Input: Includes real-time conversion to fiat currency\
4\. Estimated Gas Fee Display: Network fee and estimated time are shown dynamically\
5\. Confirmation Button: Clearly shows total deduction and only activates when inputs are valid

## Transaction Flow (Step-by-Step)

1\. Select Token\
2\. Enter Recipient Address\
3\. Input Amount\
4\. Review Gas Fee\
5\. Click “Send”\
6\. Get Confirmation\
7\. Track Progress

## Example Scenario

Suppose you want to send 0.01 QRN to a friend.\
\
**To Address:** 0x397E...EBA0B1\
**Token:** QRN\
**Amount:** 0.01\
**Gas Fee (est):** 0.000021 QRN\
**Network:** QSafe Chain\
**Estimated Confirmation Time:** 1–2 minutes\
Total Cost: \~0.010021 QRN\
\
After clicking Send, you’ll see a confirmation popup. You can copy the transaction hash and view it in the block explorer.\ <br>

## Best Practices & Notes

What You Should Do:

·        Always double-check the address.

·        Ensure enough balance to cover amount + gas.

·        Use the correct network for the selected token.

·        Save transaction hash for tracking.

### Warnings

If you enter the wrong recipient address, the tokens will be lost permanently. Blockchain transactions cannot be reversed.

## Related Features

• Receive Tokens — Allows users to generate QR codes or copy addresses for incoming transfers.

• Transaction History — Displays all previous sends with status (pending, confirmed, failed).

• Network Settings — Lets advanced users customize gas price or switch chains manually.
