@synqid/solana-mobile.
MWA, wired.
Solana Mobile Stack integration. Mobile Wallet Adapter wallet linking, sign-to-link against Synq, transaction signing — all behind the same hook shape Synq uses everywhere else. Pairs with @synqid/react-native; targets Android dApps.
Install
pnpm add @synqid/solana-mobile @synqid/react-native @synqid/jsUse it
useSolanaMwaAdapter() returns a walletAdapter object you pass straight into SynqProvider. The bundled SignInSheet renders a wallet button alongside socials.
import { useSolanaMwaAdapter } from '@synqid/solana-mobile'
import { SynqProvider, SignInSheet } from '@synqid/react-native'
import { BottomSheetModalProvider } from '@gorhom/bottom-sheet'
export default function App() {
const walletAdapter = useSolanaMwaAdapter()
return (
<BottomSheetModalProvider>
<SynqProvider
issuer="https://api.synq.id"
clientId={process.env.EXPO_PUBLIC_SYNQ_CLIENT_ID!}
redirectUri="myapp://oauth/callback"
walletAdapter={walletAdapter}
uiTheme="dark"
>
<Root />
<SignInSheet />
</SynqProvider>
</BottomSheetModalProvider>
)
}MWA, but Synq-shaped
useSolanaMwaAdapter()
Hook returning a walletAdapter that satisfies Synq’s SignInProvider contract. Drop into SynqProvider; the sheet automatically renders a wallet button.
useTransactionSigner()
Hook returning a `sign(tx)` function. Opens MWA, signs with the user’s wallet, returns the signed transaction.
useLinkedWallets()
Hook returning the user’s linked wallets from Synq. Useful for "this wallet meets the token gate" UX.
Sign-to-link
Linking another wallet to an existing Synq user — MWA flow gathers the signature; Synq verifies and links server-side.
Common questions
Solana Mobile sign-in without the MWA glue.
One hook, one wallet button, one signed message — and the user’s wallet lands in their Synq linked_wallets.
