BitcoinMachine
TERM_DEF // TRANSACTION / PACKAGE_FEE_RATE
PACKAGE FEE
RATE
Package Fee Rate. The combined fee divided by combined size of a parent-child package; what miners sort by for CPFP.

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.
Package Fee Rate — at a glance
TRANSACTION
Package Fee Rate 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. The combined fee divided by combined size of a parent-child package; what miners sort by for CPFP.
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.
Package Fee Rate — 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
Package Fee Rate
The combined fee divided by combined size of a parent-child package; what miners sort by for CPFP.
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.