Skip to content

Core concepts

Wallet UI is a modular React Native SDK for mobile wallet interactions. Both package variants use the same Mobile Wallet Adapter flow, while the Solana client and transaction types differ.

Both React Native packages provide:

  • MobileWalletProvider to configure wallet access at the app boundary
  • useMobileWallet as the main hook for connect, disconnect, signing, and account access
  • useAuthorization for lower-level authorization control
  • Mobile Wallet Adapter support so the app can connect to any compatible installed wallet

@wallet-ui/react-native-kit is built on top of @solana/kit.

  • It exposes a client object with rpc and rpcSubscriptions instead of a Connection.
  • Provider configuration uses a cluster object instead of separate chain and endpoint props.
  • Account addresses use the Kit Address type instead of PublicKey.
  • Transactions use Kit transaction types, and useMobileWallet adds getTransactionSigner() and sendTransaction() helpers.
  • The provider can build a default client with createSolanaRpc() and createSolanaRpcSubscriptions(), or accept a custom createClient implementation.

Mobile Wallet Adapter is the shared protocol both packages implement. It defines the secure connection between your app and a wallet for:

  • authorizing accounts
  • signing messages
  • signing transactions
  • signing and sending transactions

Because both packages target the same protocol, the end-user wallet flow is the same even when the app-facing client types differ.