Bitcoin

Network specific features and requirements for Bitcoin wallets.

UTXO model

Bitcoin is the first cryptocurrency and uses the UTXO model. This guide explains Bitcoin specific behavior when using IBM Digital Asset Haven wallets.
Bitcoin uses UTXOs instead of account based balances. Each transaction consumes existing UTXOs and produces new ones. Key implications:
  • UTXO selection: IBM Digital Asset Haven automatically selects UTXOs for your transactions. This includes unconfirmed UTXOs from pending transactions.
  • Consolidation: Having many small UTXOs can increase transaction fees. You can reduce fees by consolidating funds through a self transfer.
IBM Digital Asset Haven may include unconfirmed UTXOs when building transactions. This creates an implicit Child Pays for Parent (CPFP) relationship. Miners are incentivized to confirm both the parent and child transactions to collect all fees.

Multiple addresses

If you need multiple Bitcoin addresses, such as one per customer for deposit tracking, create a separate key for each address. Each key produces an independent Bitcoin wallet with its own address. Key creation scales linearly and supports large numbers of addresses. IBM Digital Asset Haven uses MPC instead of hierarchical deterministic derivation such as BIP 32 or BIP 44. There are no seed phrases or derivation paths. Each key and its shares are generated and stored independently. This provides the same functionality as deriving multiple addresses while improving isolation between keys.

Address types

IBM Digital Asset Haven supports multiple Bitcoin address formats.
Address Type Prefix Signature
Pay to Taproot (P2TR) bc1p... Schnorr
Pay to Witness Public Key Hash (P2WPKH) bc1q... ECDSA
Choose the key scheme when creating a Bitcoin wallet.
  • EdDSA or Schnorr for Taproot addresses
  • ECDSA for SegWit addresses

Transfers

Use the Transfer Asset endpoint with kind: Native to send BTC. Specify the amount in satoshis. One BTC equals 100,000,000 satoshis.
Fee priority
Bitcoin fees vary with network congestion. Use the priority field to select a fee tier.
Priority Description
Slow Lower fees, longer confirmation time
Standard Balanced fees and confirmation time
Fast Higher fees, faster confirmation
Estimate Fees endpoint to determine suitable fees.
Fee bumping
Bitcoin supports Replace By Fee (RBF) and Child Pays for Parent (CPFP) to increase transaction fees on pending transactions.
Replace By Fee (RBF)
IBM Digital Asset Haven enables RBF by default. If a transaction is stuck, use the /api-reference/wallets/speed-up-transfer endpoint to replace it with a higher fee version.RBF creates a new transaction that:
  • Reuses the same inputs as the original transaction
  • Sends the same amount to the same recipient
  • Increases fees by reducing the change output
The original transaction must include a change output. Transactions that spend the entire balance cannot be sped up using this method.
Child Pays for Parent (CPFP)

CPFP increases fees by spending an unconfirmed output with a higher fee. The child transaction motivates miners to confirm both the parent and child transactions. IBM Digital Asset Haven provides implicit CPFP by using unconfirmed UTXOs when building transactions. For explicit CPFP transactions, build a custom PSBT with the SDK.