React Native Quickstart

Get started with WDK in React Native by running the production-ready starter wallet in 3 minutes

What You'll Build

In this quickstart, you'll run a production-ready multi-chain wallet app that:


Prerequisites

Before we start, make sure you have:

Tool
Version
Why You Need It

Node.js

18+

To run JavaScript code

npm

Latest

To install packages

Code Editor

Any

To write code

Xcode

Latest

iOS simulator and build tools

Android SDK

Latest

Android emulator and build tools


Step 1: Set Up Your Project

First, clone the React Native starter repository:

git clone https://github.com/tetherto/wdk-starter-react-native.git
cd wdk-starter-react-native

Then install dependencies:

npm install

Learn more about the React Native starter:


Step 2: Configure Environment

Create an environment file for the WDK Indexer API:

cp .env.example .env

Edit .env and add your WDK Indexer API key:

# Replace PUT_WDK_API_KEY_HERE with your actual API key
EXPO_PUBLIC_WDK_INDEXER_API_KEY=your_actual_api_key_here

Get your free WDK Indexer API key here


Step 3: Generate Worklet Bundle

Generate the Secret Manager worklet bundle (required for secure key management):

npm run gen:bundle

Step 4: Run Your App

Choose your platform:

npm run ios

You should see the wallet app launch with:

Starting WDK React Native App...
Loading wallet interface...
Multi-chain support enabled

What Just Happened?

Congratulations! You've successfully launched a production-ready multi-chain wallet app. Here's what you now have:


Next Steps

Now that you have a working wallet app, here's what you can explore:

Explore the Codebase

The starter includes a modular architecture:

src/
├── app/                         # Screens (Expo Router)
├── components/                  # UI components
├── config/                      # Chains/networks config
├── contexts/                    # React contexts
├── services/
│   └── wdk-service/             # Worklet + HRPC + wallet orchestration
├── worklet/                     # Secret manager worklet entry
└── wdk-secret-manager-worklet.bundle.js  # Generated bundle

Add More Networks

The starter supports these networks out of the box:

  • Bitcoin: SegWit native transfers

  • Ethereum: Gasless transactions with sponsored gas fees

  • Polygon: Gasless transactions with sponsored gas fees

  • Arbitrum: Gasless transactions with sponsored gas fees

  • TON: Native transfers

Customize the UI

This starter uses components from the WDK React Native UI Kit. To customize the look and feel of the app, check the Theming documentation.

Need more help?