I have made a transaction and paid like 120 sat/B, on blockchain it says that I've paid 78.995 sat/B and noticed that transaction size is 191 (bytes)

Transaction size supposed to be: 102 (input) + 32 (output) + 10 (headers) = 144 Byte

Is this a problem of blockchain.info and transaction fee is right or the wallet didn't send the correct fees and Do miners take my transaction as I paid 120 sat/b or 78 sat/b?


  • What wallet software are you using?
    – Ava Chow
    Commented Apr 23, 2019 at 21:10

1 Answer 1


Your transaction size calculation is incorrect. The inputs are 1 byte input count + 36 byte output + 1 byte scriptSig + 4 byte sequence + 1 byte witness stack count + 1 byte signature length + 71 byte signature + 1 byte pubkey length + 33 byte pubkey = 149 bytes for all of the input data. That along with 32 bytes for output, and 10 bytes for the rest of the transaction gives you a transaction 191 bytes in size.

So, blockchain.info correctly calculated the serialized size of your transaction. However that size is not the one that miners use for computing the feerate of a transaction since segwit data is discounted. Rather what they use is the fee per weight unit, which is the 34.526 sat/WU value that blockchain.info displays beneath the fee per byte feerate.

It's likely that whatever wallet you were using was using virtual bytes (vbytes) instead of weight units or actual bytes. Virtual bytes is just the size of the transaction but applying the segwit discount to the segwit data in the transaction. Your transaction is 110 vbytes, which gives you a feerate of 137.16 satoshis/vbyte. It's possible that when you told your wallet to use a 120 sat/byte feerate, it actually used a 120 sat/vbyte. However, when the transaction was actually made, the change that would have been left over from targeting that feerate would create a dust output, so it was rolled into the fee itself thus increasing the feerate that was actually paid.

Do miners take my transaction as I paid 120 sat/b or 78 sat/b?

Your transaction has already been confirmed.

  • Hi, I don't understand how did you calculate the transaction? I don't see that you've calculated the input size. can you please simply calculate the transaction again?
    – Tailer
    Commented Apr 23, 2019 at 21:45
  • I calculate usually the fee like this: $total = ($inputbytes + $outputbytes + 10) / 1000 * $btcPerKB. what am I missing? thanks
    – Tailer
    Commented Apr 23, 2019 at 21:46
  • With segwit, some input bytes are treated differently. Those bytes are discounted and are worth 1/4th of the actual byte size. Doing the calculationg with that in mind gives you the vbytes. How are you calculating inputbytes?
    – Ava Chow
    Commented Apr 23, 2019 at 21:50
  • for segwit bech32 each input worth 102 and each output 32 byte. that's how I'm doing :(
    – Tailer
    Commented Apr 23, 2019 at 21:56
  • 1
    That's wrong. How did you get an input being 102 bytes? An P2WPKH input is ~65 vbytes
    – Ava Chow
    Commented Apr 23, 2019 at 22:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.