WalletKeys
Interface representing the root-level keys derived from a wallet's seed phrase. These keys are the foundation for all account derivation and configuration encryption.
Usage
import { deriveWalletKeys, WalletKeys } 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 walletKeys: WalletKeys = await deriveWalletKeys(rootNode);
console.log(walletKeys.salt); // hex string
console.log(walletKeys.rootKey); // xprv...
console.log(walletKeys.configPrivateKey); // hex stringDefinition
interface WalletKeys {
/** Used when generating app private keys, which encrypt app-specific data */
salt: string;
/** The private key associated with the root of a BIP39 keychain */
rootKey: string;
/** A private key used to encrypt configuration data */
configPrivateKey: string;
}Properties
Property
Type
Description
salt
string
Hex-encoded salt derived from the identity keychain. Used as input when deriving app-specific keys.
rootKey
string
The root extended private key (xprv...) from the BIP39 seed. Used to reconstruct the HD keychain.
configPrivateKey
string
Hex-encoded private key derived from path m/5757'/0'/1. Used to encrypt/decrypt wallet configuration data stored in Gaia.
Last updated
Was this helpful?