@lazorkit/wallet-mobile-adapter
v1.5.1
Published
React Native adapter for LazorKit smart wallet with WebAuthn/passkey authentication on Solana
Readme
LazorKit React Native SDK
LazorKit allows you to build Passkey-native mobile applications.
It replaces complex seed phrases with the standard biometrics users already know: FaceID or TouchID.
Features
- Seedless: Onboard users instantly with Passkeys
- Gasless: Sponsored transactions via Paymaster
- Native: Built for React Native & Expo
- Secure: Hardware-bound credentials
Installation
npm install @lazorkit/wallet-mobile-adapterUsage
import { LazorKitProvider, useWallet } from '@lazorkit/wallet-mobile-adapter';
import { View, Button, Text } from 'react-native';
// 1. Wrap App
export default function App() {
return (
<LazorKitProvider
rpcUrl="https://api.devnet.solana.com"
portalUrl="https://portal.lazor.sh"
configPaymaster={{ paymasterUrl: "https://lazorkit-paymaster.onrender.com" }}
>
<WalletScreen />
</LazorKitProvider>
);
}
// 2. Use Hook
function WalletScreen() {
const { connect, signMessage, isConnected } = useWallet();
const handleSign = async () => {
if (!isConnected) {
await connect({ redirectUrl: 'myapp://home' });
return;
}
const sig = await signMessage("Hello", {
redirectUrl: 'myapp://callback'
});
console.log("Signed:", sig);
};
return <Button title="Action" onPress={handleSign} />;
}API Reference
useWallet()
connect(options)
Connects to the wallet.
Parameters
| Param | Type | Description |
|---|---|---|
| options.redirectUrl | string | Deep link URL |
disconnect()
Disconnects the wallet.
signMessage(message, options)
Signs a message string.
Parameters
| Param | Type | Description |
|---|---|---|
| message | string | Content to sign |
| options.redirectUrl | string | Deep link URL |
Returns
Promise<string> - Signature
signAndSendTransaction(payload, options)
Signs and sends transaction.
Parameters
| Param | Type | Description |
|---|---|---|
| payload.instructions | TransactionInstruction[] | Instructions |
| payload.transactionOptions | object | Config options |
| transactionOptions.feeToken | string | Token address for gas fees (e.g. USDC). |
| transactionOptions.computeUnitLimit | number | Max compute units. |
| transactionOptions.addressLookupTableAccounts | AddressLookupTableAccount[] | Lookup tables for v0 txs. |
| transactionOptions.clusterSimulation | 'devnet' \| 'mainnet' | Network for simulation. |
| options.redirectUrl | string | Deep link URL |
Returns
Promise<string> - Signature
