To make it more clear to understand, someone should explain what is P2WPKH or P2PKH for for example. Because first post looks confusing. OP described what type of addresses there are, but when I open https://bitcoinops.org/en/tools/calc-size/, how can I use that information? According to tool, difference between P2WPKH and P2PKH in fee cost is 87%. OP showed example with Segwit wallet. Ok, I have a Legacy address, what should I choose from the list ?
Moreover, even if we understand how to use that tool, information is still not full. With current mempool priorities are 64/72/80 sat/vB. What is the time difference between them? I dont want to overpay for extra 5 minutes, which option should I take?
In calculating virtual size, which is used to calculate the appropriate fees, you need to specify the number of input addresses, the number of output addresses, and the type of address.
As for the address type, these are the available Bitcoin addresses:
1) P2PKH: Pay-to-Public-Key-Hash or Legacy address (starting with 1)
2) P2SH: Pay-to-Script-Hash or SegWit address (starting with 3)
3) P2WPKH: Pay-to-Witness-Public-Key-Hash or Native SegWit or bech32 (starting with bc1)
4) P2TR: Pay-to-Taproot or Taproot address (starting with bc1p)
You can search on Google for the differences between them, but I will focus on virtual size (in vbyte), and this table shows you the differences (
https://bitcoinops.org/en/tools/calc-size/ This table calculates for you by changing the entries)
Type | Input vbyte | Output vbyte | transaction vbyte
-------------------------+----------------- +----------------------+--------------------------
Legacy | 140 | 34 | 192
segwit | 93 | 32 | 134
Native segwit | 68 | 31 | 109.5
P2TR | 57.5 | 43 | 111
If you notice that for the same number of input and output addresses, the transaction size differs because we use a different address type or in other words Using an address type saves more fees than other types, so
it is always recommended to use addresses starting with bc1 to reduce fees.
The wallet performs this step automatically, so if you do not understand it, always remember to use an address that begins with bc1.
After using the address, you need to search for the appropriate fees, which are what you find in mempool priorities. These fees are an estimate of the time that you have to wait, but this time may differ from the truth, and we can say that the difference between them is:
Low Priority: There is a high probability that your transaction will be confirmed within 30-60 minutes
Medium Priority: There is a high probability that your transaction will be confirmed within 20-30 minutes
High Priority: There is a high probability that your transaction will be confirmed within 10-20 minutes
They are all guesses.
If you are in a hurry to confirm your transaction, use the bc1 address. Go to
https://mempool.space and set the High Priority fee (more than these fees will help confirm your transaction, but do not pay much more than them. If it is 90, put in your wallet any number between 90 and 120)