Skip to main content
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 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:
The SDK collects announcements for a short window (~300 ms), then registers one 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 an ExtensionAdapter. 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