canton-network-docs/SDKsdApp SDKWallet Providers
Browser Extension
A browser-extension wallet becomes discoverable by announcing itself with an event, or by
being registered explicitly by the host dApp. Extensions communicate with the dApp over
targeted
The SDK collects announcements for a short window (~300 ms), then registers one
postMessage and implement the synchronous
dApp API.
The SDK does not scan
window for injected providers (for example window.canton or
window.canton.<brand>). A browser wallet must announce itself or be registered via
additionalAdapters to appear in the picker.Announce your provider
The SDK uses an EIP-6963-style request/announce pair with Canton-specific event names.
Respond to the request by announcing yourself:
ExtensionAdapter per id with providerId browser:ext:<id>. Your extension must still
pass detect() (be visible and complete the handshake), and if you set target, your
content script should only handle SPLICE_WALLET_* / RPC traffic whose target matches.
A wallet may still expose a provider on window.canton for dApps that integrate directly,
but the SDK does not discover wallets by scanning that global. ExtensionAdapter.detect()
does treat window.canton as a positive signal when checking whether an announced
extension is present.
Getting dApps to list your wallet
If your wallet is not auto-discovered, dApps can register it explicitly with anExtensionAdapter. Give integrating dApps a stable, unique providerId and the target
your extension filters on. The dApp-side registration steps are covered in
Wallet discovery.
Next steps
- CIP-103 Specification — Ensure your provider implements the required methods and events.