What’s included
Embedded Wallet Auth
Resolve or create a Stellar smart wallet for every user automatically as part of the passkey authentication flow.
Passkey Sign-In & Sign-Up
A single
authenticate() call handles both new and returning users. The SDK opens a hosted browser session and returns a session object when done.Transaction Approval
Open a hosted approval screen in the browser so users can review and sign Soroban contract writes, then deep-link back to your app with the result.
Soroban Contract Reads
Query on-chain state with
readContract() — no browser session or user interaction required.Deep Linking Support
After authentication or transaction approval, SocketFi deep-links back to your app automatically using your configured app scheme.
Expo Compatible
Built for Expo SDK 53+ with first-class support for
expo-web-browser and expo-linking.Requirements
How it differs from the React SDK
The API is identical — same constructor, sameauthenticate(), requestTransaction(), and readContract() methods — but the underlying flow is different because mobile browsers don’t support popups.
Deep linking is required for the React Native SDK to work. After the user completes authentication in the browser, SocketFi redirects them back to your app via a URL like
myapp://socketfi/auth/success. Without a registered app scheme, users will be left in the browser with no way back.Setup overview
Getting the React Native SDK running involves four steps:1
Install the SDK and Expo dependencies
Add
@socketfi/react-native, expo-web-browser, and expo-linking to your project.2
Configure your app scheme
Register a custom URL scheme in
app.json so SocketFi can deep-link back into your app.3
Set up a deep link listener
Use
expo-linking to listen for incoming SocketFi deep links and route them appropriately.4
Initialize the SocketFi client and authenticate
Create a shared client instance and call
authenticate() from a button press.Install the React Native SDK
Install packages, configure your Expo app scheme, and create a shared SocketFi client.