Why it matters
On desktop, apps connect to wallets through browser extensions. On mobile, there are no browser extensions. MWA solves this by providing a direct, local communication channel between apps and wallet apps:- Implement once, support all wallets — Your app works with any MWA-compliant wallet (Phantom, Solflare, Seed Vault Wallet, etc.) without per-wallet integration code.
- User choice — Users pick the wallet they prefer. Your app doesn’t need to know or care which one they use.
- Simple integration — The MWA SDK abstracts the protocol details. For most developers, integration is a few lines of code.
How it works
- The client app initiates a session by sending an Android intent to the wallet app.
- A local WebSocket connection is established between the client and wallet.
- The client sends MWA requests (authorization, transaction signing, message signing) over the connection.
- The wallet surfaces an approval UI (e.g., a bottom sheet) for the user to review and approve.
Platform support
| Platform | Support |
|---|---|
| Android | Full support |
| Mobile web (Chrome for Android) | Supported |
| iOS | Not supported |
iOS does not support MWA due to platform restrictions on inter-app communication.
SDKs
MWA client SDKs are available for multiple frameworks:React Native
The most popular integration path.
Kotlin
For native Android development.
Web
For mobile web apps in the browser.
