Transaction Fees are bitcoin paid for including a transaction in a block. They go to the miner who includes it in a valid block; neither a bank nor a single network price list sets them. Your wallet usually suggests a fee based on the transaction’s size and how quickly you want confirmation. A higher offer does not reserve a time slot.
Imagine your wallet uses 100,000 satoshis you received earlier. A satoshi, or sat, is the smallest BTC unit. It sends 60,000 sat to the recipient and returns 38,000 sat to you. The remaining 2,000 sat is the fee. The funds used are called inputs; the new amounts for the recipient and your change are outputs. An ordinary transaction’s fee is the sum of inputs minus the sum of all outputs. It is not a separate payment to a special address: the miner can add it to the reward in the coinbase transaction, the first transaction in the block. [2] [3]
The cost depends on the space a transaction needs, not a percentage of the BTC sent. A wallet may assemble a small payment from many amounts received earlier; each additional input adds data. A large transfer using a single input can therefore cost less. The rate in sat/vB tells you how many satoshis you pay per virtual byte, the unit used to calculate size for fees. At 200 vB and 10 sat/vB, you pay 2,000 sat. Equal fee rates do not mean equal total fees when two transactions have different sizes. [1]
The recommended rate is an estimate based on pending transactions and past confirmations. Each node keeps its own Mempool, a local collection of pending transactions. When more people compete for limited block space, a previously sufficient rate may no longer buy a quick confirmation. Miners can also consider transactions that depend on one another. A higher rate makes your offer more attractive, but promises no particular block. Before sending, compare both the total fee and the estimated wait. An exchange’s withdrawal charge may also include its service price; it need not equal the network fee for your payment. [3]
Some wallets offer a fee increase. Replace-by-Fee (RBF) creates a replacement transaction spending at least one of the same inputs and offering a higher fee; acceptance depends on nodes’ rules. Child Pays for Parent (CPFP) instead spends an available output of the pending transaction in a new transaction with a higher fee. To collect that new fee, the miner must also include the earlier transaction, so it considers the whole package. You need control of the relevant funds and wallet support. This is not a universal way to speed up someone else’s payment, and neither method guarantees a confirmation time. [3] [4]
This detail helps when comparing wallet figures: virtual size is not always the number of stored data bytes. SegWit introduced transaction weight, where base data and the data used to verify signatures carry different weights. BIP 141 defines virtual size as weight divided by four, rounded up. You do not need to calculate this yourself for an ordinary payment. Just remember that the types of inputs and the transaction’s structure can change its size, and therefore the fee at the same rate. [1]
Fee rate × virtual size
A 140 vB transaction at 12 sat/vB pays 1 680 sat. With the same virtual size and rate, this calculation is unchanged whether you send 0.001 BTC or 10 BTC.
For the clearest picture, read this entry together with Transaction, Mempool, Mining, Block Subsidy, SegWit. The reverse links also lead from Mining, Transaction, Block Subsidy, Mempool.
01Are Bitcoin fees a percentage of the amount sent?+
No. The fee reflects virtual size and the chosen rate in sat/vB, not a percentage of transferred BTC. A recommended rate is an estimate and does not guarantee confirmation time.
02Can a fee be increased after sending?+
Sometimes. Replace-by-Fee (RBF) proposes a replacement unconfirmed transaction under nodes’ rules. CPFP (Child Pays for Parent) spends an available parent output and raises the package’s combined rate. Spending authority and wallet support are required; neither method guarantees confirmation.