Install an OMS Wallet SDK, authenticate a non-custodial wallet, and send a first transaction.
This quickstart walks through the minimum OMS Wallet SDK flow: install an SDK, create the client, authenticate with email OTP, and send a first transaction from the non-custodial wallet.
TypeScript is for web, Node, and JavaScript apps. React Native is for iOS and Android apps using React Native, including Expo development builds and bare apps. Swift and Kotlin are native app SDKs.
Contact us to have your publishable key manually provisioned before getting started. SDK constructors pass this value as publishableKey, which selects the matching OMS Wallet environment for client SDK calls.
await oms.wallet.startEmailAuth('user@example.com')const result = await oms.wallet.completeEmailAuth({ code: '123456' })if (result.type !== 'walletSelected') { throw new Error('Select or create a wallet before continuing')}console.log('Wallet address:', result.walletAddress)
try await oms.wallet.startEmailAuth(email: "user@example.com")let result = try await oms.wallet.completeEmailAuth(code: "123456")if case let .walletSelected(walletAddress, _, _, _) = result { print("Wallet address:", walletAddress)}
import com.omsclient.kotlin_sdk.wallet.CompleteAuthResultclient.wallet.startEmailAuth("user@example.com")val result = client.wallet.completeEmailAuth("123456")check(result is CompleteAuthResult.WalletSelected)println("Wallet address: ${result.walletAddress}")