sRFC 22 - Extending support for mobile wallets in the Wallet Adapter

Mobile Wallet Support - Wallet Adapter


Currently, the adapter’s support for wallet connection support is sub-optimal. Users that start a session within a mobile browser will lose session context when asked to connect their wallet. Existing wallets utilise deep-linking within the adapter to route the user to their wallets.

This however does not work all the time - there are instances whereby the user is re-directed to the app-store. On success, the user will lose session context most of the time and have to re-start their session within the in-wallet browser functionality thus leading to a poor experience for mobile users.

To solve for this, we propose to add a standardised interface within the wallet adapter that will handle mobile wallet connections utilising a third party to facilitate adapter to mobile wallet adapter communications in a similar fashion to how WalletConnect facilitates this on EVM based dApps.

This is a simple reference point of how this flow would look like, curious to get thoughts from wallets / dApps on what they think about this.

At a high-level, the interface would extend the existing connect functionality such that if the user is selecting a wallet and they are on mobile, the third party service provider would facilitate the mobile wallet to adapter communication.

All communication would pass through the third party on mobile and act as a relayer between the dApp and the mobile wallet.

Here is a sample diagram of how I imagine it’d look like: