Skip to main content
Mobile Wallet Adapter (MWA) is an open protocol that defines how mobile apps communicate with wallet apps on the same device. It provides a standardized way to request transaction signing, message signing, and wallet authorization — regardless of which wallet the user has installed.

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.
See the MWA protocol specification for more detail.

Platform support

PlatformSupport
AndroidFull support
Mobile web (Chrome for Android)Supported
iOSNot supported
iOS does not support MWA due to platform restrictions on inter-app communication.

SDKs

MWA client SDKs are available for multiple frameworks: Community-maintained SDKs are also available for Flutter, Unity, and Unreal Engine.
Last modified on March 16, 2026