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

  • 🔴 No support (yet)
  • 🟡 Partial support
  • 🟢 Supported
MethodLeatherXverse-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

EventLeatherXverse
stx_accountChange🔴🔴
stx_networkChange🔴🔴

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.

  • 🟢 No overrides needed for any wallet
  • 🔵 Has compatibility overrides that maintain functionality
  • 🟡 Has breaking overrides that may lose some information
MethodStatusNotes
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