Definition
A weight unit (WU) is the fundamental unit Bitcoin uses to measure how much of a block a transaction occupies. Introduced by the SegWit soft fork (BIP141), it replaced the old one-megabyte byte cap with a 4,000,000 weight-unit limit per block, while quietly increasing effective capacity by charging witness data less than base data. Every transaction has an exact weight, every block must total at most 4 million WU, and everything else in Bitcoin's fee market is arithmetic on top of this number.
The weight formula
Transaction weight is calculated as the base (non-witness) size multiplied by four, plus the witness size multiplied by one. Equivalently, every byte of the base transaction — version, inputs, outputs, locktime — costs 4 WU, while every byte of SegWit witness data (signatures and public keys) costs just 1 WU. This is the witness discount, and it is why a block can carry meaningfully more than one megabyte of raw transaction data: a block stuffed with witness-heavy transactions fits more bytes under the same 4M WU ceiling than one full of legacy transactions. A legacy transaction with no witness data weighs exactly four times its byte size, which is how the old 1 MB limit maps cleanly onto the new 4M WU limit — the upgrade was backward-compatible by construction.
Why the discount exists
The rationale is that witness data imposes a lighter long-term burden on the network. Signatures are needed to validate a transaction as it enters the chain, but they do not live on in the UTXO set that every node must keep fast and accessible — only the spendable transaction skeleton does. Charging less for the data that ages out and more for the data that persists aligns the fee market with actual node costs. The discount also gently incentivises SegWit and Taproot adoption, since those input types put more of their bulk in the discounted witness — and Schnorr-based Taproot spends keep witnesses compact to begin with.
Weight in daily use
Weight units are the raw consensus measure; for human-facing fee estimation they are divided by four and expressed as vBytes, which is why wallets quote a fee rate in sat/vB rather than sat/WU. For miners, the 4,000,000 WU ceiling is the fixed budget filled each round: block template construction selects and orders transactions to maximise fee revenue within that hard constraint, which directly shapes the mempool fee market every block. When you hear that a transaction "takes up more block space" or that the mempool has "300 vMB queued," weight units are the ground truth underneath — the mempool's queue, your wallet's fee slider, and the miner's template builder are all denominating the same scarce resource.
A worked example
The formula is easiest to trust once you run it. Take a transaction whose base data is 200 bytes and whose witness data is 100 bytes: weight is 200 × 4 + 100 × 1 = 900 WU, which is 225 vBytes after dividing by four — noticeably less than its 300 raw bytes on the wire. A purely legacy transaction of 300 bytes, by contrast, weighs 300 × 4 = 1,200 WU, or exactly 300 vBytes. Same byte count, 25% cheaper to confirm for the SegWit version, purely because more of its bulk sits in the discounted witness. Multiply either vsize by your chosen fee rate in sat/vB and you have the total fee — the entire fee market reduces to this one line of arithmetic, applied a few thousand times per block.
Understanding weight also explains practical fee behaviour: consolidating many inputs is expensive because each input's outpoint and script live in the heavily-weighted base portion, while adding one more signature is comparatively cheap. That asymmetry — inputs cost more than most people expect, witnesses less — is the weight formula showing through in your wallet's fee estimates.
In Simple Terms
A weight unit (WU) is the fundamental unit Bitcoin uses to measure how much of a block a transaction occupies. Introduced by the SegWit soft…
