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.
Architecture overview
Section titled “Architecture overview”Both React Native packages provide:
MobileWalletProviderto configure wallet access at the app boundaryuseMobileWalletas the main hook for connect, disconnect, signing, and account accessuseAuthorizationfor lower-level authorization control- Mobile Wallet Adapter support so the app can connect to any compatible installed wallet
Package-specific differences
Section titled “Package-specific differences”@wallet-ui/react-native-kit is built on top of @solana/kit.
- It exposes a
clientobject withrpcandrpcSubscriptionsinstead of aConnection. - Provider configuration uses a
clusterobject instead of separatechainandendpointprops. - Account addresses use the Kit
Addresstype instead ofPublicKey. - Transactions use Kit transaction types, and
useMobileWalletaddsgetTransactionSigner()andsendTransaction()helpers. - The provider can build a default client with
createSolanaRpc()andcreateSolanaRpcSubscriptions(), or accept a customcreateClientimplementation.
@wallet-ui/react-native-web3js is built on top of @solana/web3.js.
- It exposes a standard
ConnectionthroughuseMobileWallet. - Provider configuration uses
chainplusendpoint. - Account objects expose
publicKey: PublicKeyand a base58addressstring. - Transaction signing uses
TransactionandVersionedTransactionfrom@solana/web3.js.
Mobile Wallet Adapter
Section titled “Mobile Wallet Adapter”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.