Skip to main content

OMSWallet

OMSWallet

Main entry point for OMS Wallet.

Authentication and sessions

OMSWalletSessionAuth

OMSWalletEmailSessionAuth

OMSWalletOidcSessionAuthFlow

OMSWalletOidcSessionAuth

OMSWalletSession

Expiry and auth metadata for the active wallet session of a WalletClient.

OMSWalletSessionChangeEvent

A change of WalletClient.activeWallet or WalletClient.session, with the state right after it. See WalletClient.onSessionChange.

OMSWalletSessionChangeEvent.SignedIn

A sign-in made a wallet active.

OMSWalletSessionChangeEvent.WalletChanged

Another wallet of the same sign-in became active.

OMSWalletSessionChangeEvent.ExpiryUpdated

OMSWalletSession.expiresAt moved. Safe to ignore unless you show the expiry.

OMSWalletSessionChangeEvent.SignedOut

There is no session any more and it did not expire: WalletClient.signOut, a sign-in started while signed in, or another process signing in. Not necessarily the user’s choice.

OMSWalletSessionChangeEvent.Expired

The session expired, or the wallet API no longer accepts it.

OMSWalletExpiredSession

A session that expired, as reported by OMSWalletSessionChangeEvent.Expired. Apps can use it to prefill re-authentication UI.

WalletType

Wallet

A wallet available to the authenticated user.

WalletKeyOrigin

Whether a wallet key was created in WaaS custody or imported by its owner.

Page

WalletImportCipherSuite

HPKE cipher suites accepted by the wallet-import transport.

WalletImportPrivateKey

Plaintext private-key input for high-level wallet import.

WalletImportPrivateKey.Ethereum

Ethereum private key supplied as hexadecimal text.

WalletImportPrivateKey.EthereumBytes

Ethereum private key supplied as 32 raw bytes.

WalletImportPrivateKey.Solana

Solana seed or keypair supplied as base58 text.

WalletImportPrivateKey.SolanaBytes

Solana seed or keypair supplied as 32 or 64 raw bytes.

WalletImportPrivateKey.Tron

Tron (secp256k1) private key supplied as hexadecimal text.

WalletImportPrivateKey.TronBytes

Tron (secp256k1) private key supplied as 32 raw bytes.

WalletImportRecipientKey

Attested public key returned for an advanced wallet-import encryption flow.

EncryptedWalletImportKeyMaterial

Caller-encrypted private-key material accepted by advanced wallet import.

WalletCredential

A credential currently authorized to use the selected wallet.

RemoteCredentialMetadata

Display metadata supplied by a remote application credential.

SmartSessionGrant

Owner-approved EVM operation allowed during a bounded smart session.

SmartSessionGrant.NativeTransfer

SmartSessionGrant.Erc20Transfer

AccessGrantType

Filter for direct or remotely authorized wallet access.

AccessGrant

Direct or remote credential access associated with a wallet.

AccessGrant.Direct

AccessGrant.Remote

AccessGrantPage

One page of wallet access grants and its continuation cursor.

AuthorizedRemoteAccess

Identifiers returned after an owner authorizes a remote smart session.

RemoteAccessSession

Owner-visible details for one authorized smart session.

SmartSessionGrantUsage

Current usage for one bounded smart-session grant.

CustomOidcProviderConfig

Caller-owned OIDC provider configuration for authorization-code redirect auth.

OmsRelayOidcProvider

Opaque OIDC provider value whose OAuth callback is owned by the OMS relay.

OmsRelayOidcProviders

SDK-owned OMS relay provider values.

OidcAuthMode

WaaS redirect auth-code mode supported by OIDC redirect providers.

StartOidcRedirectAuthResult

Result returned after starting an OIDC authorization-code redirect flow.

OidcRedirectAuthResult

Result of handling an incoming OIDC authorization-code redirect callback.

OidcRedirectAuthResult.Completed

OidcRedirectAuthResult.NotOidcRedirectCallback

OidcRedirectAuthResult.NoPendingAuth

WalletActivationResult

Result returned after selecting, creating, or importing a wallet.

WalletSelectionBehavior

Controls whether auth completion should select a wallet automatically or let the app complete wallet selection.

PendingWalletSelection

Authenticated state waiting for the app to select or create a wallet.

CompleteAuthResult

Result returned by auth completion APIs when wallet selection can be automatic or app-driven.

CompleteAuthResult.WalletSelected

Auth completed and wallet is active. claimableWallets are wallets preallocated for the signed-in user’s verified email that this sign-in did not claim; claim one with WalletClient.claimWallet.

CompleteAuthResult.WalletSelection

WalletClient

WalletClient.DEFAULT_SESSION_LIFETIME_SECONDS

Default requested WaaS wallet session lifetime in seconds (180 days, the maximum).

WalletClient.MAX_SESSION_LIFETIME_SECONDS

Maximum requested WaaS wallet session lifetime in seconds (180 days). WaaS extends a session’s expiry with use up to the requested lifetime.

WalletClient.activeWallet

The active wallet, or null until auth completes or a session is restored, while a manual wallet selection is pending, and after sign-out or session expiry. Same shape as listWallets entries; branch on Wallet.type before using Wallet.address with family-specific code.

WalletClient.session

Expiry and auth metadata for the active wallet session. Non-null exactly when activeWallet is.

WalletClient.onSessionChange

Calls listener on the main thread after every change of activeWallet or session, in order and after the change (never during the call that made it). Subscribe first, then read activeWallet and session, so no change is missed. A listener added while signed out first receives the last OMSWalletSessionChangeEvent.Expired, if a session expired since the last sign-in or sign-out (for example while the app was not running). Every client of the same project and environment shares the session, so its listeners hear every change. The returned function unsubscribes; call it when the listener’s owner goes away (for example in ViewModel.onCleared).

WalletClient.signOut

WalletClient.startEmailAuth

WalletClient.signInWithOidcIdToken

WalletClient.startOidcRedirectAuth

WalletClient.handleOidcRedirectCallback

WalletClient.completeEmailAuth

WalletClient.useWallet

Selects an existing wallet by its WaaS wallet id.

WalletClient.claimWallet

Claims a preallocated wallet offered in CompleteAuthResult.WalletSelected.claimableWallets or PendingWalletSelection.claimableWallets and selects it, like useWallet. Claiming links the wallet to the signed-in identity, so it is listed with the owned wallets afterwards. During a pending manual selection, prefer PendingWalletSelection.claimAndSelectWallet.

WalletClient.createWallet

Creates and selects a new wallet for the authenticated user.

WalletClient.importWallet

Imports and activates an Ethereum, Solana, or Tron private key through the attested import transport.

WalletClient.getWalletImportRecipientKey

Fetches an attested recipient key for caller-managed wallet-import encryption.

WalletClient.importEncryptedWallet

Imports and activates caller-encrypted private-key material.

WalletClient.listWallets

Lists all wallets available to the authenticated credential.

WalletClient.inspectRemoteCredential

Returns display metadata for a remote credential before the owner approves access.

WalletClient.authorizeRemoteAccess

Authorizes owner-approved EVM smart-session grants for a remote credential. Omit sessionId to create a session; pass an existing session ID to replace that session’s grants and requested expiry without changing its signer. WaaS caps the effective expiry at the remote credential’s expiry.

WalletClient.listAccess

Returns all access grants, following WaaS cursors with the requested pageSize.

WalletClient.listAccessPages

Emits credential-access pages for the selected wallet until WaaS stops returning a cursor.

WalletClient.listAccessPage

Returns one credential-access page for the selected wallet.

WalletClient.getRemoteAccessSession

Returns one owner-visible smart-session and checks that it belongs to the active wallet.

WalletClient.getRemoteAccessSessionUsage

Returns grant usage for an owner-visible smart session on network.

WalletClient.getIdToken

Returns an ID token for the currently selected wallet.

WalletClient.revokeAccess

Revokes one access grant from the selected wallet. Use listAccess or listAccessPage to find the direct or remote grant. Omit sessionId for a direct grant; for a remote grant, pass its session ID to revoke exactly that session.

Transactions and signing

TransactionMode

TransactionStatus

FeeToken

FeeOption

FeeOptionSelection

AbiArg

TransactionStatusResponse

FeeOptionSelector

Selects a fee option before execution. Sponsored transactions pass an empty list; returning null acknowledges the free fee, while throwing stops execution.

FeeOptionWithBalance

SendTransactionRequest

SendTransactionResponse

TransactionStatusResolution

TransactionStatusPollingOptions

Transaction status polling after execution. The first fastPollCount polls wait fastIntervalMs between requests, later polls wait intervalMs, and polling stops after timeoutMs. All durations are in milliseconds.

WalletClient.signMessage

Signs message with the currently selected wallet on network.

WalletClient.signSolanaMessage

Signs message with the currently selected Solana wallet.

WalletClient.signTypedData

Signs EIP-712 typedData with the currently selected wallet on network.

WalletClient.isValidMessageSignature

Validates signature for message through the WaaS public wallet RPC. Pass the 0x walletAddress to verify any Ethereum wallet without a session; when it is omitted, the active Ethereum wallet’s address is used.

WalletClient.isValidSolanaMessageSignature

Validates signature for a Solana message through the WaaS public wallet RPC. Pass the base58 walletAddress to verify any Solana wallet without a session; when it is omitted, the active Solana wallet’s address is used.

WalletClient.isValidTypedDataSignature

Validates signature for EIP-712 typedData through the WaaS public wallet RPC. Pass the 0x walletAddress to verify any Ethereum wallet without a session; when it is omitted, the active Ethereum wallet’s address is used.

WalletClient.signTronMessage

Signs message with the currently selected Tron wallet.

WalletClient.signTronTypedData

Signs TIP-712 typedData with the currently selected Tron wallet. Address values may be Base58Check (T…).

WalletClient.isValidTronMessageSignature

Validates a Tron signature for message through the WaaS public wallet RPC. Pass the Base58Check walletAddress (T…) to verify any Tron wallet without a session; when it is omitted, the active Tron wallet’s address is used.

WalletClient.isValidTronTypedDataSignature

Validates a Tron signature for TIP-712 typedData through the WaaS public wallet RPC. Pass the Base58Check walletAddress (T…) to verify any Tron wallet without a session; when it is omitted, the active Tron wallet’s address is used.

WalletClient.sendTransaction

Sends a transaction from the currently selected wallet on network.

WalletClient.sendSolanaTransfer

Sends a native SOL or SPL token transfer from the selected Solana wallet.

WalletClient.sendTronTransaction

Sends a Tron transaction from the selected Tron wallet. Tron wallets are EOAs and always execute in native mode.

WalletClient.callContract

Calls a state-changing smart contract function through the WaaS prepare/execute flow.

WalletClient.callTronContract

Calls a state-changing Tron contract function from the selected Tron wallet in native mode. The wallet service ABI-encodes args; address-typed arguments accept Base58Check (T…) addresses.

WalletClient.getTransactionStatus

Returns the current WaaS execution status for a prepared or submitted transaction.

Indexer

IndexerClient

IndexerClient.getBalances

Gets token and native balances for walletAddress.

IndexerClient.getTransactionHistory

Gets transaction history for walletAddress.

IndexerClient.getSolanaBalances

Gets native SOL and fungible-token balances for walletAddress.

SolanaVerificationStatus

Verification state assigned to Solana asset metadata.

SolanaVerificationSource

Source used to verify Solana asset metadata.

SolanaTokenProgram

Token program owning a Solana mint.

SolanaBalance

Common public fields returned for a Solana balance.

SolanaBalance.Native

Native SOL balance.

SolanaBalance.FungibleToken

SPL Token or Token-2022 balance.

SolanaNetworkError

Per-network failure returned alongside partial Solana balance results.

SolanaBalancesResult

Solana balances and partial network errors returned by the gateway.

IndexerClient.getTronBalances

Gets native TRX and TRC-20 balances for the Base58Check walletAddress (T…).

TronVerificationStatus

Verification state assigned to Tron asset metadata.

TronTokenStandard

Token standard of a Tron fungible token. TRC-10 tokens are not supported.

TronBalance

Common public fields returned for a Tron balance.

TronBalance.Native

Native TRX balance.

TronBalance.FungibleToken

TRC-20 token balance.

TronNetworkError

Per-network failure returned alongside partial Tron balance results.

TronBalancesResult

Tron balances and partial network errors returned by the gateway.

TokenBalancesPageRequest

Indexer page request. column, before, after, and sort are the indexer’s optional cursor fields and are sent only when set.

SortBy

Indexer sort column and direction.

SortOrder

Indexer sort direction.

IndexerNetworkType

ContractVerificationStatus

TokenBalancesPage

Indexer page returned with results. before, after, column, and sort are present when the indexer returns cursor paging state.

MetadataOptions

TokenContractInfo

TokenMetadataAsset

TokenMetadata

TokenBalance

NativeTokenBalance

ContractTokenBalance

BalancesResult

TransactionTransfer

Transaction

TransactionHistoryResult

Networks, types, and errors

Network

A network supported by the OMS Wallet SDK.

OMSWalletNetworks

Networks currently supported by this SDK build.

SolanaNetwork

SolanaNetworks

TronNetwork

A Tron network supported by the OMS Wallet Tron APIs.

TronNetworks

OMSWalletErrorCode

Stable SDK-level error categories for app-facing error handling.

OMSWalletOperation

Stable identifiers for SDK operations that can appear on OMSWalletException.

OMSWalletUpstreamService

Remote OMS service that produced diagnostic failure details. wireValue is the service identifier shared with the TypeScript and Swift SDKs.

OMSWalletUpstreamError

Normalized diagnostic detail from a remote OMS service response or transport failure.

OMSWalletException

Base exception type thrown by public OMS Wallet SDK APIs.

OMSWalletSessionException

OMSWalletRequestException

OMSWalletResponseException

OMSWalletTransactionException

OMSWalletSelectionException

OMSWalletValidationException

OMSWalletStorageException

OMSWalletAttestationException

Thrown when a wallet-import response cannot be authenticated as an approved enclave.

formatUnits

Divides value by 10^decimals and formats it as a decimal string.

parseUnits

Multiplies the decimal string value by 10^decimals.