Skip to main content

MobileWalletProvider

Wrap your app’s root component with MobileWalletProvider. This provider manages the wallet connection state and exposes the useMobileWallet hook to all child components.
App.tsx

Props

Cluster helpers

@wallet-ui/react-native-kit re-exports a helper per cluster. Each accepts an optional url (and label, urlWs), except createSolanaMainnet, which requires a url because there is no default public mainnet endpoint.

Identity object

Every field is optional in the protocol, but set name and an absolute uri. Wallets verify your app by checking the Digital Asset Links file on the uri domain against your app signing key, and the MWA spec recommends a wallet decline authorization when identity carries no uri. A relative icon also resolves against uri.
The MWA spec accepts two forms for icon: a path relative to uri, or a data: URI holding a base64-encoded SVG, WebP, PNG, or GIF. An absolute HTTP(S) URL is neither, and wallets may reject the authorization request. Note that the Kotlin client library is stricter still and accepts only the relative path.

useMobileWallet hook

Inside any component wrapped by MobileWalletProvider, use the useMobileWallet hook to access wallet functionality:
account.address is a kit Address — a branded string, so it needs no conversion before you pass it to an RPC call or an instruction builder.
Every signing method also has a singular alias — signMessage, signTransaction, signAndSendTransaction — with the same signature. The plural names are used throughout these docs and in the templates.

Next steps

Quickstart

See usage examples for all useMobileWallet hook methods.
Last modified on September 3, 2026