> ## Documentation Index
> Fetch the complete documentation index at: https://rain-sandbox-trial.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Embedded Wallet SDKs

> Integrate Rain embedded wallets into your iOS or Android application.

Rain's mobile SDKs let you authenticate users, create and manage embedded wallets, retrieve balances, and send transactions directly from your application.

Choose your development platform to get started.

<table>
  <colgroup>
    <col width="140" />

    <col width="237" />

    <col width="290" />
  </colgroup>

  <thead>
    <tr>
      <th>SDK</th>
      <th>Language</th>
      <th>Requirements</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>**iOS**</td>
      <td>Swift</td>
      <td>iOS 17+, Swift 6.1, Xcode 16.3</td>
    </tr>

    <tr>
      <td>**Android**</td>
      <td>Kotlin</td>
      <td>Android API 28+, compile SDK 36</td>
    </tr>
  </tbody>
</table>

Each SDK has dedicated installation instructions, configuration guidance, and a quickstart that walks you through authenticating a user, creating a wallet, and sending your first transaction.

## Using existing wallet providers

If your application already uses another wallet provider, you can integrate that provider with Rain instead of creating new wallets.

Rain provides adapters for [Portal](https://www.portalhq.io/), [Privy](https://www.privy.io/), and [Turnkey](https://www.turnkey.com/). These adapters expose a consistent `RainClient` interface while authentication and key management remain with your existing provider.

See [Third-party wallet providers](/sdks/embedded-wallets/third-party-providers) for installation and configuration.

## Explore wallet guides

Once you've integrated the SDK, explore the wallet guides for instructions on implementing individual features.

<table>
  <colgroup>
    <col width="239" />

    <col width="455" />
  </colgroup>

  <thead>
    <tr>
      <th>Guide</th>
      <th>Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>[**Embedded wallets overview**](/docs/embedded-wallets/overview)</td>
      <td>Understand Rain's wallet architecture, supported use cases, and security model.</td>
    </tr>

    <tr>
      <td>[**Authentication**](/docs/embedded-wallets/authentication)</td>
      <td>Configure email, SMS, and passkey authentication.</td>
    </tr>

    <tr>
      <td>[**Wallet creation**](/docs/embedded-wallets/wallet-creation)</td>
      <td>Create wallets, retrieve addresses, and register wallets with Rain.</td>
    </tr>

    <tr>
      <td>**[Sending](/docs/embedded-wallets/sending-funds) and [receiving funds](/docs/embedded-wallets/receiving-funds)**</td>
      <td>Implement wallet transactions and incoming deposits.</td>
    </tr>

    <tr>
      <td>[**Card funding and settlement**](/docs/embedded-wallets/card-funding-and-settlement)</td>
      <td>Connect embedded wallets to Rain card issuing.</td>
    </tr>
  </tbody>
</table>

## Source code

Both SDKs are open source. Review the implementation, or open an issue on GitHub:

<Columns cols={2}>
  <Card title="rain-sdk-ios" icon="github" horizontal href="https://github.com/SignifyHQ/rain-sdk-ios" />

  <Card title="rain-sdk-android" icon="github" horizontal href="https://github.com/SignifyHQ/rain-sdk-android" />
</Columns>

## What's next

<Columns cols={3}>
  <Card title="Installation" icon="download" href="/sdks/embedded-wallets/installation">
    Add the Rain wallet module to your iOS or Android project.
  </Card>

  <Card title="Quickstart" icon="rocket" href="/sdks/embedded-wallets/quickstart/ios">
    Log in, create a wallet, and send a transaction in a few minutes.
  </Card>

  <Card title="Embedded Wallets guide" icon="book-open" href="/docs/embedded-wallets/overview">
    Use cases, features, the security model, and every workflow guide.
  </Card>
</Columns>
