Blockstream Enterprise
RecipesWallets

Single Signature Wallet (Bitcoin/Liquid)

SingleSig wallets use a single key for transaction signing, suitable for simpler use cases.

Characteristics

  • Networks: Bitcoin or Liquid
  • Security: Single key (no multisig)

Creating a SingleSig Wallet

// Step 1: Create signer
const signerResult = await broadcastRequest({
  action: 'add',
  resource: '/signers',
  details: {
    sid: uuidv4(),
    name: `singlesig_signer_${Date.now()}`,
    location: 'hosted',
  },
})

const signerId = signerResult.details.sid

// Step 2: Derive XPUB
const xpubResult = await broadcastRequest({
  action: 'add',
  resource: `/signers/${signerId}/xpubs`,
  details: {
    id: uuidv4(),
    change: 'receive',
  },
})

// Step 3: Create SingleSig wallet
const walletResult = await broadcastRequest({
  action: 'add',
  resource: '/wallets',
  details: {
    id: uuidv4(),
    name: `singlesig_wallet_${Date.now()}`,
    type: 'single_sig',
    network: 'bitcoin', // or 'liquid'
    value: {
      signer_id: signerId,
    },
  },
})

const walletId = walletResult.details.wid

// Step 4: Generate receive address
const addressResult = await broadcastRequest({
  action: 'add',
  resource: `/wallets/${walletId}/addresses`,
  details: {
    type: 'receive',
    index: 1,
  },
})

const address = addressResult.details.address

On this page