deriveDataPrivateKey
Derives the data private key for a specific account index. Uses the data derivation path m/888'/0'/{index + HARDENED_OFFSET}.
This key was used in Stacks 1.0 for BNS name registration and is still used for Gaia storage and profile signing.
Usage
import { deriveDataPrivateKey } from '@stacks/wallet-sdk';
import { HDKey } from '@scure/bip32';
import { mnemonicToSeed } from '@scure/bip39';
const seed = await mnemonicToSeed('your 24-word seed phrase ...');
const rootNode = HDKey.fromMasterSeed(seed);
const dataPrivateKey = deriveDataPrivateKey({ rootNode, index: 0 });
// compressed hex private key stringNotes
The returned private key is compressed (33 bytes, hex-encoded).
Uses a hardened child derivation (
index + 0x80000000).This key is separate from the STX private key and is used for data-layer operations (Gaia, profiles).
Signature
Returns
string
A compressed hex-encoded private key string.
Parameters
opts (required)
Property
Type
Description
rootNode
HDKey
The root HD key derived from the wallet's seed phrase.
index
number
The account index to derive the key for (0-based).
Last updated
Was this helpful?