[Legacy ⚠️] getAccounts
Last updated
Last updated
🚀 Attention Developers: Upgrade to the connect method 🚀
A new connect method is now available to connect to user's wallets and request permissions to access their accounts.
While the legacy version documented here remains supported, we urge you to upgrade for access to the latest features and a more smoother user experience.
Your application can request to connect to the user’s wallet with the getAccounts
method, which prompts them to share their Bitcoin and Stacks addresses.
You can specify which wallet addresses you require, Bitcoin ordinals address, Bitcoin payment address or Stacks address, using the purposes
request parameter
The message
request param gives you the option to display a message the user when requesting their addresses. You can use it to present your app and explain why you require access to their addresses.
request parameters | Description |
---|---|
The getAddresss
method returns a Promise that resolves if the user approves the connection request. The user will see a Connection Request prompt in their wallet. The prompt will display:
your app logo, if it is specified in your app manifest
the wallet addresses that your app required
the message which you specified. Note that this message will be cut beyond 80 characters.
Once resolved, the method returns GetAccountResult
: an array of the user’s wallet address objects, defined as:
You can use these addresses to make further requests such as signing a message, signing a transaction, etc.
Currently, you can retrieve two types of Bitcoin addresses, the user's Bitcoin payment address and the Ordinals address which is a taproot address.
An example response:
Where:
If the user declines the request or closes the pop-up, the promise will reject (throw when awaited).
address field | Description |
---|---|
address
string - the user’s connected wallet address
publicKey
A hex string representing the bytes of the public key of the account. You can use this to construct partially signed Bitcoin transactions (PSBT).
purpose
string - The purpose of the address:
ordinals
is preferably used to manage the user’s ordinals
payment
is preferably used to manage the user’s bitcoin
stacks
is used to interact with the stacks ecosystem
addressType
string - the address’s format:
P2TR
for ordinals
P2SH
for payment
P2WPKH
for payment using Ledger
stacks
for Stacks
walletType
string - the type of wallet used for the account
ledger
if the user's account is using a Ledger device
software
otherwise
purposes
Array of strings used to specify the purpose of the address(es) to request:
'ordinals'
is preferably used to manage the user’s ordinals
'payment'
is preferably used to manage the user’s bitcoin
'stacks'
is used to interact with the stacks ecosystem
Example: ['ordinals', 'payment', 'stacks']
message
Optional a message to be displayed to the user in the request prompt.