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

The transaction fee expressed as satoshis per virtual byte, which determines a transaction's priority for block inclusion. Higher fee rates result in faster confirmation times. Virtual bytes account for the SegWit witness discount.

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.