
Product
Introducing Webhook Events for Alert Changes
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.
@blockstack/stacks-utils
Advanced tools
npm install stacks-utils
# or
yarn add stacks-utils
import { validateStacksAddress } from "stacks-utils";
const isValid = validateStacksAddress(stacksAddress);
import { stacksAddressToBtcAddress } from "stacks-utils";
const btcAddress = stacksAddressToBtcAddress(stacksAddress);
import { btcAddressToStacksAddress } from "stacks-utils";
const stacksAddress = btcAddressToStacksAddress(btcAddress);
import { decodeRawTx } from "stacks-utils";
const fetchFees = false; // if true, the BTC fees will be fetched and calculated
async () => {
const tx = await decodeRawTx(rawTx, fetchFees);
console.log(tx);
};
This will return an object as such:
const tx = {
sender, // sender STX address
senderBitcoinAddress, // sender BTC address
recipient, // recipient STX address
recipientBitcoinAddress, // recipient BTC address
opcode, // $
operation, // TOKEN_TRANSFER
consensusHash, // df1631913bbf485ce6a25f26bccfc8d3
tokenType, // "STACKS"
tokenAmount, // BigInteger
tokenAmountReadable, // 0.000001
memo, // Message
fees // BTC tx fees in satoshis (if fetchFees = true)
};
This is mostly to be used in conjunction with fetchBtcAddressData. This will take an array of BTC transactions (with a hex key in each object) and decode the raw transaction and combine the two.
import { decodeRawTxs } from "stacks-utils";
const fetchFees = false; // if true, the BTC fees will be fetched and calculated
(async () => {
const txs = [...];
const transactions = await decodeRawTx(txs, fetchFees);
console.log(transactions)
})
See: https://docs.blockstack.org/core/wire-format.html
import { getOperationType } from "stacks-utils";
const opcode = "$";
const operation = getOperationType(opcode); // TOKEN_TRANSFER
import { fetchStacksAddressData } from "stacks-utils";
const data = await fetchStacksAddressData(stacksAddress);
import { fetchStacksAddressDetails } from "stacks-utils";
const data = await fetchStacksAddressDetails(stacksAddress);
import { fetchBtcAddressData } from "stacks-utils";
const data = await fetchBtcAddressData(btcAddress);
import { microToStacks } from "stacks-utils";
const stacksAmount = microToStacks(1); // 0.000001
import { stacksToMicro } from "stacks-utils";
const microStacksAmount = stacksToMicro(0.000001); // 1
FAQs
Utilities for the Stacks blockchain.
We found that @blockstack/stacks-utils demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.

Security News
ENISA has become a CVE Program Root, giving the EU a central authority for coordinating vulnerability reporting, disclosure, and cross-border response.

Product
Socket now scans OpenVSX extensions, giving teams early detection of risky behaviors, hidden capabilities, and supply chain threats in developer tools.