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 is available across SDKs; TypeScript, React Native, Swift, and Kotlin support OIDC redirect auth; React Native, Swift, and Kotlin also support OIDC ID-token auth. |
| Wallet selection | TypeScript, React Native, Swift, and Kotlin can automatically select the first matching wallet, 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 lists supported networks and accepts chainId string values for transaction, signing, and balance APIs. |
| Transactions | Send native token transactions and contract calls from the non-custodial wallet. On supported testnets, fee options are automatically sponsored. |
| 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 through the SDK balance 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 staging JWKS, and read trusted wallet claims on your backend. | Backend Wallet Verification |
Supported SDKs
| SDK | Best For | Start Here |
|---|---|---|
| TypeScript | Web, Node, and JavaScript apps that use viem-compatible EVM values and OIDC redirect auth. | TypeScript quickstart |
| React Native | Bare React Native iOS and Android apps that need native wallet sessions, OIDC redirect or ID-token auth, and module-level TypeScript functions. | React Native quickstart |
| Swift | iOS 15+ and macOS 12+ apps that need Keychain-backed wallet sessions, OIDC token or redirect auth, and native Swift transaction helpers. | Swift quickstart |
| Kotlin | Android apps with minSdk 26, Android Keystore-backed request signing, OIDC redirect auth, and optional OIDC ID-token auth. | Kotlin quickstart |