BIP Name Purpose
BIP 32 HD Wallets Deterministic key derivation from seed
BIP 39 Mnemonic Human-readable seed words
BIP 44 Multi-Account Standard derivation paths
BIP 84 Native SegWit Derivation for P2WPKH
BIP 86 Taproot Single Key Derivation for P2TR key-path
BIP 340 Schnorr Signatures Signature algorithm for Taproot
BIP 341 Taproot Output and spending rules
BIP 342 Tapscript Script rules for Taproot
BIP 174 PSBT Partially Signed Bitcoin Transactions format
Path Network Type
m/44'/0'/0'Mainnet Legacy P2PKH
m/49'/0'/0'Mainnet Wrapped SegWit P2SH-P2WPKH
m/84'/0'/0'Mainnet Native SegWit P2WPKH
m/86'/0'/0'Mainnet Taproot P2TR
m/86'/1'/0'Testnet/Signet Taproot P2TR
Opcode Hex Description
OP_00x00 Push empty byte array
OP_1-OP_160x51-0x60 Push numbers 1-16
OP_RETURN0x6a Marks output as unspendable
OP_DUP0x76 Duplicate top stack item
OP_EQUAL0x87 Compare top two items
OP_EQUALVERIFY0x88 Equal then verify (fails if not equal)
OP_CHECKSIG0xac Verify signature
OP_CHECKSIGADD0xba Verify and add to counter (Tapscript)
OP_CHECKLOCKTIMEVERIFY0xb1 Absolute Time/Block lock (CLTV)
OP_CHECKSEQUENCEVERIFY0xb2 Relative Time/Block lock (CSV)
Component Size
Private key 32 bytes
Public key (compressed) 33 bytes
Public key (x-only) 32 bytes
Schnorr signature 64 bytes
ECDSA signature ~71-72 bytes (DER encoded)
P2TR output script 34 bytes (OP_1 + push32 + key)
Outpoint 36 bytes (txid 32B + vout 4B)
Value (Amount) 8 bytes (int64)
Block Header 80 bytes
Command Category Description
getblockchaininfoNetwork Status of chain, sync progress, and active soft forks.
getnewaddressWallet Generates a new address (type depends on wallet config).
listunspentWallet Returns array of UTXOs owned by the wallet.
createrawtransactionRaw Creates an unsigned TX hex from inputs and outputs.
signrawtransactionwithwalletWallet Signs inputs using keys found in the wallet.
sendrawtransactionNetwork Broadcasts a signed TX hex to the P2P network.
testmempoolacceptDebug Validation check (dry-run) for a transaction without broadcasting.
scantxoutsetBlockchain Scans UTXO set for specific descriptors (useful for recovering funds).
TXID 32 bytes
Tag Usage
“TapLeaf” Hash of a script in the Taproot tree
“TapBranch” Combine two child hashes
“TapTweak” Compute the tweak value
“TapSighash” The signature message
“BIP0340/challenge” Schnorr signature challenge
“BIP0340/aux” Auxiliary randomness
“BIP0340/nonce” Nonce generation
Term Definition
UTXO An unspent transaction output that can be spent as an input in a new transaction with a valid ScriptSig
Mempool Collection of valid transactions learned from P2P network but not yet confirmed in a block
Confirmation Once a transaction is included in a block, it has one confirmation. Six or more is considered sufficient proof that a transaction cannot be reversed
Consensus When several nodes have the same blocks in their locally-validated best block chain
Consensus Rules The block validation rules that full nodes follow to stay in consensus
Script Bitcoin uses a scripting system that is Forth-like, simple, stack-based, and processed left to right. Purposefully not Turing-complete
ScriptPubKey Script included in outputs which sets conditions for spending those satoshis
ScriptSig Data generated by a spender to satisfy a pubkey script
HD Protocol Hierarchical Deterministic key creation and transfer protocol (BIP-32)
CKD Child key derivation functions - compute child extended key from parent and index
PSBT Partially Signed Bitcoin Transaction format (BIP 174, BIP 370)
CPFP Child-Pays-For-Parent - pay high fee to incentivize confirming parent transaction
RBF Replace-by-fee - replacements must pay for their own cost plus the fee of replaced transactions
Dust An output so small that spending it costs more in fees than it’s worth
Per bitcoincore.academy/components-overview.html:
graph TD
subgraph WalletStructure["Wallet Structure"]
CW["CWallet"]
WDB["WalletDatabase"]
SPKM["ScriptPubKeyMan (base)"]
DSPKM["DescriptorScriptPubKeyMan"]
LSPKM["LegacyScriptPubKeyMan"]
SP["SigningProvider"]
IC["Interfaces::Chain"]
LOCK["cs_wallet (lock)"]
end
CW --> WDB
CW --> SPKM
SPKM --> DSPKM
SPKM --> LSPKM
DSPKM --> SP
LSPKM --> SP
CW --> IC
CW --> LOCK
Component Purpose
WalletDatabase Represents a single wallet, handles reads/writes to disk
ScriptPubKeyMan Base class for SPKM implementations
DescriptorScriptPubKeyMan SPKM for descriptor-based wallets
LegacyScriptPubKeyMan SPKM for legacy wallets
SigningProvider Interface for a KeyStore to sign transactions from
Interfaces::Chain Access to chain state, fee rates, notifications, tx submission
cs_wallet Primary wallet lock for atomic operations
This curated guide was validated against bitcoincore.academy on January 30, 2026. For the most current information, always consult the official Bitcoin Core documentation and source code.