Optionaloptions: SignerManagerOptionsConnect to a provider.
If no provider type is specified, runs environment-aware auto-detection:
Inside a container (iframe/webview):
Outside a container (standalone browser):
When connecting to a specific provider, it is used directly.
OptionalproviderType: ProviderTypeCreate 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. Only available when connected via the host provider — returns HOST_UNAVAILABLE otherwise.
Destroy the manager and release all resources. After calling destroy(), the manager is unusable.
Disconnect from the current provider and reset state.
List available browser extensions.
Async because extensions inject into window.injectedWeb3 asynchronously
after page load. Uses the same injection wait as the extension provider.
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"). Only available when connected
via the host provider — returns HOST_UNAVAILABLE otherwise.
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. Only available when connected via the host provider — returns HOST_UNAVAILABLE otherwise.
Get the PolkadotSigner for the currently selected account. Returns null if no account is selected or manager is disconnected.
Get a snapshot of the current state.
Select an account by address. Returns the account on success, or ACCOUNT_NOT_FOUND error.
Sign arbitrary bytes with the currently selected account.
Convenience wrapper around PolkadotSigner.signBytes — useful for
master key derivation, message signing, and proof generation without
constructing a full transaction.
Returns a SIGNING_FAILED error if no account is selected or signing fails.
Subscribe to state changes. The callback fires on every state mutation. Returns an unsubscribe function.
Core orchestrator for signer management.
Manages account discovery and signer creation across multiple providers (Host API, browser extensions, dev accounts). Framework-agnostic — use the subscribe() pattern to integrate with React, Vue, or any framework.
Example