Solana mobile stack (SMS) is a collection of technologies to develop and publish mobile applications that can interact with the Solana blockchain.
Android is currently the best supported platform for Solana Mobile development. The Solana Mobile SDKs (namely Mobile Wallet Adapter) are all natively implemented and available in Android. The majority of the resources in this website are for Android development.
In addition to this, the Google Play Store has less restrictive policies with regards to Crypto/Web3 dApps compared to the Apple App Store.
There are several blockers for developing Solana mobile apps on iOS. First, the Mobile Wallet Adapter protocol is not supported on iOS due to technical limitations of the operating system. In addition to this, the Apple App Store has a more restrictive policy against web3/crypto apps.
The Solana Mobile Stack (SMS) provides a new set of libraries for wallets and apps, allowing developers to create rich mobile experiences on Solana, the world's most performant blockchain, and is built to run alongside Android. The SDK provides libraries and programming interfaces for Android apps and secure key private storage, simplifying the developer experience to build and extend dApps functionality for Solana. The SDK is available starting today.
Initial features of the Solana Mobile Stack SDK include:
- Mobile Wallet Adapter: A protocol for connecting web apps and native Android apps to wallets on mobile devices. The open source protocol is designed to support all mobile platforms, not just Android, and can work with wallet apps providing signing services to apps running remotely, such as other mobile devices, and on desktop or laptop computers.
- Seed Vault: A secure environment built into a mobile device that keeps private keys, seed phrases and secrets separated from the application layer yet still capable of interacting with apps running on the device or in a mobile browser. Seed Vault accesses the highest privileged security environment available on a device, from secure operating modes of the processor to dedicated Secure Elements, which enables a secure transaction signing experience through UI components built into Android.
- Solana Pay for Android: Solana Pay, a decentralized payments rail on Solana, is built into Solana Mobile Stack, providing wallet apps the ability to use the system features of Android devices to capture Solana Pay URLs via QR codes, NFC taps, messages, and web browser interactions to launch Solana Pay requests. In addition, instant virtual card issuance will allow users to make contactless-based mobile payments backed by their self-custodied funds via traditional payment rails at tens of millions of merchants across the globe.
Additionally, Solana dApp Store is a new app distribution system on Android for decentralized apps. The Solana dApp Store will provide a distribution channel for apps that want to establish direct relationships with their customers, allowing them to transact without platform fees. The Solana dApp Store will co-exist with Google Play on devices, providing access to web2 and web3 apps.
The Solana Mobile Stack and Solana dApp Store open up unexplored opportunities for devs to create new and better experiences. A few possibilities:
- Minting an NFT anywhere, anytime is now a reality because secure transactions on a phone can be easily authorized thanks to the secure partition between a user’s keys and the software and hardware levels of a phone.
- Individuals can transact for goods and services with their securely held digital assets across millions of traditional contactless terminals as well as the growing decentralized Solana Pay payments network.
- Play web3 games on Solana from anywhere, and keep funds safe and secure with Seed Vault.
- Users can now manage trading risk while on the go more easily and effectively thanks to an improved user experience possible with native DeFi dApps.
- Consumers can participate in token-gated mobile commerce experiences based on their digital assets and the secure communications between a wallet, Seed Vault, and a dApp.