51 / 736sat/vB

Fee Rate

Transaction fee per unit of virtual size

When you send bitcoin, you do not pay a percentage of the amount transferred. You pay for the space the transaction takes up in a block. Fee Rate expresses the price per unit of that space; wallets use it to gauge how strongly your transaction competes for miners’ attention.

Fee Rate is the transaction fee divided by its virtual size, vsize. It is usually expressed in sat/vB: satoshis per virtual byte. A satoshi (sat) is the smallest unit recorded on Bitcoin’s base layer. The total fee is the difference between input and output values. A higher rate may improve the prospect of early confirmation, but does not buy a queue position or a guaranteed time.

Transaction Fees: size and fee calculatorEstimate a transaction’s virtual size, the fee at your chosen rate and its approximate value in a selected currency.

Transaction inputs refer to amounts received earlier that you are now spending. Outputs that have not yet been spent are called UTXOs. New outputs specify amounts and the conditions for spending them later — for example, an output for the recipient and change returned to your wallet. Two transactions built the same way can move very different amounts while having the same size and fee. The number and types of inputs and outputs matter most. Spending many small UTXOs can therefore cost more than sending a larger amount from one suitable output. What counts is the transaction’s structure, not its value in local currency. [2] [3]

If a completed transaction is 150 vB and pays 20 sat/vB, its fee is 3000 sat. A larger transaction costs more at the same rate. Before signing, check both the rate and the total fee. A wallet may estimate the size before signatures are complete, so the final result need not exactly match the initial proposal. [3]

SegWit is a Bitcoin upgrade that moved some transaction-verification data, such as signatures, into a separate part called the witness. SegWit gives data different weights: a base byte counts as 4 weight units, a witness-data byte as 1. BIP141 defines vsize as weight divided by 4, rounded up to an integer. Virtual size can therefore differ from the file’s byte count. Wallets and nodes may account for additional limits under their own transaction-acceptance rules; do not derive the rate just from a downloaded file’s length. [2] [6]

A node is software that verifies and relays Bitcoin data. Its Mempool holds accepted transactions awaiting confirmation. When a transaction spends an output of another transaction, the spender is the child and the earlier transaction is its parent. Miners choose which valid transactions to include. Fees for scarce space are an important incentive, but the rate alone is no queue number. For dependent transactions, ancestors and descendants may be assessed together: a child transaction with a higher fee can help its lower-fee parent transaction. Different nodes need not see exactly the same Mempool either. [8]

A node may refuse to relay a low-rate transaction or evict it when overloaded. These are local policy rules, not a single fee schedule for all of Bitcoin. A low fee alone does not make a transaction invalid in a block. The mempoolminfee value from getmempoolinfo describes the current local threshold; it does not promise acceptance by other nodes or inclusion by a miner. [5] [2] [9]

An estimate combines observed transactions and their confirmations with a requested block target. Bitcoin Core’s estimatesmartfee offers economical and conservative modes with different time horizons. Future payments and block discovery remain uncertain. Without enough observations, a node can return an error instead of an estimate. Missing data is not a zero price, and a target of several blocks is not a fixed deadline in minutes. [4]

In Bitcoin Core 29.0, estimatesmartfee returns BTC/kvB, while many wallets display sat/vB. A value of 0.00020 BTC/kvB equals 20 sat/vB; you cannot keep the same number and merely relabel it. decoderawtransaction reports size, vsize and weight; computing the fee also requires the values of the previous outputs being spent. When connecting services, check the field’s unit and the interface version. [4] [6]

RBF (Replace-by-Fee) can replace an eligible unconfirmed transaction with a conflicting higher-fee version if the wallet and receiving policy support it. CPFP (Child Pays for Parent) instead spends an available output of the pending transaction, raising the combined parent-and-child rate. Neither is a magic button: controlled outputs, dependencies and node rules matter. The higher total fee should not come as a surprise at signing either. [7] [8]

First decide when you need confirmation. Then compare the current estimate, total fee and options for raising it later. Notice unusually large transactions built from many UTXOs. If time permits, you can wait for more favorable conditions, but falling rates are not guaranteed. Check the transaction’s actual status and do not send a new independent transfer merely because the original is still pending. [1] [4] [7]

For the clearest picture, read this entry together with Transaction Fees, Mempool, Replace-by-Fee (RBF), CPFP (Child Pays for Parent). The reverse links also lead from Change Address, Confirmation, Replace-by-Fee (RBF), CPFP (Child Pays for Parent).

DOC · 001Bitcoin Core EstimatesmartfeeDocumentation DOC · 002BIP 141 — Segregated Witness weightPrimary DOC · 003Bitcoin Core — FeeRatePrimary DOC · 004Bitcoin Core — estimatesmartfeeDocumentation DOC · 005Bitcoin Core 29.0 — getmempoolinfoDocumentation DOC · 006Bitcoin Core 29.0 — decoderawtransactionDocumentation DOC · 007Bitcoin Core 29.0 — bumpfeeDocumentation DOC · 008Bitcoin Core 29.0 — Package PolicyDocumentation DOC · 009Bitcoin Core 29.0 — Transaction Relay PolicyDocumentation
Revised: Source-first · No investment advice