Optionaloptions: HostProviderOptionsAttempt to connect and discover accounts.
Optionalsignal: AbortSignalOptional AbortSignal to cancel the connection attempt.
Accounts on success, typed error on failure.
Create a Ring VRF proof for anonymous operations.
Proves that the signer is a member of the ring at the given location without revealing which member. Used for privacy-preserving protocols.
Requires a prior successful connect() call.
Disconnect and clean up resources. Safe to call multiple times.
Get an app-scoped product account from the host.
Product accounts are derived by the host wallet for each app, identified
by dotNsIdentifier (e.g., "mark3t.dot"). The user controls these accounts
but they are scoped to the requesting app.
Requires a prior successful connect() call.
Get a contextual alias for a product account via Ring VRF.
Aliases prove account membership in a ring without revealing which account produced the alias.
Requires a prior successful connect() call.
Get a PolkadotSigner for a product account.
Convenience method for when you already have the product account details.
Requires a prior successful connect() call.
Subscribe to account list changes.
Emitted when the set of available accounts changes (e.g., user connects/disconnects in the host wallet).
Unsubscribe function.
Subscribe to connection status changes.
Not all providers emit status changes — for example, dev accounts are always "connected" and never emit.
Unsubscribe function.
StaticinjectInject the host wallet as a Spektr extension into window.injectedWeb3.
This is a compatibility fallback for container environments where the
direct Host API connection fails. After injection, the host wallet
appears as a standard browser extension and can be used via
ExtensionProvider.
The direct Host API path (via HostProvider.connect()) is preferred
because it supports the full Host API surface (product accounts, Ring VRF,
etc.). Spektr injection only provides non-product account access.
OptionalloadSdk: () => Promise<ProductSdkModule>Custom SDK loader for testing. Defaults to dynamic import.
true if injection succeeded, false otherwise.
Provider for the Host API (Polkadot Desktop / Android).
Dynamically imports
@novasamatech/product-sdkat runtime so it remains an optional peer dependency. Apps running outside a host container will gracefully get aHOST_UNAVAILABLEerror.Supports both non-product accounts (user's external wallets) and product accounts (app-scoped derived accounts managed by the host).