Skip to content

What is sat/vB, and how are Bitcoin fees worked out?

sat/vB means satoshis per virtual byte: how much a payment pays for each unit of block space it takes. The fee is that rate times the payment’s size in virtual bytes, so a typical 141 vB payment at 4 sat/vB pays 564 satoshis, whatever amount it sends.

By UTXOHub5 min readReviewed

What sat/vB means

A satoshi, or sat, is the smallest amount of bitcoin: one hundred-millionth of a bitcoin. A virtual byte, or vB, is the unit Bitcoin uses to measure how much room a payment takes up in a block. So a fee rate of 4 sat/vB means the payment pays 4 satoshis for each virtual byte it takes. A block has room for 1,000,000 virtual bytes. Space is limited, so a payment pays for the room it takes, not for the amount of bitcoin it moves.

How to work out a fee

Multiply the fee rate by the payment’s virtual size. A simple payment from a modern wallet takes about 141 vB, so at 4 sat/vB it pays 141 × 4 = 564 satoshis, which is 0.00000564 BTC. To turn satoshis into dollars, divide by 100,000,000 and multiply by the price of one bitcoin. If one bitcoin cost $80,000, 564 satoshis would be about $0.45. Sending 0.001 BTC or 10 BTC in that same payment would cost the same. UTXOHub’s Fees page does this sum for you, with the rates that would get a payment into the next block, within about an hour, or within about a day.

One payment, worked outA simple payment of 141 vB. The rate and the price are examples, not today’s fee.
Fee rate
4 sat/vBChosen in your wallet, or set by the app you send from.
Virtual size
141 vBOne input and two outputs, from a SegWit address (bc1q…).
Fee
564 sats141 × 4. That is 0.00000564 BTC.
In dollars
$0.45564 ÷ 100,000,000 × $80,000, at an example price.
Bitcoin fees right now

What makes a payment bigger

Size depends on how many inputs and outputs a payment has, and on the type of address the bitcoin is spent from. Each input is an amount of bitcoin your wallet received earlier and is now spending, and each needs its own signature. So a wallet that has received many small amounts may need several inputs to send one larger amount, and pays for the room each takes. Most payments have two outputs: one to the person paid, and change back to the sender. Newer address types make smaller payments. Addresses starting bc1q or bc1p take less room than old ones starting with 1. That is because SegWit counts each byte of signature data as a quarter of a byte when it works out the virtual size.

Typical sizesFrom Bitcoin Optech’s transaction size calculator, which assumes the largest usual signature, so real payments can be a few vB smaller. Each payment pays two outputs of the same type it spends from.
bc1q… address
141 vB1 input, 2 outputs. Each extra input adds about 68 vB.
bc1p… address
154 vB1 input, 2 outputs. Each extra input adds about 58 vB.
Address starting 1…
226 vB1 input, 2 outputs. Each extra input adds about 148 vB.
bc1q…, 3 inputs
277 vBSpending three amounts received earlier, at once, roughly doubles the fee.

Virtual bytes and weight

Since SegWit, Bitcoin measures blocks in weight units. Each byte of signature data counts as 1 weight unit and every other byte counts as 4, and a block can hold 4,000,000 weight units. A payment’s virtual size is its weight divided by 4, rounded up. That is why a payment can be bigger in plain bytes than in virtual bytes. Fee rates always use virtual bytes. A payment’s page on UTXOHub shows its fee rate, its virtual size and its weight under its details.

Who chooses the rate

The sender’s wallet sets the rate when it signs the payment, usually from an estimate of what recent blocks needed, and often lets you pick a faster or slower option. An exchange or app that sends for you chooses it itself. Miners fill a block with the transactions that pay the most per virtual byte, so a higher rate usually confirms sooner when many transactions are waiting in the queue, and a low one waits longer. When the queue is short, a low rate can still confirm in the next block. Since Bitcoin Core 29.1, released in September 2025, nodes on its default settings pass on transactions paying as little as 0.1 sat/vB, down from 1 sat/vB; not every node or miner accepts them.

How long does a Bitcoin transaction take?

Other ways fee rates are written

Some wallets write sat/vbyte, sats/vB or sat/byte. Bitcoin Core’s own commands give rates in BTC/kvB, bitcoin per 1,000 virtual bytes: 0.00001 BTC/kvB is 1 sat/vB. Whatever the unit, check the total fee your wallet shows before you approve a payment, since that is what you will pay.

If your payment is waiting because its rate is too low

Look the payment up on UTXOHub. Its page compares its fee rate with what the next blocks need, and says roughly when it will probably confirm. If you sent it, your wallet may let you raise the fee by replacing it with a version at a higher rate. An exchange’s withdrawal fee is its own charge and can differ from the network fee its payment paid.

How to speed up a stuck transactionWhy a withdrawal charge can differ
All questions & guides

References