Wallet Support
Compatibility information for different wallet providers
This page provides detailed information about which methods and events are supported by different wallet providers in the Stacks ecosystem.
Method Compatibility
Method | Leather | Xverse-like |
---|---|---|
getAddresses | 🟡 No support for experimental purposes | 🟡 Use wallet_connect instead |
sendTransfer | 🟡 Expects amount as string | 🟡 Expects amount as number |
signPsbt | 🟡 Uses signing index array only | 🟡 Uses signInputs record instead of array |
stx_getAddresses | 🟢 | 🔴 |
stx_getAccounts | 🔴 | 🟢 |
stx_getNetworks | 🔴 | 🔴 |
stx_transferStx | 🟢 | 🟢 |
stx_transferSip10Ft | 🟢 | 🔴 |
stx_transferSip9Nft | 🟢 | 🔴 |
stx_callContract | 🟡 Hex-encoded Clarity values only | 🟡 Hex-encoded Clarity values only, no support for postConditions |
stx_deployContract | 🟡 Hex-encoded Clarity values only | 🟡 Hex-encoded Clarity values only, no support for postConditions |
stx_signTransaction | 🟡 Hex-encoded Clarity values only | 🟡 Hex-encoded Clarity values only |
stx_signMessage | 🟡 Hex-encoded Clarity values only | 🟡 Hex-encoded Clarity values only |
stx_signStructuredMessage | 🟡 Hex-encoded Clarity values only | 🟡 Hex-encoded Clarity values only |
stx_updateProfile | 🔴 | 🔴 |
Event Compatibility
Event | Leather | Xverse |
---|---|---|
stx_accountChange | 🔴 | 🔴 |
stx_networkChange | 🔴 | 🔴 |
Legend
- 🔴 No support (yet)
- 🟡 Partial support
- 🟢 Supported
Compatibility Layer
The request
method in @stacks/connect
adds a layer of auto-compatibility for different wallet providers. This helps unify the interface where wallet providers may implement methods and results differently.
Method | Status | Notes |
---|---|---|
getAddresses | 🔵 | Maps to wallet_connect for Xverse-like wallets |
sendTransfer | 🔵 | Converts amount to number for Xverse, string for Leather |
signPsbt | 🟡 | Transforms PSBT format for Leather (base64 to hex) with lossy restructure of signInputs |
stx_getAddresses | 🔵 | Maps to wallet_connect for Xverse-like wallets |
stx_callContract | 🔵 | Transforms Clarity values to hex-encoded format for compatibility |
stx_deployContract | 🔵 | Transforms Clarity values to hex-encoded format for compatibility |
stx_signTransaction | 🔵 | Transforms Clarity values to hex-encoded format for compatibility |
stx_signMessage | 🔵 | Transforms Clarity values to hex-encoded format for compatibility |
stx_signStructuredMessage | 🔵 | Transforms Clarity values to hex-encoded format for compatibility |
- 🟢 No overrides needed for any wallet
- 🔵 Has compatibility overrides that maintain functionality
- 🟡 Has breaking overrides that may lose some information