A React Native (Expo) template demonstrating passkey-based smart wallet integration on Solana using LazorKit.
LazorKit provides passkey-based authentication for Solana, enabling users to create non-custodial smart wallets secured by device biometrics (Face ID, Touch ID) instead of seed phrases.
- Passkey authentication (no seed phrases)
- Non-custodial smart wallet
- Native mobile experience
- Built with Expo, React Native, and expo-router
pnpm create solana-dapp@latest -t lazorkit-starter-expocd <your-project>
pnpm installStart the Expo development server:
pnpm startThen:
- Press
ito open in iOS Simulator - Press
ato open in Android Emulator - Scan the QR code with Expo Go app on your device
app/
├── (tabs)/
│ ├── _layout.tsx # Tab navigation
│ ├── index.tsx # Home screen
│ └── explore.tsx # Explore screen
├── _layout.tsx # Root layout
├── modal.tsx # Modal screen
└── wallet.tsx # Wallet integration screen
This template uses @lazorkit/wallet-mobile-adapter for React Native integration:
import { useLazorkitWallet } from '@lazorkit/wallet-mobile-adapter'
const {
smartWalletPubkey, // User's smart wallet address
isConnected, // Connection status
connect, // Connect/create wallet
disconnect, // Disconnect wallet
signAndSendTransaction, // Sign and send transactions
} = useLazorkitWallet()MIT