BitcoinMachine
TERM_DEF // TRANSACTION / ANCESTOR_FEE_RATE_MINING
ANCESTOR FEE
RATE MINING
mining/">Ancestor Fee Rate Mining. A miner selection algorithm that picks transactions by their full ancestor-set feerate, not just their own.

This page sits in the Transaction section — How money moves: inputs, outputs, fees, signatures, sighash flags, and the formats that wrap them. Read on for what it is, why it exists, how it works under the hood, and what to watch out for.
Ancestor Fee Rate Mining — at a glance
TRANSACTION
Ancestor Fee Rate Mining is part of the FEE ECONOMY sub-family of transaction-level concepts. Fee paid per virtual byte of transaction size (sat/vB) — the actual price miners use to rank txs for inclusion. A miner selection algorithm that picks transactions by their full ancestor-set feerate, not just their own.
Why it exists
DESIGN
Bitcoin's block-space auction has limited supply (~1.7M vbytes per block) and unlimited demand. Sorting by absolute fee would unfairly favour large transactions; sorting by feerate prices each byte fairly.
Mechanism
HOW IT WORKS
feerate = fee_sats / virtual_size_vbytes. Miners build blocks by sorting mempool by feerate descending and packing until full. The "next block" feerate at any moment is the boundary value — pay above it for fast confirmation.
1. Wallet selects UTXOs whose total value covers the spend amount + estimated fee (coin selection). 2. Wallet builds the transaction body: version, inputs (each with prev txid + vout + sequence), outputs (each with value + scriptPubKey), locktime. 3. Wallet computes the sighash for each input (which parts of the tx the signature commits to — controlled by the SIGHASH flag). 4. Wallet signs each input with the right private key. Witness/scriptSig is populated with the resulting signatures + pubkeys. 5. Tx is broadcast to peers. Mempool propagation: tens of seconds globally. 6. A miner includes it in a block. Confirmation count grows by 1 per block; after ~6 the tx is effectively final.
Ancestor Fee Rate Mining — FEE ECONOMY
EXAMPLE
Example tx size fee feerate small P2WPKH transfer 140 vB 2,800 20 sat/vB multisig redemption 250 vB 5,000 20 sat/vB large CoinJoin (10 hops) 1,500 vB 45,000 30 sat/vB Mempool view : mempool.space, mempool.observer, bitcoin-cli getmempoolinfo Fee estimator : bitcoin-cli estimatesmartfee 6 → feerate for ~6 block confirm
PER-VBYTE
Miners rank by sat/vB, not absolute fee. A 2,000-vbyte tx paying 20,000 sats (10 sat/vB) loses to a 200-vbyte tx paying 6,000 sats (30 sat/vB).
ATOMIC
A transaction is either fully accepted into a block or fully rejected. There is no partial spend.
IMMUTABLE INPUTS
A UTXO can only ever be spent once. After that, it is permanently consumed.
NO BALANCES
Bitcoin tracks UTXOs, not balances. Your wallet computes a balance by summing the UTXOs it controls.
Things that catch people out
PITFALLS
  • address-reuse/">Address reuse degrades privacy — every reuse links more of your UTXOs together publicly. Modern wallets generate a fresh address per receive.
  • Fee estimation matters: under-pay and your tx sits in the mempool for hours; over-pay and you tip the miner more than necessary. Use a fee estimator.
  • "Change outputs" must go back to a fresh address you control. A missing output/">change output sends the difference to the miner as fee — a known footgun.
  • RBF (Replace-By-Fee) lets you re-broadcast a tx with a higher fee. Useful for stuck txs but means a 0-confirmation tx is never truly final.

TERMINOLOGY
Ancestor Fee Rate Mining
A miner selection algorithm that picks transactions by their full ancestor-set feerate, not just their own.
Transaction (Tx)
A signed payload spending one or more UTXOs and creating new ones; every state change in Bitcoin is a tx.
Raw Transaction
The hex-serialized bytes of a transaction, ready to broadcast or analyze.
Transaction ID (TXID)
HASH256 of a transaction's pre-witness serialization; used to reference outputs by (txid, vout).
wTXID (Witness TXID)
HASH256 of the full transaction including witness data; commits to signatures and used in the witness commitment.
Input
A reference to a previous output being spent, plus the data (scriptSig/witness) authorizing the spend.
Output
An (amount, scriptPubKey) pair created by a transaction; spendable later by a tx whose input references it.
UTXO (Unspent Transaction Output)
An output that hasn't been spent yet; your "balance" is the sum of UTXOs you can sign for.