@stacks/connect
[!NOTE]
The 7.x.x
version may still be more well supported by some wallets.
For the legacy version of @stacks/connect
using JWT tokens, please use the following command:
npm install @stacks/connect@7.10.1
Getting Started
Install @stacks/connect
npm install @stacks/connect
pnpm install @stacks/connect
yarn add @stacks/connect
Use request
to trigger wallet interactions
import { request } from '@stacks/connect';
const response = await request('getAddresses');
Available methods
getAddresses
const response = await request('getAddresses');
stx_getAddresses
const response = await request('stx_getAddresses');
stx_getAccounts
const response = await request('stx_getAccounts');
stx_transferStx
const response = await request('stx_transferStx', {
amount: '1000',
recipient: 'SP2MF04VAGYHGAZWGTEDW5VYCPDWWSY08Z1QFNDSN',
network: 'mainnet',
memo: 'Optional memo',
});
stx_callContract
const response = await request('stx_callContract', {
contract: 'SP2MF04VAGYHGAZWGTEDW5VYCPDWWSY08Z1QFNDSN.counters',
functionName: 'count',
functionArgs: [Cl.int(3)],
network: 'mainnet',
});
stx_deployContract
const response = await request('stx_deployContract', {
name: 'counters',
clarityCode: `(define-map counters principal int)
(define-public (count (change int))
(ok (map-set counters tx-sender (+ (get-count tx-sender) change)))
)
(define-read-only (get-count (who principal))
(default-to 0 (map-get? counters who))
)`,
clarityVersion: '2',
network: 'mainnet',
});
stx_signMessage
const response = await request('stx_signMessage', {
message: 'Hello, World!',
});
stx_signStructuredMessage
const clarityMessage = Cl.parse('{ structured: "message", num: u3 }');
const clarityDomain = Cl.tuple({
domain: Cl.stringAscii('example.com'),
version: Cl.stringAscii('1.0.0'),
'chain-id': Cl.uint(1),
});
const response = await request('stx_signStructuredMessage', {
message: clarityMessage,
domain: clarityDomain,
});