Build Privacy-First Solana Mobile Apps
Styx App Kit is a complete privacy-first development kit for Solana mobile apps. It follows the Solana App Kit playbook to provide a familiar structure for building Signal-like messaging, private payments, anonymous governance, and more.
npm install @styx-stack/app-kit @solana/web3.jsimport { StyxProvider } from '@styx-stack/app-kit';
function App() {
return (
<StyxProvider cluster="mainnet-beta">
<YourApp />
</StyxProvider>
);
}import { usePrivateMessaging, usePrivatePayments } from '@styx-stack/app-kit';
function ChatScreen() {
const { sendMessage, messages } = usePrivateMessaging();
const { createPaymentLink } = usePrivatePayments();
// Signal-like encrypted messaging
await sendMessage(recipientPubkey, "Hello, privately!");
// Private payment link (share via SMS/email)
const link = await createPaymentLink({ amount: 1.0 });
}| Platform | Supported | Notes |
|---|---|---|
| React Native (Expo) | ✓ | Full support with native secure storage |
| React Native (bare) | ✓ | Full support |
| Solana Seeker | ✓ | Optimized for mobile wallet adapter |
| iOS | ✓ | Via React Native |
| Android | ✓ | Via React Native + Kotlin SDK |
| Web (Next.js) | ✓ | Full support |
| Web (Vite) | ✓ | Full support |
| Node.js | ✓ | Server-side operations |
For React Native apps, also install the crypto polyfills:
npm install react-native-get-random-values expo-secure-storeAdd to your entry file before any other imports:
// App.tsx or index.js
import 'react-native-get-random-values';Then use the native utilities:
import { SecureKeyStorage, BiometricAuth, MobileWallet } from '@styx-stack/app-kit/native';
// Secure key storage with keychain/keystore
await SecureKeyStorage.saveKey('my-key', keypair.secretKey);
// Biometric protection
await BiometricAuth.authenticate({
reason: 'Unlock your wallet',
fallbackLabel: 'Use PIN',
});Step-by-step guides for common use cases
Source code and examples
Complete API documentation