Intermediate

What is sat/vB?

Understand what sat/vB (satoshis per byte) is: fee calculation, cost impact, and Bitcoin transaction optimization. Practical fee guide for intermediate level with simple examples.

Published on November 27, 2025
#bitcoin#fees#sat-vb#satoshis#transactions#optimization#intermediate

What is sat/vB?

Introduction

If you've ever sent Bitcoin, you've probably seen terms like "fee", "transaction fee", or maybe even "sat/vB". But what exactly does sat/vB mean? And how does it affect the real cost of your transactions?

sat/vB (satoshis per byte) is the standard unit used to calculate Bitcoin transaction fees. Understanding this concept is fundamental to optimizing your costs and making more efficient transactions.

This guide will explain what sat/vB is, how to calculate it, the impact on transaction costs, and how to optimize to pay less fees. Our goal is to explain fees in a practical way, using examples with simple calculations to facilitate understanding.

By the end, you'll be able to calculate fees manually, understand why some transactions are more expensive, and how to reduce your costs.

What is sat/vB?

Definition

sat/vB means "satoshis per byte" - it's the amount of satoshis you pay for each byte that your transaction occupies.

Breakdown:

  • sat: Satoshi (smallest Bitcoin unit, 0.00000001 BTC)
  • vB: Virtual Byte (transaction's virtual byte)
  • sat/vB: How many satoshis per byte

Simple example:

  • Fee of 10 sat/vB
  • Transaction of 250 bytes
  • Total fee: 10 × 250 = 2,500 satoshis = 0.000025 BTC

Why Use sat/vB?

Reasons:

  1. Standardization: Universal unit to compare fees
  2. Precision: Allows exact calculations
  3. Flexibility: Works for any transaction size
  4. Efficiency: Allows cost optimization

Analogy:

  • Like "dollars per kilometer" for transportation
  • More bytes = more you pay
  • Higher fee per byte = more expensive

How Does Calculation Work?

Basic Formula

Simple formula:

Total Fee (in satoshis) = Fee per Byte (sat/vB) × Transaction Size (bytes)

Or in Bitcoin:

Total Fee (in BTC) = (Fee per Byte (sat/vB) × Transaction Size) / 100,000,000

Example 1: Basic Calculation

Scenario:

  • Fee: 5 sat/vB
  • Transaction: 200 bytes

Calculation:

  • Total fee = 5 × 200 = 1,000 satoshis
  • In BTC: 1,000 / 100,000,000 = 0.00001 BTC

In dollars (assuming BTC = $60,000):

  • 0.00001 × $60,000 = $0.60

Example 2: Higher Fee

Scenario:

  • Fee: 50 sat/vB
  • Transaction: 250 bytes

Calculation:

  • Total fee = 50 × 250 = 12,500 satoshis
  • In BTC: 12,500 / 100,000,000 = 0.000125 BTC

In dollars (assuming BTC = $60,000):

  • 0.000125 × $60,000 = $7.50

Comparison: 10x higher fee per byte = 10x higher cost.

Example 3: Larger Transaction

Scenario:

  • Fee: 10 sat/vB
  • Transaction: 500 bytes (larger, more inputs/outputs)

Calculation:

  • Total fee = 10 × 500 = 5,000 satoshis
  • In BTC: 5,000 / 100,000,000 = 0.00005 BTC

In dollars (assuming BTC = $60,000):

  • 0.00005 × $60,000 = $3.00

Observation: Same fee per byte, but larger transaction = higher cost.

Example 4: Fee Comparison

Situation: Send $1,000 worth of Bitcoin

Option A - Low fee (5 sat/vB):

  • Transaction: 250 bytes
  • Fee: 5 × 250 = 1,250 satoshis = 0.0000125 BTC = $0.75

Option B - Medium fee (15 sat/vB):

  • Transaction: 250 bytes
  • Fee: 15 × 250 = 3,750 satoshis = 0.0000375 BTC = $2.25

Option C - High fee (50 sat/vB):

  • Transaction: 250 bytes
  • Fee: 50 × 250 = 12,500 satoshis = 0.000125 BTC = $7.50

Difference: Option C costs 10x more than Option A!

What Determines Transaction Size?

Factors Affecting Size

1. Number of Inputs:

  • Each input adds ~148 bytes
  • More inputs = larger transaction
  • Example: Using 3 inputs = ~444 bytes just in inputs

2. Number of Outputs:

  • Each output adds ~34 bytes
  • More outputs = larger transaction
  • Example: Send to 2 addresses = 2 outputs

3. Address Type:

  • Legacy (P2PKH): ~34 bytes per output
  • SegWit (P2WPKH): ~31 bytes per output (smaller)
  • Native SegWit (P2WSH): Even smaller

4. Signatures:

  • Each signature adds bytes
  • Multiple inputs = multiple signatures

5. Additional Data:

  • OP_RETURN (messages)
  • Other optional data

Example: Simple vs Complex Transaction

Simple Transaction (1 input, 2 outputs):

  • 1 input: ~148 bytes
  • 2 outputs: ~68 bytes (34 × 2)
  • Overhead: ~10 bytes
  • Total: ~226 bytes

Complex Transaction (5 inputs, 3 outputs):

  • 5 inputs: ~740 bytes (148 × 5)
  • 3 outputs: ~102 bytes (34 × 3)
  • Overhead: ~10 bytes
  • Total: ~852 bytes

Cost comparison (at 10 sat/vB):

  • Simple: 10 × 226 = 2,260 sat = $1.36
  • Complex: 10 × 852 = 8,520 sat = $5.11

Difference: Complex transaction costs ~3.8x more!

Fee Impact

Impact on Total Cost

Complete formula:

Total Cost = Sent Value + Transaction Fee

Practical example:

Situation: Send 0.1 BTC ($6,000)

With low fee (5 sat/vB, 250 bytes):

  • Fee: 0.0000125 BTC = $0.75
  • Total cost: $6,000 + $0.75 = $6,000.75
  • Fee = 0.0125% of value

With high fee (50 sat/vB, 250 bytes):

  • Fee: 0.000125 BTC = $7.50
  • Total cost: $6,000 + $7.50 = $6,007.50
  • Fee = 0.125% of value

Impact: High fee costs 10x more, but still small percentage for larger values.

Impact on Small Values

Situation: Send 0.001 BTC ($60)

With low fee (5 sat/vB, 250 bytes):

  • Fee: $0.75
  • Total cost: $60 + $0.75 = $60.75
  • Fee = 1.25% of value

With high fee (50 sat/vB, 250 bytes):

  • Fee: $7.50
  • Total cost: $60 + $7.50 = $67.50
  • Fee = 12.5% of value

Impact: For small values, fees can be significant percentage!

Impact on Multiple Transactions

Scenario: Make 10 transactions of $1,000 each

With low fee (5 sat/vB, 250 bytes):

  • Fee per transaction: $0.75
  • Total in fees: 10 × $0.75 = $7.50

With high fee (50 sat/vB, 250 bytes):

  • Fee per transaction: $7.50
  • Total in fees: 10 × $7.50 = $75.00

Difference: $67.50 more in fees!

Observation: For users making many transactions, optimizing fees is even more important.

Fee Optimization

1. Choose Right Time

Strategy: Send when network is less congested

How it works:

  • Congested network = high fees (50-100+ sat/vB)
  • Empty network = low fees (1-5 sat/vB)
  • Low activity hours = lower fees

Potential savings:

  • Congested (100 sat/vB): $7.50
  • Empty (2 sat/vB): $0.15
  • Savings: $7.35 per transaction!

2. Use SegWit

Strategy: Use SegWit addresses (bech32)

How it works:

  • SegWit addresses are smaller
  • Transaction occupies fewer bytes
  • Same fee per byte = lower total cost

Example:

  • Legacy: 250 bytes
  • SegWit: 200 bytes
  • Fee: 10 sat/vB
  • Legacy: 10 × 250 = 2,500 sat = $1.50
  • SegWit: 10 × 200 = 2,000 sat = $1.20
  • Savings: $0.30 (20% cheaper)

3. Consolidate Inputs

Strategy: Group multiple small inputs into one

How it works:

  • Many small inputs = large transaction
  • Consolidating inputs reduces size
  • Fewer inputs = fewer bytes

Example:

  • 10 small inputs: ~1,480 bytes
  • Consolidate into 1 input: ~148 bytes
  • Difference: 1,332 bytes less

Savings (at 10 sat/vB):

  • Before: 10 × 1,480 = 14,800 sat = $8.88
  • After: 10 × 148 = 1,480 sat = $0.89
  • Savings: $7.99 (90% cheaper!)

4. Use Lightning Network

Strategy: Small transactions via Lightning

How it works:

  • Lightning is Bitcoin Layer 2
  • Fees almost zero
  • Instant
  • Ideal for small values

Example:

  • On-chain: $0.75 - $7.50
  • Lightning: $0.01 - $0.10
  • Savings: 99%+ in fees!

When to use: Small and frequent payments.

5. Batch Transactions

Strategy: Consolidate multiple transactions into one

How it works:

  • Instead of 5 separate transactions
  • Make 1 transaction with 5 outputs
  • Saves bytes from overhead

Example:

  • 5 separate transactions: 5 × 250 = 1,250 bytes total
  • 1 transaction with 5 outputs: ~300 bytes
  • Difference: 950 bytes less

Savings (at 10 sat/vB):

  • Before: 10 × 1,250 = 12,500 sat = $7.50
  • After: 10 × 300 = 3,000 sat = $1.80
  • Savings: $5.70 (76% cheaper)

6. Adjust Fee Manually

Strategy: Don't use automatic "high" fee

How it works:

  • Many wallets suggest "high" fee for speed
  • You can choose fee manually
  • "Low" fee may be sufficient (may take longer)

Example:

  • Automatic "high" fee: 50 sat/vB = $7.50
  • Manual "low" fee: 2 sat/vB = $0.30
  • Savings: $7.20

Trade-off: Low fee = slower confirmation (may take hours or days).

Practical Optimization Strategies

For Urgent Transactions

If you need fast confirmation:

  • Use high fee (50-100 sat/vB)
  • Accept higher cost
  • Confirmation in ~10 minutes

Example:

  • Value: $10,000
  • High fee: $7.50 (0.075% of value)
  • Speed: ~10 minutes
  • Worth it for large values

For Normal Transactions

If you can wait a few hours:

  • Use medium fee (5-15 sat/vB)
  • Reasonable cost
  • Confirmation in 1-3 hours

Example:

  • Value: $1,000
  • Medium fee: $1.50 (0.15% of value)
  • Speed: 1-3 hours
  • Good cost-benefit ratio

For Non-Urgent Transactions

If you can wait days:

  • Use low fee (1-3 sat/vB)
  • Minimum cost
  • Confirmation may take days

Example:

  • Value: $500
  • Low fee: $0.30 (0.06% of value)
  • Speed: 1-3 days
  • Ideal for non-urgent

For Multiple Transactions

Combined strategy:

  1. Consolidate inputs first (when fee is low)
  2. Then make optimized transactions
  3. Always use SegWit
  4. Batch when possible

Total savings: Can reduce costs by 50-90%!

Complete Practical Examples

Example 1: Optimized Simple Send

Situation: Send 0.01 BTC ($600) to 1 person

Optimized configuration:

  • SegWit address: ✓
  • Low fee (2 sat/vB): ✓
  • Size: 200 bytes
  • Total fee: 2 × 200 = 400 sat = 0.000004 BTC = $0.24

Result: Fee of only $0.24 (0.04% of value)

Example 2: Urgent Send

Situation: Send $10,000 urgently

Configuration:

  • High fee (80 sat/vB)
  • Size: 250 bytes
  • Total fee: 80 × 250 = 20,000 sat = 0.0002 BTC = $12.00

Result: Fee of $12.00 (0.12% of value), but fast confirmation

Example 3: Multiple Sends

Situation: Send $1,000 to 5 people

Option A - Separate transactions:

  • 5 transactions × 250 bytes = 1,250 bytes total
  • Fee (10 sat/vB): 10 × 1,250 = 12,500 sat = $7.50

Option B - Batch into 1 transaction:

  • 1 transaction with 5 outputs = 350 bytes
  • Fee (10 sat/vB): 10 × 350 = 3,500 sat = $2.10

Result: Savings of $5.40 (72% cheaper)

Frequently Asked Questions

What is a good sat/vB fee?

Depends on urgency:

  • Not urgent: 1-3 sat/vB
  • Normal: 5-15 sat/vB
  • Urgent: 30-100+ sat/vB

Check current network state before.

Why is my transaction taking so long?

Probably used fee too low. Transaction may be stuck in mempool awaiting confirmation. Solution: wait or do replace-by-fee (RBF) with higher fee.

Can I reduce transaction size after created?

No. Size is determined by inputs/outputs. But you can increase fee with RBF (Replace-By-Fee) if your wallet supports it.

Is fee in sat/vB fixed?

No. Fee per byte varies with network congestion. Can vary from 1 sat/vB (empty) to 100+ sat/vB (very congested).

What's best time to send with low fee?

Generally:

  • Weekends
  • Early morning (local time)
  • When there's less network activity

Check mempool before sending.

Conclusion

sat/vB (satoshis per byte) is the fundamental unit to understand and calculate Bitcoin transaction fees. Understanding this concept allows optimizing costs and making more efficient transactions.

The main points you need to understand are:

  1. sat/vB is fee per byte - What you pay for each byte of transaction
  2. Calculation is simple - Total fee = sat/vB × size in bytes
  3. Size matters - Larger transactions cost more
  4. Fee varies - Depends on network congestion
  5. Optimization is possible - Many strategies to reduce costs
  6. Real impact - For small values or many transactions, optimizing makes difference

Understanding sat/vB gives you control over your transaction costs. You can choose when to pay more (urgency) or less (patience), and use optimization strategies to significantly reduce costs.

Remember: fees are part of the cost of using Bitcoin. But with knowledge and strategy, you can minimize this cost. Use optimization strategies, choose right times, and always consider if you really need fast confirmation or can wait.

For most users, understanding sat/vB and applying basic optimizations (use SegWit, choose right time, adjust fee manually) already significantly reduces costs. For advanced users, consolidating inputs and batching transactions can generate even greater savings.