Decentralized app development made easy
The essential JavaScript libraries for apps on Stacks.

Modular core packages for identity, authentication, storage, transactions, stacking, and more
JS bindings for integrating with the Hiro Wallet for Web and leveraging all Stacks blockchain features
Rapidly integrate Clarity smart contracts into your apps
Sample Packages
Construct, sign, and broadcast a Stacks transactions from a backend
makeContractCall,
broadcastTransaction,
} from '@stacks/transactions';
const transaction = await makeContractCall({
contractAddress: address,
contractName: 'hello-world',
functionName: 'set-id',
functionArgs: [bufferCVFromString('3')],
senderKey: 'abcxyz',
network,
});
const broadcastResponse = await broadcastTransaction(transaction, network);
const txId = broadcastResponse.txid;
Authenticate users through a Stacks-compatible wallet
Read or broadcast to the Stacks blockchain
With Hiro Wallet, you can securely lock your STX to participate in Stacking, either stacking by yourself or in a pool.
Construct, sign, and broadcast Stacks transactions from a backend
makeContractCall,
broadcastTransaction,
} from '@stacks/transactions';
const transaction = await makeContractCall({
contractAddress: address,
contractName: 'hello-world',
functionName: 'set-id',
functionArgs: [bufferCVFromString('3')],
senderKey: 'abcxyz',
network,
});
const broadcastResponse = await broadcastTransaction(transaction, network);
const txId = broadcastResponse.txid;
Code with ((( Clarity
Clarity is a programming language that brings smart contracts to Bitcoin. It’s optimized for security and predictability, and it gives developers a safe way to build complex smart contracts. Clarity is designed for high-stakes code where bugs are not an option.