Standardizing fee units
Wallets and block explorers may display different metrics—such as raw bytes, weight units, virtual bytes (vBytes), or fee rates per virtual byte. Simply knowing the size of a transaction file is not enough to directly determine the required fee. Before comparing fee estimates from different wallets, ensure you are looking at the same metrics: total fee versus fee rate, BTC versus satoshis (sats), and whether the size figure has already been adjusted to account for witness data. Mixing up these units can lead to seemingly massive discrepancies.
The relationship between weight and vSize
BIP141 defines how the weight of blocks and transactions is calculated. It can be understood as the "base size" multiplied by three, plus the "total size"—where the base size excludes witness data, and the total size includes it. The virtual size (vSize) is generally calculated by dividing the weight by four and rounding up. This conversion does not mean that witness data is "free," nor does it imply that every transaction will achieve the same proportional savings; the actual outcome depends on the specific composition of inputs, outputs, and scripts.
A calculation using hypothetical figures
Suppose a transaction has a base size of 100 bytes and a total size of 180 bytes. Its weight would be (100 × 3) + 180 = 480, and its virtual size (vSize) would be 120 vB. At an example fee rate of 8 sat/vB, the estimated fee would be 960 satoshis. These figures are provided solely to illustrate the formula and do not represent actual wallet construction or current market recommendations. The actual size of signatures and the selection of inputs can cause the final transaction size to vary.
Why the transfer amount is not the primary variable
For a typical transaction, the number of inputs spent, the type of scripts used, and the number of outputs created all affect its size. Transferring a larger amount does not necessarily require a higher fee; conversely, a transaction composed of many small outputs might be larger in size. Wallets may also generate "change" outputs. When comparing two transfers, one must consider their input and output structures; calculating the fee percentage solely based on the transfer amount can lead to a misunderstanding of how network fees are determined.
What if the estimated size differs from the size after broadcasting?
Before signing, the transaction size is an estimate; once signed, the transaction has a definitive serialized form. Check whether the wallet’s estimate and the figures shown on a block explorer are calculated using the same methodology, and verify whether any transaction replacement (RBF) or fee adjustments occurred. Withdrawal fees displayed by a platform may incorporate service policies and do not necessarily correspond one-to-one with the miner fees paid for a specific on-chain batch transaction; therefore, one should not directly compare these figures to conclude that a platform is overcharging or undercharging.
Creating a fee comparison log
Keep a record of the transaction ID, number of inputs, number of outputs, weight, vsize, total fee, and fee rate—ensuring all values are converted to satoshis for consistency. If you rely on third-party estimates, note the timestamp and the target confirmation time. Do not treat example fee rates as long-term standards, and avoid claiming that paying a specific rate guarantees confirmation within a certain number of minutes; whether a transaction is included in a block ultimately depends on competing transactions and the choices made by miners.
