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.