Skip to main content

Fee Rate (sat/vB) | Bitcoin Glossary | Mapping Bitcoin

Fee Rate (sat/vB)

Economics

Also known as: sat/vB, sats per vbyte, fee density

Transaction fee in satoshis per virtual byte (sat/vB), setting inclusion priority. Higher sat/vB means faster confirmation; SegWit reduces virtual bytes.

Overview

The fee rate is the standard metric used to measure a Bitcoin transaction's fee relative to its size, expressed in satoshis per virtual byte (sat/vB). Rather than looking at the absolute fee amount, miners prioritize transactions by fee rate, making it the key factor determining how quickly a transaction gets confirmed. Virtual bytes (vB) are a unit introduced with SegWit that gives a discount to witness data, reflecting its lower impact on node resources.

Calculating Fee Rate

Fee Rate = Total Fee (in satoshis) / Transaction Size (in virtual bytes)

Example:
  Transaction size: 225 vB
  Desired fee rate: 20 sat/vB
  Total fee = 225 * 20 = 4,500 satoshis (0.000045 BTC)

Virtual Bytes vs. Raw Bytes

SegWit introduced the concept of transaction "weight," which discounts witness data:

Weight = (non-witness bytes * 4) + (witness bytes * 1)
Virtual bytes = Weight / 4

Example legacy transaction (no SegWit):
  Size: 226 bytes, Weight: 904, vSize: 226 vB

Example SegWit transaction:
  Non-witness: 118 bytes, Witness: 107 bytes
  Weight: (118 * 4) + (107 * 1) = 579
  vSize: 579 / 4 = 144.75 → 145 vB

  Savings: ~36% lower effective size

Typical Fee Rate Ranges

Fee rates fluctuate based on network demand:

┌────────────────────┬────────────────────────────────┐
│ Fee Rate           │ Typical Confirmation Time       │
├────────────────────┼────────────────────────────────┤
│ 50+ sat/vB         │ Next block (urgent)             │
│ 20-50 sat/vB       │ 1-3 blocks (~10-30 min)         │
│ 10-20 sat/vB       │ 3-6 blocks (~30-60 min)         │
│ 5-10 sat/vB        │ 6-12 blocks (~1-2 hours)        │
│ 1-5 sat/vB         │ Hours to days (low priority)    │
└────────────────────┴────────────────────────────────┘
Note: These ranges vary significantly based on current demand.

Fee Rate Estimation

Wallets estimate fee rates by analyzing the current mempool -- the pool of unconfirmed transactions waiting for block inclusion. Bitcoin Core's estimatesmartfee RPC provides fee rate estimates for different confirmation targets. Third-party APIs and mempool explorers also offer real-time fee estimates.

Why Fee Rate Matters More Than Total Fee

A miner filling a block wants to maximize total fees collected within the block weight limit. This is achieved by selecting transactions with the highest fee rate first:

Transaction A: 1,000 vB at 10 sat/vB = 10,000 sats total
Transaction B:   200 vB at 30 sat/vB =  6,000 sats total

Miner prefers B over A (higher sat/vB), even though A pays more total.
Five transactions like B would yield 30,000 sats in the same space.

Common Misconceptions

  • Fee rate is not based on the BTC amount being transferred. Sending 10 BTC or 0.001 BTC in identically structured transactions costs the same fee.
  • The minimum relay fee rate in Bitcoin Core is 1 sat/vB, not 0. Transactions below this threshold will not be propagated by default.
  • Fee rates are not set by the protocol. They are determined entirely by market supply and demand for block space.