Wallet

Interface representing a full Stacks wallet. Extends WalletKeys with the encrypted secret key and a list of derived accounts.


Usage

import { generateWallet, generateNewAccount, Wallet } from '@stacks/wallet-sdk';

const wallet: Wallet = await generateWallet({
  secretKey: 'your 24-word seed phrase ...',
  password: 'password',
});

console.log(wallet.encryptedSecretKey); // hex-encoded encrypted mnemonic
console.log(wallet.rootKey);            // xprv... root extended private key
console.log(wallet.configPrivateKey);   // hex key for encrypting config data
console.log(wallet.salt);               // hex salt for app-specific key derivation
console.log(wallet.accounts.length);    // 1

// Add more accounts
const updatedWallet = generateNewAccount(wallet);
console.log(updatedWallet.accounts.length); // 2

Reference Linkarrow-up-right


Definition


Properties

Inherits all properties from WalletKeys, plus:

Property
Type
Description

encryptedSecretKey

string

The mnemonic seed phrase encrypted with the wallet password (hex-encoded).

accounts

Account[]

Array of accounts derived from this wallet.

From WalletKeys:

Property
Type
Description

salt

string

Used when generating app-specific private keys.

rootKey

string

The root extended private key (xprv...) of the BIP39 keychain.

configPrivateKey

string

A private key used to encrypt wallet configuration data.

Last updated

Was this helpful?