# React-Native-Wallet-Link

## Introduction

`@vechain/react-native-wallet-link` is a React Native SDK that enables seamless integration between native applications and VeChain’s VeWorld wallet.\
It allows developers to easily connect, sign messages, and send transactions securely — all through VeWorld’s mobile app.\
With this library, your app can initiate deep links to VeWorld, exchange encrypted messages, and manage authenticated sessions with minimal setup.

[View on npm](https://www.npmjs.com/package/@vechain/react-native-wallet-link)

***

## Key Features

| Feature                      | Description                                                                   |
| ---------------------------- | ----------------------------------------------------------------------------- |
| 🔑 **Wallet Connection**     | Establishes a secure session with the VeWorld wallet via deep links           |
| ✍️ **Message Signing**       | Supports signing of certificates and typed data (EIP-712)                     |
| 💸 **Transaction Signing**   | Allows users to sign and broadcast transactions on VeChain mainnet or testnet |
| 🔐 **Secure Communication**  | Built on NaCl cryptography for end-to-end encrypted communication             |
| 🔗 **Deep Link Integration** | Enables smooth app-to-app interactions between your dApp and VeWorld          |
| 🌐 **Network Flexibility**   | Easily switch between Mainnet, Testnet, or a custom node                      |

***

## When to Use

Use this SDK if you are building:

* A React Native app that needs to interact with VeWorld wallet
* An app that requires secure signing of transactions or message authentication
* A VeChain-powered experience that benefits from native-level UX and secure wallet linking

***

## Architecture Overview

The SDK leverages **deep linking** and **NaCl-based encryption** to create a secure, encrypted communication channel between your app and VeWorld.

**How it works:**

1. Your app generates a key pair (`generateKeyPair()`).
2. The app opens VeWorld via deep link, passing the public key.
3. VeWorld responds with an encrypted payload containing session details and wallet address.
4. All subsequent requests (signing, transactions, etc.) use this encrypted session.

> 🧩 This ensures **no private keys ever leave VeWorld**, while maintaining full message integrity between your app and the wallet.

***

[Next → Getting Started](https://github.com/vechain/vechain-docs/blob/main/developer-resources/sdks-and-providers/react-native-wallet-link/02-getting-started.md)


---

# 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://docs.vechain.org/developer-resources/sdks-and-providers/react-native-wallet-link.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.
