The fee for a Bitcoin transaction is calculated as: Fee (satoshis) = fee rate (sat/vB) × transaction size (vBytes). Understanding this formula lets you set fees precisely — paying just enough for timely confirmation without overpaying.
Fee Formula
To calculate your fee: multiply your chosen fee rate (in sat/vB) by your transaction's virtual size. A typical 1-input / 2-output native SegWit (P2WPKH) transaction is about 141 vbytes. At 10 sat/vB, that transaction costs 1,410 satoshis — roughly a few cents at most BTC prices.
Transaction Size Guide
Legacy (P2PKH): ~225 vbytes per 1-in/2-out. SegWit P2SH-P2WPKH: ~167 vbytes. Native SegWit P2WPKH: ~141 vbytes. Taproot (P2TR): ~111 vbytes. More inputs or outputs increase the size proportionally — each additional P2WPKH input adds ~68 vbytes.
Real-Time Fee Tiers
Most fee estimators provide three tiers: Fast (next 1–2 blocks), Medium (next 3–6 blocks), and Slow (next 10+ blocks). Fast fees during peak congestion can run 50–200 sat/vB, while off-peak slow fees can drop below 2 sat/vB. Use mempool.space or similar tools for live data.
Avoiding Stuck Transactions
If your transaction gets stuck in the mempool, two techniques can help: Replace-by-Fee (RBF) lets you rebroadcast with a higher fee if you opted in at creation time. Child-Pays-for-Parent (CPFP) lets you create a new transaction that pays a high enough fee to pull the parent through.
Understanding satoshi per byte (sat/vB) is the key to efficient Bitcoin transactions. Set your fee rate based on mempool conditions, use SegWit or Taproot addresses to reduce transaction size, and never pay more than the market demands.
Continue reading: How Bitcoin Transaction Fees Work