Functionality
| Functionality | Description |
|---|---|
| Authentication and wallet creation | Start and complete user authentication, resolve the user’s non-custodial wallet, and create a wallet when the authenticated user does not already have one. Email OTP and Google sign-in are available across SDKs. |
| Wallet selection | TypeScript, React Native, Swift, and Kotlin can return an active wallet automatically, or use manual wallet selection when your app needs to present existing wallets plus a create-new-wallet action. |
| Session state | Restore completed wallet sessions with platform storage where supported, so apps can continue wallet operations after the initial sign-in flow. |
| Network registry | Use built-in supported-network entries and lookup helpers when SDKs expose them. React Native accepts chainId string values for wallet transaction and signing APIs; indexer APIs use networks or networkType. |
| Transactions | Send native token transactions and contract calls from the non-custodial wallet. |
| Message signing and verification | Sign messages and typed data from the non-custodial wallet, then verify signatures through wallet public APIs. |
| Backend verification | Request an ID token for the active wallet and verify it on your backend against the issuer JWKS. This is exposed by TypeScript, React Native, Swift, and Kotlin. |
| Balances & history | Read wallet token balances and transaction history through the SDK indexer clients. Balance amounts are returned as raw base-unit values. |
Guides
Guides are use-case oriented and show the same flow across every SDK that exposes the required capability.| Use Case | Description | Guide |
|---|---|---|
| Send USDC | Authenticate a non-custodial wallet, prepare a 6-decimal USDC amount, and submit an ERC-20 transfer contract call. | Send USDC |
| Backend wallet verification | Request a wallet ID token, verify it against the issuer JWKS, and read trusted wallet claims on your backend. | Backend Wallet Verification |
Available SDKs
Choose the SDK that matches your app runtime.| SDK | Package | Use When | Start Here |
|---|---|---|---|
| TypeScript OMS Wallet SDK | @0xsequence/typescript-sdk | You are building a web, JavaScript, or Node.js app and want wallet auth, signing, transactions, and indexer reads from TypeScript. | TypeScript quickstart |
| React Native OMS Wallet SDK | @0xsequence/oms-react-native-sdk | You are building an iOS or Android app with React Native, including Expo development builds or bare React Native apps. Expo Go is not supported because the SDK includes native code. | React Native quickstart |
| Swift OMS Wallet SDK | oms-client-swift-sdk | You are building an iOS 15+ or macOS 12+ app with Swift and need native wallet auth, signing, transactions, and balance reads. | Swift quickstart |
| Kotlin OMS Wallet SDK | io.github.0xsequence:oms-client-kotlin-sdk | You are building an Android app with Kotlin, Android 10 / API 29 or newer at runtime, Android compileSdk 34 or newer, and Java 17 Android compile options. | Kotlin quickstart |