# Overview

## What is RallyProtocol? <a href="#rallyprotocol" id="rallyprotocol"></a>

RallyProtocol is an all-in-one web3 mobile toolkit that enables developers to create end-to-end onchain experiences for native mobile apps. RallyProtocol is comprised of two key components:

## Natively embedded wallets <a href="#natively-embedded-wallets" id="natively-embedded-wallets"></a>

1. Create and store secure, self-custodial wallets natively on-device.
2. Enable cloud backup for easy recovery.
3. Import and export wallets.

## **Gasless transactions** <a href="#gasless-transactions" id="gasless-transactions"></a>

1. Provide end-users with gas-free onchain transactions.
2. Enable end-users to transfer tokens, claim NFTs, and even deploy smart contracts from within mobile apps gaslessly.

## Supported mobile platforms <a href="#supported-mobile-platforms" id="supported-mobile-platforms"></a>

* Android version 23 and above
* iOS all versions

## Why RallyProtocol?

1. Native device custody&#x20;
   1. Embedded wallets are generated and stored locally on user's mobile device.
   2. Embedded wallets are backed up to the user's cloud for easy recovery.
2. Mobile-first design
   1. Enables single-app experiences, ensuring that users never need to switch apps.
   2. Enables pop-upless onchain experiences, removing web3 friction.
   3. Native device embedded wallet generation and secure storage.
3. Developer friendly
   1. Eliminates the need for third-party services to facilitate wallet management.&#x20;
   2. Creating natively embedded wallets is permissionless, open-source, and free
   3. Simple to use - Create a natively embedded wallet in just 1 line of code.

## Goal

RallyProtocol serves as a bridge between the intricate world of onchain technology and the familiar realm of UX in native mobile apps. It is designed to empower developers to seamlessly blend in-app experiences with onchain features, reducing web3 friction and enabling them to focus on what they do best—creating delightful mobile apps.

## Mobile SDKs

<table data-column-title-hidden data-view="cards" data-full-width="false"><thead><tr><th></th><th></th><th></th><th data-hidden data-type="content-ref"></th><th data-hidden data-type="files"></th><th data-hidden data-type="content-ref"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Flutter</strong></td><td></td><td><a href="https://docs.rallyprotocol.com/v/flutter">https://docs.rallyprotocol.com/v/flutter</a></td><td><a href="https://docs.rallyprotocol.com/v/flutter/getting-started/flutter-overview">https://docs.rallyprotocol.com/v/flutter/getting-started/flutter-overview</a></td><td></td><td></td><td><a href="https://app.gitbook.com/s/RlXS9gkeJHYO9hP4jPvy/getting-started/overview">Overview</a></td></tr><tr><td><strong>React Native / Expo</strong></td><td></td><td><a href="https://docs.rallyprotocol.com/v/react-native-expo">https://docs.rallyprotocol.com/v/react-native-expo</a></td><td><a href="https://docs.rallyprotocol.com/v/react-native-expo">https://docs.rallyprotocol.com/v/react-native-expo</a></td><td></td><td></td><td><a href="https://app.gitbook.com/s/gygansI8FVmEVCfbdtlA/getting-started/overview">Overview</a></td></tr><tr><td><strong>Unity</strong></td><td></td><td><a href="https://docs.rallyprotocol.com/v/unity">https://docs.rallyprotocol.com/v/unity</a></td><td><a href="https://docs.rallyprotocol.com/v/unity/getting-started/unity-overview">https://docs.rallyprotocol.com/v/unity/getting-started/unity-overview</a></td><td></td><td></td><td><a href="https://app.gitbook.com/s/BjPYra5OMZmag6kpj6D5/getting-started/overview">Overview</a></td></tr></tbody></table>

##

<br>


---

# 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.rallyprotocol.com/rallyprotocol/overview.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.
