Skip to main content

Prerequisites

Choose a Solana library

Wallet UI ships one package per Solana client library. Pick one and stay on the matching tab through the rest of this guide. Both packages expose the same MobileWalletProvider and useMobileWallet API. Only the Solana primitives they hand you differ.

Install dependencies

@solana-program/memo is only needed for the transaction example in the Quickstart. Swap it for whichever @solana-program/* client your app actually builds instructions with.

Configure polyfills

Solana client libraries expect Node and browser APIs that React Native does not ship. The react-native-quick-crypto library provides the crypto polyfill they need, and it is the same for both libraries. 1. Create a polyfill.js file in your project root:
polyfill.js
2. Create an index.js entry point that imports the polyfill first:
index.js
3. Update package.json to use the new entry point:
package.json
The polyfill must be imported before any other code that uses a Solana client library.

Custom Development Build

MWA uses Kotlin native modules, so you must use a custom Expo development build instead of Expo Go. Update your package.json build scripts:

Next steps

Setup

Wrap your app with MobileWalletProvider and set up the useMobileWallet hook.
Last modified on September 3, 2026