getProviders & getProviderById
Detecting the providers with getProviders
If the user has multiple browser extension wallets installed, Sats Connect will detect the extensions that inject their provider information under window.btc_providers
, following the WBIP004 standard.
Sats Connect will construct a "multiprovider" array at window.btc_providers
, containing the injected provider from each wallet. Xverse Wallet can be identified in this array by the following properties:
Your application can detect the user's installed wallet providers with the getProviders
method.
No request parameters are required:
The getProviders
method returns an array of btcProvider
objects with the following WBIP004 properties:
id
a string representing the path to the wallet provider in the global/window object
Xverse provider example:"BitcoinProvider" || "xverseProviders.BitcoinProvider"
name
a string representing the name of the wallet provider to show in the connect wallet UI
Xverse provider example: "Xverse Wallet"
icon
a string representing the wallet provider's icon as to show in the connect wallet UI, as data URI (SVG image encoded in base64 format)
Xverse provider example:data:image/svg+xml;base64,PHN2Z..ZnPgo=
webUrl
âšī¸Optional
a string representing the url of the wallet provider's website
Xverse provider example: "<https://www.xverse.app/>"
chromeWebStoreUrl
âšī¸Optional
a string representing the url of the wallet provider's Chrome Web Store Page
Xverse provider example: "<https://chromewebstore.google.com/detail/xverse-wallet/idnnbdplmphpflfnlkomgpfbpcgelopg>"
goodlePlayStoreUrl
âšī¸Optional
a string representing the url of the wallet provider's Google Play Store Page
Xverse provider example: "<https://play.google.com/store/apps/details?id=com.secretkeylabs.xverse>>"
iOSAppStoreUrl
âšī¸Optional
a string representing the url of the wallet provider's iOS App Store Page
Xverse provider example: "<https://apps.apple.com/us/app/xverse-bitcoin-wallet/id1552272513>"
methods
An array of strings representing the list of methods supported by the wallet provider
Xverse provider example:
["getAddress", "getInfo", "signMessage", "signPsbt", "sendTransfer", "signMultipleTransactions", "createInscription", "createRepeatInscriptions", "stx_signMessage","stx_transferStx", "stx_signTransaction", "stx_callContract"]
Selecting a provider with getProviderById
You can use the getProviderById
method to select any specific provider from the list of providers injected under window.btc_providers
No request parameters are required:
The getProviderById
method returns the provider object that the wallets injects in the window
object.