Skip to main content

OMSWallet

OMSWallet

WalletClient

Authentication and sessions

WalletClient.walletAddress

WalletClient.walletId

WalletClient.session

Snapshot of the current durable wallet-session state.

WalletClient.addSessionExpiredObserver(_:)

WalletClient.startEmailAuth(email:sessionLifetimeSeconds:)

Initiates email-based OTP authentication by sending a one-time code to the given address.

WalletClient.completeEmailAuth(code:walletSelection:walletType:)

Completes the email OTP authentication flow.

WalletClient.signInWithOidcIdToken(idToken:issuer:audience:walletType:walletSelection:sessionLifetimeSeconds:provider:providerLabel:)

Signs in with an OIDC ID token.

WalletClient.startOIDCRedirectAuth(provider:walletType:loginHint:authorizeParams:walletSelection:sessionLifetimeSeconds:)

Starts OIDC authorization-code redirect authentication.

WalletClient.startOIDCRedirectAuth(provider:omsRelayReturnURI:walletType:loginHint:walletSelection:sessionLifetimeSeconds:)

Starts OIDC authorization-code redirect authentication through the built-in OMS relay for the fixed Google and Apple provider values.

WalletClient.handleOIDCRedirectCallback(_:walletSelection:sessionLifetimeSeconds:)

Safely handles an incoming OIDC authorization-code redirect callback.

WalletClient.listWallets()

Lists all wallets available to the authenticated credential.

WalletClient.useWallet(walletId:)

Activates an existing wallet by its WaaS wallet ID and persists its address and signer metadata to the keychain.

WalletClient.createWallet(walletType:reference:)

Creates a new wallet of the specified type for the authenticated user and persists its address and signer metadata to the keychain.

WalletClient.importWallet(privateKey:reference:)

Imports and activates an Ethereum or Solana private key.

WalletClient.getWalletImportRecipientKey(cipherSuite:)

Fetches an attested recipient key for advanced wallet-import encryption flows.

WalletClient.importEncryptedWallet(walletType:keyMaterial:reference:)

Imports and activates key material encrypted by the caller for an attested WaaS recipient key.

WalletClient.getIdToken(ttlSeconds:customClaims:)

WalletClient.inspectRemoteCredential(credentialId:)

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

WalletClient.authorizeRemoteAccess(credentialId:network:grants:expiresAt:sessionId:)

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(pageSize:type:)

Returns all wallet access grants, following WaaS cursors automatically.

WalletClient.listAccessPage(pageSize:cursor:type:)

Returns one credential-access page for this wallet.

WalletClient.listAccessPages(pageSize:type:)

Returns credential-access pages for this wallet until WaaS stops returning a cursor.

WalletClient.getRemoteAccessSession(sessionId:)

Returns one owner-visible remote session and verifies that it belongs to the selected wallet.

WalletClient.getRemoteAccessSessionUsage(sessionId:network:)

Returns the current usage for each bounded grant in an owner-visible remote session.

WalletClient.revokeAccess(credentialId:sessionId:)

Revokes one access grant from the selected wallet. Use listAccess() or listAccessPage(pageSize:cursor:type:) first to retrieve the direct or remote grant. Omit sessionId for a direct grant; for a remote grant, pass its session ID to revoke exactly that session.

WalletClient.signOut()

Clears the wallet session from the device keychain.

WalletSelectionBehavior

CompleteAuthResult

PendingWalletSelection

WalletSelectionResult

Wallet

WalletType

WalletKeyOrigin

WalletImportCipherSuite

WalletImportPrivateKey

WalletImportRecipientKey

EncryptedWalletImportKeyMaterial

WalletCredential

RemoteCredentialMetadata

SmartSessionGrant

AccessGrantType

RemoteAccessGrant

AccessGrant

AccessGrantPage

AuthorizedRemoteAccess

RemoteAccessSession

SmartSessionGrantUsage

CustomOIDCProviderConfiguration

A caller-owned OIDC provider configuration for authorization-code redirect auth.

OIDCAuthMode

OIDC redirect auth-code mode.

OMSRelayOIDCProvider

A fixed OIDC provider whose OAuth callback is owned by the OMS relay.

OMSRelayOIDCProviders

SDK-owned OMS relay provider values.

StartOIDCRedirectAuthResult

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

OIDCRedirectAuthResult

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

OMSWalletSessionState

OMSWalletSessionAuth

OMSWalletEmailSessionAuth

OMSWalletOidcSessionAuth

OMSWalletOidcSessionAuthFlow

OMSWalletSessionExpiredEvent

OMSWalletSessionExpiredObservation

ListAccessPages

Transactions and signing

WalletClient.signMessage(network:message:)

Signs an arbitrary message using the wallet’s session key.

WalletClient.signSolanaMessage(message:)

WalletClient.signTypedData(network:typedData:)

WalletClient.isValidMessageSignature(network:walletAddress:message:signature:)

WalletClient.isValidSolanaMessageSignature(walletAddress:message:signature:)

WalletClient.isValidTypedDataSignature(network:walletAddress:typedData:signature:)

WalletClient.sendTransaction(network:to:value:selectFeeOption:mode:waitForStatus:statusPolling:)

WalletClient.sendTransaction(network:request:selectFeeOption:waitForStatus:statusPolling:)

WalletClient.sendSolanaTransfer(network:asset:to:amount:selectFeeOption:mode:waitForStatus:statusPolling:)

WalletClient.callContract(network:contract:method:args:selectFeeOption:mode:waitForStatus:statusPolling:)

WalletClient.getTransactionStatus(txnId:)

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

SendTransactionRequest

SendTransactionResponse

TransactionMode

TransactionStatusPollingOptions

TransactionStatusResponse

TransactionStatus

TransactionStatusResolution

FeeOptionSelector

FeeOptionWithBalance

FeeOption

FeeOptionSelection

FeeToken

AbiArg

Indexer

IndexerClient

IndexerClient.getBalances(_:)

IndexerClient.getTransactionHistory(_:)

IndexerClient.getSolanaBalances(_:)

GetSolanaBalancesParams

SolanaBalancesResult

SolanaBalance

SolanaNativeBalance

SolanaFungibleTokenBalance

SolanaNetworkError

SolanaVerificationStatus

SolanaVerificationSource

SolanaTokenProgram

GetBalancesParams

BalancesResult

NativeTokenBalance

ContractTokenBalance

TokenBalance

TokenBalancesPage

TokenBalancesPageRequest

TokenContractInfo

TokenMetadata

TokenMetadataAsset

GetTransactionHistoryParams

TransactionHistoryResult

Transaction

TransactionTransfer

IndexerNetworkType

ContractVerificationStatus

MetadataOptions

Page

SortBy

SortOrder

Networks, types, and errors

Network

SolanaNetwork

SolanaNetworks

JSONValue

JSON value used by SDK APIs that accept or return dynamic JSON payloads.

OMSWalletError

OMSWalletErrorCode

OMSWalletOperation

OMSWalletUpstreamError

OMSWalletUpstreamService

UnitConversionError

parseUnits(value:decimals:)

formatUnits(value:decimals:)