https://tests.bitcoin.it/w/api.php?action=feedcontributions&user=Peername&feedformat=atomBitcoin Wiki - User contributions [en]2024-03-28T22:47:58ZUser contributionsMediaWiki 1.30.0https://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69839Transaction accelerator2023-08-17T05:42:19Z<p>Peername: /* Mining Pool Accelerators */</p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
Caution: There are many supposed transaction accelerators that are outright scams. Some claim to work with pools on your behalf, but this wiki's editors cannot verify claims, and the prior attempt to provide a more comprehensive list was too heated. Therefore, only accelerators verifiably officially run by a pool or miner with at least 0.1% of network hashrate may be added to the list below.<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
<br />
*[http://btcaccelerator.io/ BTC Accelerator] - is a paid bitcoin transaction accelerator that allows you to get faster confirmations on your unconfirmed transactions. cooperate with several major mining pools to provide you with the fastest service to speed up bitcoin transactions.<br />
<br />
* [https://binance.com Binance Pool] - is a prominent cryptocurrency mining pool operated by Binance, one of the world's leading blockchain and cryptocurrency exchange platforms. In addition to its mining services, Binance Pool offers exclusive transaction acceleration services for VIP users, ensuring swift confirmation of their cryptocurrency transactions.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.<br />
<br />
* [https://bitaccelerate.com/ BitAccelerate] - Working as of August 22, 2018. BitAccelerate offers both free and paid versions of its service. The free version serves as a rebroadcasting service. If the transaction does not have any unconfirmed inputs, a premium version is offered. The company collaborates with two of the largest mining pools, prioritizing transactions for their customers.</div>Peernamehttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69787Transaction accelerator2023-07-26T06:00:42Z<p>Peername: /* Third Party Accelerators */</p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
<br />
* [https://binance.com Binance Pool] - is a prominent cryptocurrency mining pool operated by Binance, one of the world's leading blockchain and cryptocurrency exchange platforms. In addition to its mining services, Binance Pool offers exclusive transaction acceleration services for VIP users, ensuring swift confirmation of their cryptocurrency transactions.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.<br />
<br />
* [https://btcnitro.com BTC Nitro] - Similar to the services listed above, BTC Nitro works with a number of mining pools and will insert your transaction into a block about to be be mined for a flat fee of $25 USD. They also guarantee a full refund of the fee if the transaction you want to accelerate doesn't get confirmed within 24 hours of payment.<br />
<br />
* [https://bitaccelerate.com/ BitAccelerate] - Working as of August 22, 2018. BitAccelerate offers both free and paid versions of its service. The free version serves as a rebroadcasting service. If the transaction does not have any unconfirmed inputs, a premium version is offered. The company collaborates with one of the largest mining pools, prioritizing transactions for their customers.<br />
<br />
===Third Party Accelerators===<br />
There are additional services claiming to be able to "accelerate" a transaction. Their ability to get a transaction confirmed faster is limited to re-[https://en.bitcoin.it/wiki/Transaction_broadcasting broadcasting] your transaction, to help in the situation where that mining pool has dropped your transaction already. The Bitcoin Core client already does re-broadcast a "stuck" transaction periodically to peer nodes, though these services possibly may broadcast a transaction directly to known mining pool nodes. These services could also pay a mining pool to include your transaction, just as you could do that yourself.<br />
<br />
It is likely these "transaction accelerators" that are not working with mining pools '''are not actually helping to get a transaction confirmed faster'''.<br />
<br />
* https://btcnitro.com/ This is the free service offered by BTC Nitro that just rebroadcasts your transaction to the blockchain using various public and private nodes.<br />
* https://txbooster.com Free Bitcoin transaction accelerator. The service actually rebroadcasts your transaction via different nodes.<br />
* https://btcaccelerators.com BTC Accelerator is a fast and high-performance bitcoin transaction accelerator tool that reduces confirmation times.</div>Peernamehttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69786Transaction accelerator2023-07-26T05:51:56Z<p>Peername: /* Third Party Accelerators */</p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
<br />
* [https://binance.com Binance Pool] - is a prominent cryptocurrency mining pool operated by Binance, one of the world's leading blockchain and cryptocurrency exchange platforms. In addition to its mining services, Binance Pool offers exclusive transaction acceleration services for VIP users, ensuring swift confirmation of their cryptocurrency transactions.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.<br />
<br />
* [https://btcnitro.com BTC Nitro] - Similar to the services listed above, BTC Nitro works with a number of mining pools and will insert your transaction into a block about to be be mined for a flat fee of $25 USD. They also guarantee a full refund of the fee if the transaction you want to accelerate doesn't get confirmed within 24 hours of payment.<br />
<br />
* [https://bitaccelerate.com/ BitAccelerate] - Working as of August 22, 2018. BitAccelerate offers both free and paid versions of its service. The free version serves as a rebroadcasting service. If the transaction does not have any unconfirmed inputs, a premium version is offered. The company collaborates with one of the largest mining pools, prioritizing transactions for their customers.<br />
<br />
===Third Party Accelerators===<br />
There are additional services claiming to be able to "accelerate" a transaction. Their ability to get a transaction confirmed faster is limited to re-[https://en.bitcoin.it/wiki/Transaction_broadcasting broadcasting] your transaction, to help in the situation where that mining pool has dropped your transaction already. The Bitcoin Core client already does re-broadcast a "stuck" transaction periodically to peer nodes, though these services possibly may broadcast a transaction directly to known mining pool nodes. These services could also pay a mining pool to include your transaction, just as you could do that yourself.<br />
<br />
It is likely these "transaction accelerators" that are not the mining pools themselves '''are not actually helping to get a transaction confirmed faster'''.<br />
<br />
* https://btcnitro.com/ This is the free service offered by BTC Nitro that just rebroadcasts your transaction to the blockchain using various public and private nodes.<br />
* https://txbooster.com Free Bitcoin transaction accelerator. The service actually rebroadcasts your transaction via different nodes.<br />
* https://btcaccelerators.com BTC Accelerator is a fast and high-performance bitcoin transaction accelerator tool that reduces confirmation times.</div>Peernamehttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69785Transaction accelerator2023-07-26T05:51:26Z<p>Peername: /* Mining Pool Accelerators */</p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
<br />
* [https://binance.com Binance Pool] - is a prominent cryptocurrency mining pool operated by Binance, one of the world's leading blockchain and cryptocurrency exchange platforms. In addition to its mining services, Binance Pool offers exclusive transaction acceleration services for VIP users, ensuring swift confirmation of their cryptocurrency transactions.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.<br />
<br />
* [https://btcnitro.com BTC Nitro] - Similar to the services listed above, BTC Nitro works with a number of mining pools and will insert your transaction into a block about to be be mined for a flat fee of $25 USD. They also guarantee a full refund of the fee if the transaction you want to accelerate doesn't get confirmed within 24 hours of payment.<br />
<br />
* [https://bitaccelerate.com/ BitAccelerate] - Working as of August 22, 2018. BitAccelerate offers both free and paid versions of its service. The free version serves as a rebroadcasting service. If the transaction does not have any unconfirmed inputs, a premium version is offered. The company collaborates with one of the largest mining pools, prioritizing transactions for their customers.<br />
<br />
===Third Party Accelerators===<br />
There are additional services claiming to be able to "accelerate" a transaction. Their ability to get a transaction confirmed faster is limited to re-[https://en.bitcoin.it/wiki/Transaction_broadcasting broadcasting] your transaction, to help in the situation where that mining pool has dropped your transaction already. The Bitcoin Core client already does re-broadcast a "stuck" transaction periodically to peer nodes, though these services possibly may broadcast a transaction directly to known mining pool nodes. These services could also pay a mining pool to include your transaction, just as you could do that yourself.<br />
<br />
It is likely these "transaction accelerators" that are not the mining pools themselves '''are not actually helping to get a transaction confirmed faster'''.<br />
<br />
* https://btcnitro.com/ This is the free service offered by BTC Nitro that just rebroadcasts your transaction to the blockchain using various public and private nodes.<br />
* https://txbooster.com Free Bitcoin transaction accelerator. The service actually rebroadcasts your transaction via different nodes.<br />
* https://btcaccelerators.com BTC Accelerator is a fast and high-performance bitcoin transaction accelerator tool that reduces confirmation times.<br />
<br />
Sources :<br />
<br />
* [https://www.binance.com/en/support/announcement/binance-pool-launches-btc-transaction-accelerator-98c505511bfc489997cf3eb2318c7953 Binance Announcement ]</div>Peernamehttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69784Transaction accelerator2023-07-26T05:50:58Z<p>Peername: /* Mining Pool Accelerators */</p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
* [https://btcaccelerators.com BTC Accelerator] - is a Bitcoin transaction accelerator platform that was launched in 2021 in San Francisco. The platform is dedicated to Accelerate stuck Bitcoin transactions in the bitcoin network, ensuring swift confirmation within a short span of time. Through strategic collaborations with multiple large mining pools, the Platform significantly increases the likelihood of transaction inclusion in the next block. <br />
<br />
* [https://binance.com Binance Pool] - is a prominent cryptocurrency mining pool operated by Binance, one of the world's leading blockchain and cryptocurrency exchange platforms. In addition to its mining services, Binance Pool offers exclusive transaction acceleration services for VIP users, ensuring swift confirmation of their cryptocurrency transactions.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.<br />
<br />
* [https://btcnitro.com BTC Nitro] - Similar to the services listed above, BTC Nitro works with a number of mining pools and will insert your transaction into a block about to be be mined for a flat fee of $25 USD. They also guarantee a full refund of the fee if the transaction you want to accelerate doesn't get confirmed within 24 hours of payment.<br />
<br />
* [https://bitaccelerate.com/ BitAccelerate] - Working as of August 22, 2018. BitAccelerate offers both free and paid versions of its service. The free version serves as a rebroadcasting service. If the transaction does not have any unconfirmed inputs, a premium version is offered. The company collaborates with one of the largest mining pools, prioritizing transactions for their customers.<br />
<br />
===Third Party Accelerators===<br />
There are additional services claiming to be able to "accelerate" a transaction. Their ability to get a transaction confirmed faster is limited to re-[https://en.bitcoin.it/wiki/Transaction_broadcasting broadcasting] your transaction, to help in the situation where that mining pool has dropped your transaction already. The Bitcoin Core client already does re-broadcast a "stuck" transaction periodically to peer nodes, though these services possibly may broadcast a transaction directly to known mining pool nodes. These services could also pay a mining pool to include your transaction, just as you could do that yourself.<br />
<br />
It is likely these "transaction accelerators" that are not the mining pools themselves '''are not actually helping to get a transaction confirmed faster'''.<br />
<br />
* https://btcnitro.com/ This is the free service offered by BTC Nitro that just rebroadcasts your transaction to the blockchain using various public and private nodes.<br />
* https://txbooster.com Free Bitcoin transaction accelerator. The service actually rebroadcasts your transaction via different nodes.<br />
* https://btcaccelerators.com BTC Accelerator is a fast and high-performance bitcoin transaction accelerator tool that reduces confirmation times.<br />
<br />
Sources :<br />
<br />
* [https://www.binance.com/en/support/announcement/binance-pool-launches-btc-transaction-accelerator-98c505511bfc489997cf3eb2318c7953 Binance Announcement ]</div>Peernamehttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69783Transaction accelerator2023-07-26T05:49:02Z<p>Peername: pushtx.btc.com no longer available</p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
* [https://btcaccelerators.com BTC Accelerator] - is a Bitcoin transaction accelerator platform that was launched in 2020 in San Francisco. The platform is dedicated to Accelerate stuck Bitcoin transactions in the bitcoin network, ensuring swift confirmation within a short span of time. Through strategic collaborations with multiple large mining pools, the Platform significantly increases the likelihood of transaction inclusion in the next block. <br />
<br />
* [https://binance.com Binance Pool] - is a prominent cryptocurrency mining pool operated by Binance, one of the world's leading blockchain and cryptocurrency exchange platforms. In addition to its mining services, Binance Pool offers exclusive transaction acceleration services for VIP users, ensuring swift confirmation of their cryptocurrency transactions.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.<br />
<br />
* [https://btcnitro.com BTC Nitro] - Similar to the services listed above, BTC Nitro works with a number of mining pools and will insert your transaction into a block about to be be mined for a flat fee of $25 USD. They also guarantee a full refund of the fee if the transaction you want to accelerate doesn't get confirmed within 24 hours of payment.<br />
<br />
* [https://bitaccelerate.com/ BitAccelerate] - Working as of August 22, 2018. BitAccelerate offers both free and paid versions of its service. The free version serves as a rebroadcasting service. If the transaction does not have any unconfirmed inputs, a premium version is offered. The company collaborates with one of the largest mining pools, prioritizing transactions for their customers.<br />
<br />
===Third Party Accelerators===<br />
There are additional services claiming to be able to "accelerate" a transaction. Their ability to get a transaction confirmed faster is limited to re-[https://en.bitcoin.it/wiki/Transaction_broadcasting broadcasting] your transaction, to help in the situation where that mining pool has dropped your transaction already. The Bitcoin Core client already does re-broadcast a "stuck" transaction periodically to peer nodes, though these services possibly may broadcast a transaction directly to known mining pool nodes. These services could also pay a mining pool to include your transaction, just as you could do that yourself.<br />
<br />
It is likely these "transaction accelerators" that are not the mining pools themselves '''are not actually helping to get a transaction confirmed faster'''.<br />
<br />
* https://btcnitro.com/ This is the free service offered by BTC Nitro that just rebroadcasts your transaction to the blockchain using various public and private nodes.<br />
* https://txbooster.com Free Bitcoin transaction accelerator. The service actually rebroadcasts your transaction via different nodes.<br />
* https://btcaccelerators.com BTC Accelerator is a fast and high-performance bitcoin transaction accelerator tool that reduces confirmation times.<br />
<br />
Sources :<br />
<br />
* [https://www.binance.com/en/support/announcement/binance-pool-launches-btc-transaction-accelerator-98c505511bfc489997cf3eb2318c7953 Binance Announcement ]</div>Peernamehttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69782Transaction accelerator2023-07-26T05:47:12Z<p>Peername: /* Third Party Accelerators */</p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
* [https://btcaccelerators.com BTC Accelerator] - is a Bitcoin transaction accelerator platform that was launched in 2020 in San Francisco. The platform is dedicated to Accelerate stuck Bitcoin transactions in the bitcoin network, ensuring swift confirmation within a short span of time. Through strategic collaborations with multiple large mining pools, the Platform significantly increases the likelihood of transaction inclusion in the next block. <br />
<br />
* [https://binance.com Binance Pool] - is a prominent cryptocurrency mining pool operated by Binance, one of the world's leading blockchain and cryptocurrency exchange platforms. In addition to its mining services, Binance Pool offers exclusive transaction acceleration services for VIP users, ensuring swift confirmation of their cryptocurrency transactions.<br />
<br />
* https://pushtx.btc.com: This service is provided by BTC.com in cooperation with several main mining pools. The fee was around 70 USD on December 20, 2017 and the transaction was confirmed within 3 hours. You can pay by BCH or country-specific methods and they estimate the fee based on the transaction size. They promise a chance of 75% for including transactions in the next block within one hour. Within 4 hours the chance is claimed to be at 98%. They guarantee that if the transaction isn’t confirmed in 12 hours, the fees will be fully refunded to your card within 10 ~ 15 days. This policy is not applicable to the transactions which are removed or double-spent during the acceleration process.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.<br />
<br />
* [https://btcnitro.com BTC Nitro] - Similar to the services listed above, BTC Nitro works with a number of mining pools and will insert your transaction into a block about to be be mined for a flat fee of $25 USD. They also guarantee a full refund of the fee if the transaction you want to accelerate doesn't get confirmed within 24 hours of payment.<br />
<br />
* [https://bitaccelerate.com/ BitAccelerate] - Working as of August 22, 2018. BitAccelerate offers both free and paid versions of its service. The free version serves as a rebroadcasting service. If the transaction does not have any unconfirmed inputs, a premium version is offered. The company collaborates with one of the largest mining pools, prioritizing transactions for their customers.<br />
<br />
===Third Party Accelerators===<br />
There are additional services claiming to be able to "accelerate" a transaction. Their ability to get a transaction confirmed faster is limited to re-[https://en.bitcoin.it/wiki/Transaction_broadcasting broadcasting] your transaction, to help in the situation where that mining pool has dropped your transaction already. The Bitcoin Core client already does re-broadcast a "stuck" transaction periodically to peer nodes, though these services possibly may broadcast a transaction directly to known mining pool nodes. These services could also pay a mining pool to include your transaction, just as you could do that yourself.<br />
<br />
It is likely these "transaction accelerators" that are not the mining pools themselves '''are not actually helping to get a transaction confirmed faster'''.<br />
<br />
* https://btcnitro.com/ This is the free service offered by BTC Nitro that just rebroadcasts your transaction to the blockchain using various public and private nodes.<br />
* https://txbooster.com Free Bitcoin transaction accelerator. The service actually rebroadcasts your transaction via different nodes.<br />
* https://btcaccelerators.com BTC Accelerator is a fast and high-performance bitcoin transaction accelerator tool that reduces confirmation times.<br />
<br />
Sources :<br />
<br />
* [https://www.binance.com/en/support/announcement/binance-pool-launches-btc-transaction-accelerator-98c505511bfc489997cf3eb2318c7953 Binance Announcement ]</div>Peernamehttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69781Transaction accelerator2023-07-26T05:46:55Z<p>Peername: No free option found in btcaccelerators.com</p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
* [https://btcaccelerators.com BTC Accelerator] - is a Bitcoin transaction accelerator platform that was launched in 2020 in San Francisco. The platform is dedicated to Accelerate stuck Bitcoin transactions in the bitcoin network, ensuring swift confirmation within a short span of time. Through strategic collaborations with multiple large mining pools, the Platform significantly increases the likelihood of transaction inclusion in the next block. <br />
<br />
* [https://binance.com Binance Pool] - is a prominent cryptocurrency mining pool operated by Binance, one of the world's leading blockchain and cryptocurrency exchange platforms. In addition to its mining services, Binance Pool offers exclusive transaction acceleration services for VIP users, ensuring swift confirmation of their cryptocurrency transactions.<br />
<br />
* https://pushtx.btc.com: This service is provided by BTC.com in cooperation with several main mining pools. The fee was around 70 USD on December 20, 2017 and the transaction was confirmed within 3 hours. You can pay by BCH or country-specific methods and they estimate the fee based on the transaction size. They promise a chance of 75% for including transactions in the next block within one hour. Within 4 hours the chance is claimed to be at 98%. They guarantee that if the transaction isn’t confirmed in 12 hours, the fees will be fully refunded to your card within 10 ~ 15 days. This policy is not applicable to the transactions which are removed or double-spent during the acceleration process.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.<br />
<br />
* [https://btcnitro.com BTC Nitro] - Similar to the services listed above, BTC Nitro works with a number of mining pools and will insert your transaction into a block about to be be mined for a flat fee of $25 USD. They also guarantee a full refund of the fee if the transaction you want to accelerate doesn't get confirmed within 24 hours of payment.<br />
<br />
* [https://bitaccelerate.com/ BitAccelerate] - Working as of August 22, 2018. BitAccelerate offers both free and paid versions of its service. The free version serves as a rebroadcasting service. If the transaction does not have any unconfirmed inputs, a premium version is offered. The company collaborates with one of the largest mining pools, prioritizing transactions for their customers.<br />
<br />
===Third Party Accelerators===<br />
There are additional services claiming to be able to "accelerate" a transaction. Their ability to get a transaction confirmed faster is limited to re-[https://en.bitcoin.it/wiki/Transaction_broadcasting broadcasting] your transaction, to help in the situation where that mining pool has dropped your transaction already. The Bitcoin Core client already does re-broadcast a "stuck" transaction periodically to peer nodes, though these services possibly may broadcast a transaction directly to known mining pool nodes. These services could also pay a mining pool to include your transaction, just as you could do that yourself.<br />
<br />
It is likely these "transaction accelerators" that are not the mining pools themselves '''are not actually helping to get a transaction confirmed faster'''.<br />
<br />
* https://btcnitro.com/ This is the free service offered by BTC Nitro that just rebroadcasts your transaction to the blockchain using various public and private nodes.<br />
* https://txbooster.com Free Bitcoin transaction accelerator. The service actually rebroadcasts your transaction via different nodes.<br />
* https://btcaccelerators.com BTC Accelerator is a fast and high-performance bitcoin transaction accelerator tool that reduces confirmation times.<br />
<br />
Sources : <br />
<br />
* [https://www.benzinga.com/pressreleases/23/03/ab31288360/revolutionizing-bitcoin-transactions-introducing-bitcoin-accelerator-by-btc-media-llc Benzinga Press release]<br />
<br />
* [https://www.binance.com/en/support/announcement/binance-pool-launches-btc-transaction-accelerator-98c505511bfc489997cf3eb2318c7953 Binance Announcement ]</div>Peernamehttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69774Transaction accelerator2023-07-18T12:03:55Z<p>Peername: /* Mining Pool Accelerators */</p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
<br />
* https://pushtx.btc.com: This service is provided by BTC.com in cooperation with several main mining pools. The fee was around 70 USD on December 20, 2017 and the transaction was confirmed within 3 hours. You can pay by BCH or country-specific methods and they estimate the fee based on the transaction size. They promise a chance of 75% for including transactions in the next block within one hour. Within 4 hours the chance is claimed to be at 98%. They guarantee that if the transaction isn’t confirmed in 12 hours, the fees will be fully refunded to your card within 10 ~ 15 days. This policy is not applicable to the transactions which are removed or double-spent during the acceleration process.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.<br />
<br />
* [https://btcnitro.com BTC Nitro] - Similar to the services listed above, BTC Nitro works with a number of mining pools and will insert your transaction into a block about to be be mined for a flat fee of $25 USD. They also guarantee a full refund of the fee if the transaction you want to accelerate doesn't get confirmed within 24 hours of payment.<br />
<br />
* [https://bitaccelerate.com/ BitAccelerate] - Working as of August 22, 2018. BitAccelerate offers both free and paid versions of its service. The free version serves as a rebroadcasting service. If the transaction does not have any unconfirmed inputs, a premium version is offered. The company collaborates with one of the largest mining pools, prioritizing transactions for their customers.<br />
<br />
===Third Party Accelerators===<br />
There are additional services claiming to be able to "accelerate" a transaction. Their ability to get a transaction confirmed faster is limited to re-[https://en.bitcoin.it/wiki/Transaction_broadcasting broadcasting] your transaction, to help in the situation where that mining pool has dropped your transaction already. The Bitcoin Core client already does re-broadcast a "stuck" transaction periodically to peer nodes, though these services possibly may broadcast a transaction directly to known mining pool nodes. These services could also pay a mining pool to include your transaction, just as you could do that yourself.<br />
<br />
It is likely these "transaction accelerators" that are not the mining pools themselves '''are not actually helping to get a transaction confirmed faster'''.<br />
<br />
* https://btcnitro.com/ This is the free service offered by BTC Nitro that just rebroadcasts your transaction to the blockchain using various public and private nodes.<br />
* https://txbooster.com Free Bitcoin transaction accelerator. The service actually rebroadcasts your transaction via different nodes.</div>Peernamehttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69773Transaction accelerator2023-07-18T11:59:53Z<p>Peername: /* Bitcoin transaction accelerators */</p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
<br />
* https://pushtx.btc.com: This service is provided by BTC.com in cooperation with several main mining pools. The fee was around 70 USD on December 20, 2017 and the transaction was confirmed within 3 hours. You can pay by BCH or country-specific methods and they estimate the fee based on the transaction size. They promise a chance of 75% for including transactions in the next block within one hour. Within 4 hours the chance is claimed to be at 98%. They guarantee that if the transaction isn’t confirmed in 12 hours, the fees will be fully refunded to your card within 10 ~ 15 days. This policy is not applicable to the transactions which are removed or double-spent during the acceleration process.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.<br />
<br />
* [https://btcnitro.com BTC Nitro] - Similar to the services listed above, BTC Nitro works with a number of mining pools and will insert your transaction into a block about to be be mined for a flat fee of $25 USD. They also guarantee a full refund of the fee if the transaction you want to accelerate doesn't get confirmed within 24 hours of payment. BTC Nitro also offer free rebroadcasting service for those who just wish to rebroadcast their transaction to the blockchain.<br />
<br />
* [https://bitaccelerate.com/ BitAccelerate] - Working as of August 22, 2018. BitAccelerate offers both free and paid versions of its service. The free version serves as a rebroadcasting service. If the transaction does not have any unconfirmed inputs, a premium version is offered. The company collaborates with one of the largest mining pools, prioritizing transactions for their customers.<br />
<br />
===Third Party Accelerators===<br />
There are additional services claiming to be able to "accelerate" a transaction. Their ability to get a transaction confirmed faster is limited to re-[https://en.bitcoin.it/wiki/Transaction_broadcasting broadcasting] your transaction, to help in the situation where that mining pool has dropped your transaction already. The Bitcoin Core client already does re-broadcast a "stuck" transaction periodically to peer nodes, though these services possibly may broadcast a transaction directly to known mining pool nodes. These services could also pay a mining pool to include your transaction, just as you could do that yourself.<br />
<br />
It is likely these "transaction accelerators" that are not the mining pools themselves '''are not actually helping to get a transaction confirmed faster'''.<br />
<br />
* https://btcnitro.com/ This is the free service offered by BTC Nitro that just rebroadcasts your transaction to the blockchain using various public and private nodes.<br />
* https://txbooster.com Free Bitcoin transaction accelerator. The service actually rebroadcasts your transaction via different nodes.</div>Peernamehttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69772Transaction accelerator2023-07-18T11:59:29Z<p>Peername: /* Mining Pool Accelerators */</p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
<br />
* https://pushtx.btc.com: This service is provided by BTC.com in cooperation with several main mining pools. The fee was around 70 USD on December 20, 2017 and the transaction was confirmed within 3 hours. You can pay by BCH or country-specific methods and they estimate the fee based on the transaction size. They promise a chance of 75% for including transactions in the next block within one hour. Within 4 hours the chance is claimed to be at 98%. They guarantee that if the transaction isn’t confirmed in 12 hours, the fees will be fully refunded to your card within 10 ~ 15 days. This policy is not applicable to the transactions which are removed or double-spent during the acceleration process.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.<br />
<br />
* [https://bitaccelerate.com/ BitAccelerate] - Working as of August 22, 2018. BitAccelerate offers both free and paid versions of its service. The free version serves as a rebroadcasting service. If the transaction does not have any unconfirmed inputs, a premium version is offered. The company collaborates with one of the largest mining pools, prioritizing transactions for their customers.<br />
<br />
* [https://btcnitro.com BTC Nitro] - Similar to the services listed above, BTC Nitro works with a number of mining pools and will insert your transaction into a block about to be be mined for a flat fee of $25 USD. They also guarantee a full refund of the fee if the transaction you want to accelerate doesn't get confirmed within 24 hours of payment. BTC Nitro also offer free rebroadcasting service for those who just wish to rebroadcast their transaction to the blockchain.<br />
<br />
===Third Party Accelerators===<br />
There are additional services claiming to be able to "accelerate" a transaction. Their ability to get a transaction confirmed faster is limited to re-[https://en.bitcoin.it/wiki/Transaction_broadcasting broadcasting] your transaction, to help in the situation where that mining pool has dropped your transaction already. The Bitcoin Core client already does re-broadcast a "stuck" transaction periodically to peer nodes, though these services possibly may broadcast a transaction directly to known mining pool nodes. These services could also pay a mining pool to include your transaction, just as you could do that yourself.<br />
<br />
It is likely these "transaction accelerators" that are not the mining pools themselves '''are not actually helping to get a transaction confirmed faster'''.<br />
<br />
* https://btcnitro.com/ This is the free service offered by BTC Nitro that just rebroadcasts your transaction to the blockchain using various public and private nodes.<br />
* https://txbooster.com Free Bitcoin transaction accelerator. The service actually rebroadcasts your transaction via different nodes.</div>Peernamehttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69771Transaction accelerator2023-07-18T11:59:18Z<p>Peername: /* Mining Pool Accelerators */</p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
<br />
* https://pushtx.btc.com: This service is provided by BTC.com in cooperation with several main mining pools. The fee was around 70 USD on December 20, 2017 and the transaction was confirmed within 3 hours. You can pay by BCH or country-specific methods and they estimate the fee based on the transaction size. They promise a chance of 75% for including transactions in the next block within one hour. Within 4 hours the chance is claimed to be at 98%. They guarantee that if the transaction isn’t confirmed in 12 hours, the fees will be fully refunded to your card within 10 ~ 15 days. This policy is not applicable to the transactions which are removed or double-spent during the acceleration process.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.<br />
<br />
* [https://bitaccelerate.com/] - Working as of August 22, 2018. BitAccelerate offers both free and paid versions of its service. The free version serves as a rebroadcasting service. If the transaction does not have any unconfirmed inputs, a premium version is offered. The company collaborates with one of the largest mining pools, prioritizing transactions for their customers.<br />
<br />
* [https://btcnitro.com BTC Nitro] - Similar to the services listed above, BTC Nitro works with a number of mining pools and will insert your transaction into a block about to be be mined for a flat fee of $25 USD. They also guarantee a full refund of the fee if the transaction you want to accelerate doesn't get confirmed within 24 hours of payment. BTC Nitro also offer free rebroadcasting service for those who just wish to rebroadcast their transaction to the blockchain.<br />
<br />
===Third Party Accelerators===<br />
There are additional services claiming to be able to "accelerate" a transaction. Their ability to get a transaction confirmed faster is limited to re-[https://en.bitcoin.it/wiki/Transaction_broadcasting broadcasting] your transaction, to help in the situation where that mining pool has dropped your transaction already. The Bitcoin Core client already does re-broadcast a "stuck" transaction periodically to peer nodes, though these services possibly may broadcast a transaction directly to known mining pool nodes. These services could also pay a mining pool to include your transaction, just as you could do that yourself.<br />
<br />
It is likely these "transaction accelerators" that are not the mining pools themselves '''are not actually helping to get a transaction confirmed faster'''.<br />
<br />
* https://btcnitro.com/ This is the free service offered by BTC Nitro that just rebroadcasts your transaction to the blockchain using various public and private nodes.<br />
* https://txbooster.com Free Bitcoin transaction accelerator. The service actually rebroadcasts your transaction via different nodes.</div>Peernamehttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69770Transaction accelerator2023-07-18T11:51:41Z<p>Peername: /* Third Party Accelerators */</p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
<br />
* https://pushtx.btc.com: This service is provided by BTC.com in cooperation with several main mining pools. The fee was around 70 USD on December 20, 2017 and the transaction was confirmed within 3 hours. You can pay by BCH or country-specific methods and they estimate the fee based on the transaction size. They promise a chance of 75% for including transactions in the next block within one hour. Within 4 hours the chance is claimed to be at 98%. They guarantee that if the transaction isn’t confirmed in 12 hours, the fees will be fully refunded to your card within 10 ~ 15 days. This policy is not applicable to the transactions which are removed or double-spent during the acceleration process.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.<br />
<br />
* [https://btcnitro.com BTC Nitro] - Similar to the services listed above, BTC Nitro works with a number of mining pools and will insert your transaction into a block about to be be mined for a flat fee of $25 USD. They also guarantee a full refund of the fee if the transaction you want to accelerate doesn't get confirmed within 24 hours of payment. BTC Nitro also offer free rebroadcasting service for those who just wish to rebroadcast their transaction to the blockchain. <br />
<br />
===Third Party Accelerators===<br />
There are additional services claiming to be able to "accelerate" a transaction. Their ability to get a transaction confirmed faster is limited to re-[https://en.bitcoin.it/wiki/Transaction_broadcasting broadcasting] your transaction, to help in the situation where that mining pool has dropped your transaction already. The Bitcoin Core client already does re-broadcast a "stuck" transaction periodically to peer nodes, though these services possibly may broadcast a transaction directly to known mining pool nodes. These services could also pay a mining pool to include your transaction, just as you could do that yourself.<br />
<br />
It is likely these "transaction accelerators" that are not the mining pools themselves '''are not actually helping to get a transaction confirmed faster'''.<br />
<br />
* https://btcnitro.com/ This is the free service offered by BTC Nitro that just rebroadcasts your transaction to the blockchain using various public and private nodes.<br />
* https://txbooster.com Free Bitcoin transaction accelerator. The service actually rebroadcasts your transaction via different nodes.</div>Peernamehttps://tests.bitcoin.it/w/index.php?title=Bech32_adoption&diff=69618Bech32 adoption2023-02-06T11:16:43Z<p>Peername: /* Blockchain Explorers */</p>
<hr />
<div>[[Bech32]] is a bitcoin [[address]] format specified by [[BIP 0173]]. It is used for the native segwit version 0 output types, P2WPKH and P2WSH. The upcoming [[Taproot]] softfork will add another output type called Pay to Taproot (P2TR). P2TR outputs and future native segwit versions will be using an updated variant of [[Bech32]], called [[Bech32m]] (specified by [[BIP 0350]]). This page tracks the adoption of [[Bech32]] and [[Bech32m]].<br />
<br />
Ideally wallets and services would first support ''sending to'' new addresses. When most wallets and services support sending to the new address type, people are more likely to adopt it for receiving. <br />
<br />
The amount of bech32 addresses on the blockchain is tracked on this website: https://p2sh.info/dashboard/db/bech32-statistics?orgId=1<br />
<br />
{| class="wikitable"<br />
|-<br />
| {{No}} ||<br />
|-<br />
| {{Evaluating|??}} || Maybe / Haven't checked / placeholder<br />
|-<br />
| {{Planned}} || The developers said they plan to<br />
|-<br />
| {{Acceptable|PR Merged}} || In the case of software, code has been written and merged, and it will be in next release.<br />
|-<br />
| {{Yes}} || Feature has been released<br />
|}<br />
<br />
=== Software Wallets ===<br />
{| class="wikitable sortable"<br />
|-<br />
! Name !! Send to Bech32 !! Receive to P2WPKH/P2WSH !! Send to Bech32m !! Receive to P2TR !! Notes<br />
|-<br />
| Armory || {{Yes}} || {{No}} || {{Planned|Planned around activation}} || {{Evaluating|??}} ||<br />
|-<br />
| AQUA || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| bcoin || {{Yes}} || {{Yes}} || {{Yes|Since 2.2.0}} || {{Evaluating|??}} ||<br />
|-<br />
| Bisq || {{Yes}} || {{Yes}} || {{Evaluating|Dependent on BitcoinJ}} || {{Evaluating|??}} || As of v1.5.0 https://bisq.network/blog/bisq-v1.5.0-highlights/<br />
|-<br />
| Bitcoin Core || {{Yes|Since 0.16.0}} || {{Yes|Since 0.16.0}} || {{Yes|Since 0.21.1}} || {{Yes|Since 22.0}} || Uses P2WPKH as default address since version [https://bitcoin.org/en/release/v0.20.0 0.20.0]. Creating P2TR addresses requires manual import for now.<br />
|-<br />
| Bitcoin Knots || {{Yes|Since 0.16.0}} || {{Yes|Since 0.16.0}} || {{Yes|Since 0.21.1}} || {{Yes|Since 22.0}} ||<br />
|-<br />
| Blockstream Green || {{Yes}} || {{Yes}} || {{Yes|Since Mobile 3.7.6+, Desktop 1.0.4+}} || {{Planned|Planned}} || Bech32m sending support as of [https://github.com/Blockstream/gdk/releases/tag/release_0.0.47 GDK 0.0.47]<br />
|-<br />
| Breadwallet || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || https://www.reddit.com/r/BRDapp/comments/9xx1hq/as_of_today_brd_fully_supports_native_segwit/<br />
|-<br />
| [https://play.google.com/store/apps/details?id=de.schildbach.wallet Bitcoin Wallet for Android] || {{Yes}} || {{Yes}} || {{Yes|Since 9.0}} || {{No}} || Tested as of v9.20 (October 2022)<br />
|-<br />
| BlueWallet || {{Yes}} || {{Yes}} || {{Yes|Since 6.2.14}} || {{No}} || Tested as of v6.3.1 (October 2022)<br />
|-<br />
| Breez || {{Yes}} || {{Yes}} || {{No}} || {{No}} || Tested as of v0.12.1-beta (October 2022)<br />
|-<br />
| BTC.com || {{No}} || {{No}} || {{No}} || {{No}} || wallet discontinued: https://wallet.btc.com/#/announcement<br />
|-<br />
| [https://github.com/unchained-capital/caravan Caravan] || {{Yes}} || {{Yes}} || {{Planned}} || {{Evaluating|??}} ||<br />
|-<br />
| Casa || {{Yes}} || {{No}} || {{Yes}} || {{Planned}} ||<br />
|-<br />
| C-Lightning || {{Yes}} || {{Yes}} || {{Yes}} || {{Evaluating|??}} ||<br />
|-<br />
| Coinomi || {{Yes}} || {{Yes}} || {{No}} || {{No}} || Tested as of v1.26.0 (October 2022)<br />
|-<br />
| Electrum || {{Yes}} || {{Yes}} || {{Yes|Since 4.1.0}} || {{Planned|Planned: Descriptor-based keypath spends}} || https://github.com/spesmilo/electrum/issues/7544<br />
|-<br />
| Exodus || {{Yes}} || {{Yes}} || {{Yes}} || {{No|Not yet planned}} || https://support.exodus.com/article/1480-bitcoin-faqs-learn-more-about-btc#<br />
|-<br />
| Fully Noded || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes|Since v0.2.26}} || https://twitter.com/FullyNoded/status/1438652812410298370<br />
|-<br />
| Guarda Wallet || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || [https://twitter.com/GuardaWallet/status/1194270398730448896 twitter announcement]<br />
|-<br />
| Iris Wallet || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://twitter.com/cryptoquick/status/1585187190627528710<br />
|-<br />
| JoinMarket || {{Yes}} || {{Yes}} || {{Yes|Since v0.9.5}} || {{Evaluating|??}} || <br />
|-<br />
| LND || {{Yes}} || {{Yes}} || {{Yes|Since v0.15}} || {{Yes|Since v0.15}} || The coming LND v0.15 release will introduce full P2TR support including scriptpath spends, PSBT signing, and a MuSig2 API.<br />
|-<br />
| Muun || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://twitter.com/MuunWallet/status/1459294066135474177<br />
|-<br />
| Mycelium || {{Yes}} || {{Yes}} || {{No}} || {{No}} || Bech32m not supported as of version 3.16.0.13, tested on October 12th, 2022. https://github.com/mycelium-com/wallet-android/issues/645<br />
|-<br />
| Nunchuk || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://twitter.com/nunchuk_io/status/1511365917808103426<br />
|-<br />
| Phoenix || {{Yes}} || {{Yes}} || {{Evaluating|Support in iOS, but not Android}} || {{No}} ||<br />
|-<br />
| Samourai Wallet || {{Yes}} || {{Yes}} || {{Yes|Since v0.99.98}} || {{No|Currently not planned}} || https://twitter.com/SamouraiWallet/status/1415788631491497985?s=20<br />
|-<br />
| Sparrow Wallet || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://twitter.com/SparrowWallet/status/1415632270434705408<br />
|-<br />
| Specter Wallet || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://twitter.com/_benkaufman/status/1431293856675508228<br />
|-<br />
| Trust Wallet || {{Yes}} || {{Yes}} || {{Yes}} || {{No|Not planned}} || https://github.com/trustwallet/wallet-core/releases/tag/2.6.5, https://twitter.com/catenocrypt/status/1520152930065817601<br />
|-<br />
| Uniblow || {{Yes}} || {{Yes}} || {{Yes | Since v1.2.2}} || {{No|Not yet planned}} || [https://github.com/bitlogik/uniblow/releases/tag/v1.2.2 release1.2.2]<br />
|-<br />
| Wallet of Satoshi || {{Yes}} || {{Yes}} || {{Yes}} || {{Evaluating|??}} || https://twitter.com/walletofsatoshi/status/1459782761472872451 <br />
|-<br />
| Wasabi Wallet || {{Yes}} || {{Yes}} || {{Yes | Since Wasabi 2.0}} || {{Planned|Planned: via NBitcoin}} || https://twitter.com/NicolasDorier/status/1413693010236170241 <br> https://mempool.space/testnet/tx/05a23151b6ad114fb71e851147861d6c992a438ad4f62d6f0749bc9f200ef254<br />
|}<br />
<br />
=== Hardware Wallets ===<br />
<br />
Hardware wallet manufacturers typically publish a web wallet or browser add-on wallet for use with their hardware. Users can also sometimes connect their hardware wallet to a software wallet like [[Electrum]].<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Name !! Send to Bech32 !! Receive to P2WPKH/P2WSH !! Send to Bech32m !! Receive to P2TR !! Notes<br />
|-<br />
| Trezor + Trezor Suite || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || since [https://blog.trezor.io/trezor-suite-and-firmware-updates-december-2021-d1e74c3ea283 Trezor Suite 21.12.2] + Trezor Firmware 1.10.4 (Model One) / 2.4.3 (Model T)<br />
|-<br />
| Ledger Live (desktop app) || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || Ledger Live Desktop 2.35 + Bitcoin App 2.0.0, Ledger Live Mobile support TBD. https://blockstream.info/tx/41d46e6f6e58a325eb6c913aa603f4db313f4a1db0649952f06fe2cd70546451<br />
|-<br />
| KeepKey chrome app || {{No}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| BitBox Desktop app || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://twitter.com/_benma_/status/1504455969631350792<br />
|-<br />
| Trezor + Electrum || {{Yes}} || {{Yes}} || {{Yes}} || {{Planned}} ||<br />
|-<br />
| Ledger + Electrum || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| BitBox + Electrum || {{Yes}} || {{Yes}} || {{Yes}} || {{Evaluating|??}} || https://twitter.com/_benma_/status/1504458280000761857<br />
|-<br />
| KeepKey + Electrum || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Archos + Electrum || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Coldcard + Electrum || {{Yes}} || {{Yes}} || {{Yes}} || {{Planned}} || Work already in progress<br />
|-<br />
| Ballet + app || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| SeedSigner || {{Yes}} || {{Yes}} || {{Planned}} || {{Evaluating|??}} ||<br />
|-<br />
| Tangem + app|| {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Blockstream Jade + Blockstream Green || {{Yes}} || {{Yes}} || {{Yes}} || {{Planned|Planned}} || Bech32m sending support as of [https://github.com/Blockstream/gdk/releases/tag/release_0.0.47 GDK 0.0.47] available via Blockstream Green mobile apps 3.7.6+ and desktop app 1.0.4+<br />
|-<br />
| Keystone || {{Yes}} || {{Acceptable|Yes, but only with BTC-only firmware}} || {{Planned|Planned for Q1 2022}} || {{Evaluating}} || https://twitter.com/KeystoneWallet/status/1460110906789031938<br />
|}<br />
<br />
=== Web Wallets / Wallet Service Providers ===<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Name !! Send to Bech32 !! Receive to P2WPKH/P2WSH !! Send to Bech32m !! Receive to P2TR !! Notes<br />
|-<br />
| Bitcoin Beach Wallet || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || https://twitter.com/nicolasburtey/status/1556659398365401088<br />
|-<br />
| Coin.Space || {{Evaluating|??}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| BitGo || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || Full native segwit support on v2 platform, no plans to add native segwit support on v1 platform. Also see: https://blog.bitgo.com/native-segwit-addresses-via-bitgos-api-4946f2007be9, Taproot: https://blog.bitgo.com/taproot-support-for-bitgo-wallets-9ed97f412460<br />
|-<br />
| Bitnob || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://twitter.com/bernard_parah/status/1469962690483400706<br />
|-<br />
| blockchain.com web|| {{Yes}} || {{Yes}} || {{Yes}} || {{Evaluating|??}} || https://twitter.com/Pellicceama/status/1563171639063629828<br />
|-<br />
| Fireblocks || {{Yes}} || {{Yes}} || {{Yes}} || {{Planned|Planned for 2022}} ||<br />
|-<br />
| HolyTransaction || {{Yes}} || {{No}} || {{Yes}} || {{Evaluating|??}} ||<br />
|-<br />
| [https://coinb.in Coinb.in] || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || open source JavaScript implementation<br />
|-<br />
| Guarda Wallet || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || https://twitter.com/GuardaWallet/status/1194270398730448896<br />
|}<br />
<br />
=== Exchanges ===<br />
<br />
<!-- Exchanges in alphabetical order please --><br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Name !! Send to Bech32 !! Receive to P2WPKH/P2WSH !! Send to Bech32m !! Receive to P2TR !! Notes<br />
|-<br />
| [[AgoraDesk]] || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || <br />
|-<br />
| Anycoin Direct || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || https://anycoindirect.eu/en/news/details/segwit-activated<br />
|-<br />
| Binance || {{Yes}} || {{Yes}} || {{No}} || {{No}} || https://twitter.com/colemaktypo/status/1460337599499882502<br />
|-<br />
| Bitaroo || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} ||<br />
|-<br />
| BitBargain.co.uk || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Bitcoin.de || {{Yes}} || {{No}} || {{No}} || {{No}} || https://twitter.com/Ben_deWaal/status/1460464528181936130<br />
|-<br />
| Bitfinex || {{Yes}} || {{No}} || {{Planned}} || {{No}} || https://twitter.com/paoloardoino/status/1460620727342796800<br />
|-<br />
| BitMEX || {{Yes}} || {{Yes}} || {{Yes}} || {{Evaluating|??}} || https://twitter.com/BitMEXResearch/status/1492152557044654082<br />
|-<br />
| Bitonic || {{Yes}} || {{Evaluating|??}} || {{No}} || {{Evaluating|??}} || https://twitter.com/BitcoinenNL/status/1460284373291384833<br />
|-<br />
| Bitpanda || {{Yes}} || {{Evaluating|??}} || {{Yes}} || {{Evaluating|??}} || https://twitter.com/christiant5r/status/1461369956252139520<br />
|-<br />
| Bittrex || {{No}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || https://www.reddit.com/r/Bitcoin/comments/gqt1m6/bittrex_does_not_even_support_withdrawals_to/<br />
|-<br />
| Bittylicious || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || https://twitter.com/Bittylicious_/status/998881327347888128<br />
|-<br />
| Bitstamp || {{Yes}} || {{Yes}} || {{Planned}} || {{Evaluating|??}} || https://www.bitstamp.net/article/weve-added-support-bech32-bitcoin-addresses-bitsta/<br />
|-<br />
| Bitso || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || https://twitter.com/Bitso/status/1203784055340314624<br />
|-<br />
| Bitwage || {{Evaluating|??}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Bitwala || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Bottlepay || {{Yes}} || {{Yes}} || {{No}} || {{Evaluating|??}} || https://help.bottlepay.com/en/articles/4909780-what-bitcoin-addresses-do-you-support-for-on-chain-withdrawals, https://twitter.com/Stack_Russel_UK/status/1460330265751044097<br />
|-<br />
| BSDEX || {{Yes}} || {{No}} || {{Yes}} || {{No}} ||<br />
|-<br />
| Bull Bitcoin || {{Yes}} || {{Yes}} || {{Yes}} || {{Planned}} || https://twitter.com/francispouliot_/status/1464264391155666950<br />
|-<br />
| CardCoins.co || {{Yes}} || No deposits || {{Yes}} || No deposits || https://twitter.com/CardCoinsCo/status/1452680654030872589<br />
|-<br />
| CEX.IO || {{No}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Coinbase.com || {{Yes}} || {{No}} || {{No|Not a priority currently}} || {{No}} ||<br />
|-<br />
| CoinCorner || {{Yes}} || {{Yes}} || {{Yes}} || {{Evaluating|??}} || https://twitter.com/CoinCorner/status/1461360995746545667<br />
|-<br />
| CoinFalcon || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| [https://coinmate.io Coinmate.io] || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || https://coinmate.io/blog/important-coinmate-update/<br />
|-<br />
| Coinsbank.com || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Coinygram || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Flyp.me || {{Yes}} || {{No}} || {{Yes}} || {{Evaluating|??}} ||<br />
|-<br />
| FTX US Derivatives || {{Yes}} || {{Yes}} || {{Yes}} || {{Evaluating|??}} || Formerly LedgerX<br />
|-<br />
| GDax || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || https://www.reddit.com/r/Bitcoin/comments/8c738k/coinbase_gdax_already_allows_sending_to_bc1/<br />
|-<br />
| Gemini || {{Yes}} || {{Yes}} || {{No}} || {{No}} || https://np.reddit.com/r/Bitcoin/comments/b66n0v/psa_gemini_is_full_on_with_native_segwit_and_uses/<br />
|-<br />
| Genesis || {{Evaluating|??}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Globitex || {{No}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| HitBTC || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Hodl Hodl || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || https://medium.com/@hodlhodl/hodl-hodl-segwit-compatible-exchange-a2231968ac56<br />
|-<br />
| Independent Reserve|| {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || https://www.independentreserve.com/bitcoin/investing<br />
|-<br />
| Itbit || {{Evaluating|??}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Kraken || {{Yes}} || {{Yes}} || {{No}} || {{No}} || https://blog.kraken.com/post/16740/bitcoin-taproot-address-now-supported-on-kraken/<br />
|-<br />
| Liberalcoins || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || https://liberalcoins.com<br />
|-<br />
| [[LocalBitcoins]] || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || https://twitter.com/LocalBitcoins/status/1322194709159301120<br />
|-<br />
| Luno || {{Yes}} || {{No}} || {{Planned|Planned}} || {{Evaluating|??}} || https://www.luno.com/blog/en/post/luno-launches-support-for-bech32-addresses<br />
|-<br />
| Okcoin || {{Yes}} || {{Yes}} || {{Yes}} || {{Evaluating|??}} || https://twitter.com/Okcoin/status/1471563103049756672 <br />
|-<br />
| Paxful.com || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || https://paxful.com/support/en-us/articles/360011766520-Can-I-Withdraw-Bitcoin-from-Paxful-Wallet-to-My-External-Wallet-<br />
|-<br />
| Purse.io || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Poloniex.com || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || https://www.reddit.com/r/Bitcoin/comments/a3jhcf/you_can_now_withdraw_from_poloniex_to_bech32/<br />
|-<br />
| River.com || {{Yes}} || {{Yes}} || {{Yes}} || {{Evaluating|??}} ||<br />
|-<br />
| Robinhood.com || {{Yes}} || {{Evaluating|??}} || {{No}} || {{Evaluating|??}} || https://robinhood.com/us/en/support/articles/cryptocurrency-wallets/#Supportedaddressformatsforcryptowithdrawals<br />
|-<br />
| Square CashApp || {{Yes}} || {{No}} || {{Yes}} || {{Evaluating|??}} || https://cash.app/help/us/en-us/20211114-bitcoin-taproot-upgrade<br />
|-<br />
| StackinSat.com || {{Yes}} || No deposits || {{Yes}} || No deposits || https://twitter.com/StackinSat_FR/status/1500898826416230401<br />
|-<br />
| Strike || {{Yes}} || {{Yes}} || {{No}} || {{No}} || https://twitter.com/BTCBoromir/status/1460373287792521232<br />
|-<br />
| Swan || {{Yes}} || No deposits || {{Yes}} || No deposits || https://twitter.com/SwanBitcoin/status/1468318386916663298<br />
|-<br />
| TheRockTrading.com || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || https://twitter.com/TheRockTrading/status/976787499648512003<br />
|-<br />
| VBTC || {{Yes}} || {{Planned}} || {{Yes}} || {{Planned}} || https://twitter.com/VBTC_Vietnam/status/1460978196816416775<br />
|-<br />
| Walltime || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || https://walltime.info<br />
|-<br />
| Xapo || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|}<br />
<br />
=== Bitcoin ATM Models ===<br />
<br />
Hopefully when a model updates then all its ATMs everywhere will gain that feature. See https://coinatmradar.com/shop/buy-bitcoin-atm/<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Name !! Send to Bech32 !! Receive to P2WPKH/P2WSH !! Send to Bech32m !! Receive to P2TR !! Notes<br />
|-<br />
| Bitaccess BTM || {{Yes}} || {{Yes}} || {{Planned|Work in progress}} || {{Planned}} || https://twitter.com/DylanSeago/status/1520212294898274305<br />
|-<br />
| GenesisCoin || {{No}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| General Bytes || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || Depending on configuration. Since version 20190613 https://www.generalbytes.com/en/support/changelog<br />
|-<br />
| Lamassu || {{Yes}} || {{Yes|Yes (optional)}} || {{Planned}} || {{Evaluating|??}} || https://twitter.com/LamassuBTC/status/1459918440303673349<br />
|}<br />
<br />
=== Blockchain Explorers ===<br />
<br />
To investigate bech32 capability, you can use mainnet TXIDs <code>4ef47f6eb681d5d9fa2f7e16336cd629303c635e8da51e425b76088be9c8744c</code> and <code>514a33f1d46179b89e1fea7bbb07b682ab14083a276979f91038369d1a8d689b</code> or look up the addresses <code>bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq</code> and <code>bc1qc7slrfxkknqcq2jevvvkdgvrt8080852dfjewde450xdlk4ugp7szw5tk9</code>. <br />
<br />
Some blockchain explorers can only parse the bech32 address and display it, they don't build an index so users cannot search for bech32 addresses.<br />
<br />
To verify bech32m readiness, you can look up the mainnet TXID <code>b10c007c60e14f9d087e0291d4d0c7869697c6681d979c6639dbd960792b4d41</code> on which the first output should be addressed as <code>bc1pqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqsyjer9e</code>. Note that the superseded bech32 encoding only differs in the last six characters that encode the checksum: <code>bc1pqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqs_3wf0qm_</code>.<br />
<br />
See also: https://en.bitcoin.it/wiki/Category:Block_chain_browsers<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Name !! Display Bech32 !! Index Bech32 !! Display Bech32m !! Index Bech32m !! Notes<br />
|-<br />
| bitaps.com || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://bitaps.com<br />
|-<br />
| Bitflyer || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://chainflyer.bitflyer.jp<br />
|-<br />
| Blockbook || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://btc1.trezor.io<br />
|-<br />
| blockchain.com || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://www.blockchain.com/explorer<br />
|-<br />
| Blockchair || {{Yes}} || {{Yes}} || {{Yes|Ready, but old txns not reindexed yet}} || {{Yes|Ready, but old txns not reindexed yet}} || https://github.com/Blockchair/Blockchair.Support/issues/567#issuecomment-966393097, https://twitter.com/Blockchair/status/1458817396433731585<br />
|-<br />
| Blockcypher || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || https://live.blockcypher.com/btc<br />
|-<br />
| Blockonomics || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://www.blockonomics.co<br />
|-<br />
| Blockpath || {{Yes}} || {{Yes}} || {{No}} || {{No}} || https://blockpath.com<br />
|-<br />
| BTC.com || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://BTC.com<br />
|-<br />
| Esplora || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || Open source explorer, instances are https://blockstream.info/ and https://www.localbitcoinschain.com/. [https://github.com/Blockstream/esplora/issues/323 Issue] for BIP350 support.<br />
|-<br />
| Insight || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || Open source explorer, instances include https://insight.bitpay.com/<br />
|-<br />
| Mempool || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || Open source explorer, instances include https://mempool.space https://mempool.ninja https://mempool.emzy.de https://mempool.bisq.services https://mempool.bitcoin.ninja https://mempool.bitaroo.net/<br />
|-<br />
| OKLink || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://www.oklink.com<br />
|-<br />
| OXT || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://oxt.me/<br />
|-<br />
| Tradeblock || {{Yes}} || {{Yes}} || {{Yes}} || {{Planned|Yes, but search field rejects bech32m addresses}} || https://tradeblock.com/bitcoin<br />
|-<br />
| WalletExplorer || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://walletexplorer.com/<br />
|-<br />
| Bitcoin Explorer || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://bitcoinexplorer.org, https://twitter.com/BitcoinExplorer/status/1425148093977309187<br />
|-<br />
| BitRef || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://bitref.com<br />
|}<br />
<br />
=== Payment Processors ===<br />
<br />
<!-- Payment processors in alphabetical order please --><br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Name !! P2WPKH/P2WSH Invoices !! Bech32 Withdrawal addresses !! P2TR Invoices !! Bech32m Withdrawal addresses !! Notes<br />
|-<br />
| [https://apirone.com Apirone] || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || Payment notifications, merchant dashboard, plugins for Magento, WooCommerce, OpenCart 2, Opencart 3.x, Virtuemart<br />
|-<br />
| [https://bitaps.com Bitaps] || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || Payment forwarding API, Wallet API, fault tolerance callback.<br />
|-<br />
| [https://btcpayserver.org BTCPay Server] || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes|Supported since 1.3.0}} || https://twitter.com/NicolasDorier/status/1432354289599451136, https://twitter.com/NicolasDorier/status/1457527754350415873<br />
|-<br />
| [https://coingate.com CoinGate] || {{No}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| [https://confirmo.net CONFIRMO] || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| [https://cryptochill.com CryptoChill] || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Planned}} || Highly customizable Bitcoin and Lightning Network payment gateway and custodial wallets provider. TSS/HD wallets, API, SDK.<br />
|-<br />
| [https://github.com/nickfarrow/SatSale SatSale] || {{Yes}} || n/a || {{Yes}} || n/a || Supports any address format supported by backend Bitcoin Core. Invoices use address format configured as default there. Has no withdrawal functionality in itself, payments are received in Core wallet.<br />
|}<br />
<br />
=== Mining Pools ===<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Name !! Payout to Bech32 !! Payout to Bech32m !! Notes<br />
|-<br />
| [https://pool.btc.com/ BTC.com Pool] || {{No}} || {{Evaluating|??}} ||<br />
|-<br />
| [http://ckpool.org/ Ckpool] || {{Yes}} || {{Evaluating|??}} ||<br />
|-<br />
| [https://kano.is/ KanoPool] || {{Yes}} || {{Evaluating|??}} || [https://bitcointalk.org/index.php?topic=789369.msg53374508#msg53374508 bitcointalk source]<br />
|-<br />
| [http://poolin.com/ Poolin] || {{Yes}} || {{Evaluating|??}} || [https://bitcointalk.org/index.php?topic=5169994.msg52184844#msg52184844 bitcointalk source]<br />
|-<br />
| [https://sbicrypto.com SBICrypto Pool] || {{Yes}} || {{Acceptable|Ready to release at activation}} ||<br />
|-<br />
| [https://slushpool.com/ Slush Pool] || {{Yes}} || {{Planned|At activation}} || [https://twitter.com/braiins_systems/status/1432376840484794375 Tweet]<br />
|-<br />
| [https://ukrpool.com/ Ukr Pool] || {{Yes}} || {{Evaluating|??}} || [https://bitcointalk.org/index.php?topic=5124825.msg51358033#msg51358033 bitcointalk source]<br />
|-<br />
| [https://pool.viabtc.com/ ViaBTC Pool] || {{No}} || {{Evaluating|??}} ||<br />
|}<br />
<br />
=== Libraries ===<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Name !! Language !! Send to Bech32 !! Receive to P2WPKH/P2WSH !! Send to Bech32m !! Receive to P2TR !! Notes<br />
|-<br />
| [https://github.com/bitcoin/libbase58 libbase58] || C || {{No}} || n/a || {{No}} || n/a<br />
|-<br />
| [https://github.com/MetacoSA/NBitcoin NBitcoin] || .NET || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://twitter.com/NicolasDorier/status/1432354289599451136<br />
|-<br />
| [https://github.com/bcoin-org/bcoin bcoin] || JS || {{Yes}} || {{Yes}} || {{Yes}} || {{Evaluating|??}} || https://github.com/bcoin-org/bcoin/pull/1038<br />
|-<br />
| [https://github.com/btcsuite btcsuite/btcutil] || Go || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || <br />
|-<br />
| [https://github.com/bitcoinjs/bitcoinjs-lib bitcoinjs-lib] || JS || {{Yes}} || {{Yes}} || {{Yes|Yes, since v6.0.0}} || {{Acceptable|Supported but needs manual involvement}} || https://github.com/bitcoinjs/bitcoinjs-lib/issues/1522#issuecomment-887468902, https://twitter.com/junderwood4649/status/1459006392086372355<br />
|-<br />
| [https://bitcoinj.github.io/ bitcoinj] || Java || {{Yes}} || {{Yes}} || {{Yes}} || {{Evaluating|??}} || https://github.com/bitcoinj/bitcoinj/commit/183986c9801f10f1bf46bd46621e535973d39ef8<br />
|-<br />
| [https://github.com/bitcoin-s/bitcoin-s-core bitcoin-s] || Scala || {{Yes}} || {{Yes}} || {{Yes}} || {{Planned|Planned for 2021}} || https://twitter.com/Chris_Stewart_5/status/1459205497463136270<br />
|-<br />
| [https://github.com/rust-bitcoin/rust-bitcoin rust-bitcoin] || Rust || {{Yes}} || {{Evaluating|??}} || {{Yes}} || {{Evaluating|??}} || https://twitter.com/RCasatta/status/1423695925252329476<br />
|-<br />
| [https://lightningdevkit.org Lightning Dev Kit] || Rust || {{Yes}} || {{Yes}} || {{Yes}} || {{Evaluating|Pending BOLT update}} || <br />
|-<br />
| [https://bitcoindevkit.org Bitcoin Dev Kit] || Rust || {{Yes}} || {{Yes}} || {{Yes|Yes, since [https://github.com/bitcoindevkit/bdk/releases/tag/v0.14.0 0.14.0]}} || {{Yes|Yes, since [https://github.com/bitcoindevkit/bdk/releases/tag/v0.19.0 0.19.0]}} || P2TR support is "experimental", see [https://github.com/bitcoindevkit/bdk/pull/593 PR #593]<br />
|-<br />
| [https://github.com/ElementsProject/libwally-core libwally-core] || C || {{Yes}} || {{Yes}} || {{Yes|Yes, since [https://github.com/ElementsProject/libwally-core/releases/tag/release_0.8.4 0.8.4]}} || {{Yes|Yes, since [https://github.com/ElementsProject/libwally-core/releases/tag/release_0.8.4 0.8.4]}} ||<br />
|-<br />
| [https://github.com/Blockstream/gdk GDK] || C || {{Yes}} || {{Yes}} || {{Yes|Yes, since [https://github.com/Blockstream/gdk/releases/tag/release_0.0.47 0.0.47]}} || {{Evaluating|??}} ||<br />
|-<br />
| [https://github.com/Simplexum/python-bitcointx python-bitcointx] || Python || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://github.com/Simplexum/python-bitcointx/issues/57<br />
|-<br />
| [https://github.com/dgarage/NBXplorer/ NBXPlorer] || C# || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://twitter.com/NicolasDorier/status/1432354822888431619<br />
|-<br />
| [https://github.com/acinq/bitcoin-kmp Kotlin Multiplatform Bitcoin Library] || Kotlin || {{Yes}} || {{Yes}} || {{Yes}} || {{Planned}} || https://twitter.com/realtbast/status/1458533450919649284<br />
|-<br />
| [https://github.com/libbitcoin Libbitcoin] || C++ || {{Yes}} || {{Evaluating|??}} || {{Yes}} || {{Evaluating|??}} || https://github.com/libbitcoin/libbitcoin-system/blob/master/include/bitcoin/system/wallet/addresses/witness_address.hpp#L41<br />
|-<br />
| [https://github.com/chaintope/bitcoinrb Bitcoinrb] || Ruby || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://github.com/chaintope/bitcoinrb/wiki/Taproot<br />
|}<br />
<!--<br />
<br />
=== Other Services ===<br />
<br />
Casinos, marketplaces, etc that let users withdraw money<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Name !! Withdrawals !! Notes<br />
|-<br />
| 1Broker || {{Yes}} || <br />
|-<br />
| [https://crypto.games Crypto.Games]|| {{Yes}} || [https://bitcointalk.org/index.php?topic=750760.msg31421151#msg31421151 bitcointalk source]<br />
|-<br />
| YOLOdice || {{Yes}} ||<br />
|}<br />
<br />
--><br />
<br />
=== References ===<br />
<br />
[[Category:Software]]</div>Peernamehttps://tests.bitcoin.it/w/index.php?title=Transaction_broadcasting&diff=69365Transaction broadcasting2022-07-06T07:51:59Z<p>Peername: /* See Also */</p>
<hr />
<div>{{seealso|Satoshi Client Transaction Exchange}}<br />
<br />
==See Also==<br />
<br />
* [[Transaction accelerator]]<br />
<br />
Third party sites to (re-)submit a raw, signed transaction to the network; sometimes referred to as "pushtx":<br />
<br />
* https://coinb.in/#broadcast<br />
* https://www.smartbit.com.au/txs/pushtx<br />
* https://blockchair.com/broadcast<br />
* https://live.blockcypher.com/btc/pushtx/<br />
* https://btc.com/tools/tx/publish<br />
* https://www.viabtc.com/tools/broadcast<br />
* https://insight.bitpay.com/tx/send<br />
* https://blockchain.info/pushtx<br />
* https://www.f2pool.com/pushtx (Needs referral code from pool operator.)<br />
* https://chainquery.com/bitcoin-api/sendrawtransaction<br />
* https://blockstream.info/tx/push<br />
* https://bitaccelerate.com/pushtx/<br />
<br />
==Footnotes==<br />
[[Category:Developer]]</div>Peernamehttps://tests.bitcoin.it/w/index.php?title=Techniques_to_reduce_transaction_fees&diff=65931Techniques to reduce transaction fees2018-11-27T10:08:41Z<p>Peername: /* Patient spending */</p>
<hr />
<div>This page provides a list of currently-available techniques that may allow spenders to reduce the amount of [[transaction fee]] they pay. Not all techniques will apply to all situations, and some techniques require trading off other benefits for lower fees.<br />
<br />
When you reduce the fee you pay, you almost always reduce the fees other users have to pay also. For high-frequency spenders, this effect can be large and can provide significant additional second order savings. For example, If an organization is creating 10% of all transactions and begins making transactions 50% more efficiently, an additional 5% of block space is freed up for all users of Bitcoin. This would be expected to lower fees by some amount (likely more than 5%), providing a second order of savings on top of the first-order savings of 50%.<br />
<br />
''Note, this page only describes techniques that apply to payment-oriented transactions. Data carrier transactions (e.g. [[OP_RETURN]] or [[OpenTimestamps]]), [[colored coin]] protocols, and other proposed uses of Bitcoin transactions may benefit from some of the following techniques, but the recommendations are not aimed at those use cases.''<br />
<br />
== Efficiency improvements ==<br />
<br />
Creating transactions that are smaller in size ([[Weight units|weight]]), or which accomplish more for a given size, provide a more efficient way of using scarce block space and so pay less total fee to achieve a [[Transaction fees#feerates|feerate]] that is equivalent to less efficient payments. This section describes several techniques for producing more efficient transactions.<br />
<br />
Technically ''offchain payments'' such as those made in [[payment channels]] are a type of extremely efficient payment and so belong to this category, but they've been given a separate category because of the distinctive way they achieve their high efficiency.<br />
<br />
=== Compressed public keys ===<br />
<br />
''Universally useful but already widely deployed''<br />
<br />
The original Bitcoin software released in 2009 used 65-byte uncompressed public keys to identify the owner of a set of bitcoins. In 2012, Bitcoin protocol developer Pieter Wuille implemented a change to the program now known as Bitcoin Core that allowed it to use 33-byte compressed public keys instead.<ref>[https://bitcoin.org/en/release/v0.6.0#new-features-since-bitcoin-version-05 Bitcoin Core 0.6.0 release notes], Bitcoin.org, 2012-03-20, retrieved 2018-01-27</ref> As Bitcoin Core users adopted this feature and other wallets upgraded to use it as well, this reduced the size of a typical transaction on the network (with one input and two outputs) from about 258 bytes to about 226 bytes, a 14% savings.<br />
<br />
[[File:Uncompressed-pubkey-percentage.png|center|800px|thumb|The percentage of transaction inputs per block using the old uncompressed pubkey format in their scriptSigs. Note: early Bitcoin transactions often placed pubkeys in their scriptPubKeys rather than their scriptSigs.]]<br />
<br />
The change was fully backwards compatible and did not change security in any way, but it did require users wanting to access the space savings to generate new Bitcoin addresses.<br />
<br />
Since 2012, many wallets have adopted compressed public keys—but still some wallets continue to use the less efficient uncompressed public keys. These wallets could achieve a significant savings in transaction fees for the same priority by switching to compressed public keys. If all wallets adopted it, this would effectively lead to a small increase in the available block space:<br />
<br />
[[File:Uncompressed-pubkey-savings.png|center|800px|thumb|The percentage of the maximum available block space consumed by the extra bytes in uncompressed pubkeys]]<br />
<br />
See also:<br />
<br />
* [https://bitcoin.org/en/developer-guide#public-key-formats Compressed public keys] — Bitcoin.org Developer Guide<br />
* [https://bitcoin.org/en/release/v0.6.0#new-features-since-bitcoin-version-05 Bitcoin Core 0.6.0 release notes]<br />
* [https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki#Restrictions_on_public_key_type BIP143] - Requires all pubkeys in [[segregated witness]] witnesses be compressed pubkeys<br />
<br />
=== Payment batching ===<br />
<br />
''Very useful for high-frequency spenders (e.g. organizations); moderately useful for lower-frequency spenders (e.g. individuals)''<br />
<br />
Every Bitcoin transaction must reference the funds being spent and provide proof that the transaction was authorized by the owner of those funds. To spend a single collection of funds takes a minimum of 79 vbytes under normal circumstances. This same amount of block space is used no matter how many recipients are paid in that transaction. For example, consider the following two scenarios:<br />
<br />
* Alice pays Bob in one transaction and then pays Charlie in a second transaction. Each transaction contains a minimum of 79 vbytes related to the funds being spent—a total of 158 vbytes.<br />
* Alice uses a single transaction to pay both Bob and Charlie. The single transaction only needs one set of 79 vbytes related to the funds being spent—a savings of 50% for this field.<br />
<br />
This type of savings increases as more payments are added to a single transaction until the cost per payment is just barely more than the cost of adding the vbytes directly related to that payment in the transaction. The plot below shows the cost per payment for a native segwit [[P2WPKH]] transaction paying other P2WPKH outputs:<br />
<br />
[[File:Batching.png|center]]<br />
<br />
We see the cost drop by more than 50% after five payments are added, with the savings increasing up to about 70% for segwit transactions. Not shown is that the savings increase up to about 80% for legacy transactions because these transactions start off less efficient than segwit transactions. That's a major benefit and one that's easily obtainable by high-frequency spenders, such as organizations.<br />
<br />
Many wallets support batching payments. In graphical wallets, there's often a button that allows you add additional recipients to a transaction (see image below). In command-line and RPC wallets, there's often a call such as <code>sendmany</code> that lets you pay multiple recipients.<br />
<br />
[[File:Bitcoin-core-add-recipient.png|thumb|200px|right|Add Recipient button in Bitcoin Core 0.15.0]]<br />
<br />
Note that there are other parts of a transaction that stay a constant size (or nearly so) when payments are added, so the benefits stack up faster than a fixed cost of just 79 vbytes might suggest. The section below about ''change avoidance'' addresses how one of these cases can itself be eliminated as a cost.<br />
<br />
See also:<br />
<br />
* [https://bitcointechtalk.com/saving-up-to-80-on-bitcoin-transaction-fees-by-batching-payments-4147ab7009fb Saving up to 80% on Bitcoin transaction fees by batching payments]<br />
* [https://bitcoin.org/en/developer-reference#sendmany SendMany RPC] - Bitcoin.org Developer Reference<br />
<br />
=== P2SH-wrapped segwit ===<br />
<br />
''Universally useful''<br />
<br />
Transactions that spend bitcoins secured by [[segregated witness]] (segwit) use less space in a block than equivalent non-segwit (legacy) transactions, allowing segwit transactions to pay less total fee to achieve the same [[Transaction fees#feerates|feerate]] as legacy transactions. The amount of savings varies depending on the details of your transaction, but here are a few common transaction types an an example:<br />
<br />
{|<br />
! Type<br />
! Legacy vbytes<br />
! P2SH-wrapped<br>segwit vbytes<br />
! Savings<br />
|-<br />
| Single signature<br />
| 226<br />
| 167<br />
| 26%<br />
|-<br />
| 2-of-2 multisig<br />
| 335<br />
| 197<br />
| 41%<br />
|-<br />
| 2-of-3 multisig<br />
| 369<br />
| 206<br />
| 44%<br />
|}<br />
<br />
Note that the multisig examples above use the same security as the equivalent legacy P2SH multisig. Segwit optionally allows access to a multisig form that is more secure on one dimension but it requires an extra 12 vbytes per output, which would reduce efficiency somewhat.<br />
<br />
To access these savings, you must use a wallet that supports generating P2SH-wrapped segwit addresses (addresses that start with a "3", although not all addresses that start with a 3 are segwit-enabled). When you spend bitcoins received to these P2SH-wrapped segwit addresses, your transactions will automatically consume less block space, allowing your wallet to pay proportionally less fee.<br />
<br />
See also:<br />
<br />
* [[Segregated Witness]]<br />
* [https://bitcoincore.org/en/segwit_wallet_dev/ Segregated Witness Wallet Development Guide] - BitcoinCore.org<br />
* [https://bitcoincore.org/en/segwit_adoption/ List of wallets, libraries, and services that support segwit] - BitcoinCore.org<br />
<br />
=== Native segwit ===<br />
<br />
''Universally useful. Complete usage requires native segwit adoption by the people sending you bitcoins, but you may be able to use it for your [[change outputs]] immediately''<br />
<br />
The P2SH-wrapped segwit described above is backwards compatible with the P2SH address format supported by older wallets, but a new and non-backwards compatible format is available that saves additional space. The following examples and savings are compared to the size of the P2SH-wrapped examples above:<br />
<br />
{|<br />
! Type<br />
! P2SH-wrapped<br>segwit vbytes<br />
! Native segwit<br>vbytes<br />
! Additional<br>savings<br />
|-<br />
| Single signature<br />
| 167<br />
| 141<br />
| 16%<br />
|-<br />
| 2-of-2 multisig<br />
| 197<br />
| 169<br />
| 14%<br />
|-<br />
| 2-of-3 multisig<br />
| 206<br />
| 178<br />
| 14%<br />
|}<br />
<br />
To access these savings, you must use a wallet that supports generating native segwit addresses, called [[bech32]] addresses (addresses that start with a "bc1"). When you spend bitcoins received to these native segwit addresses, your transactions will automatically consume less block space than even P2SH-wrapped segwit addresses, allowing your wallet to pay proportionally less fee.<br />
<br />
Once a wallet supports native segwit, it can begin using it immediately for any [[Change|change outputs]] it generates back to itself without waiting for anyone else to begin using native segwit. In early 2018, when native segwit adoption is low, this may make it easier to identify which output is change and so reduce your privacy. However, once native segwit adoption increases just slightly, this is not expected to adversely affect privacy.<br />
<br />
See also:<br />
<br />
* [[Bech32 adoption]]<br />
* [https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki BIP173] — Bech32 addresses<br />
<br />
=== Change avoidance ===<br />
<br />
''Useful for high-frequency recipients (e.g. organizations), especially those who already effectively use transaction batching''<br />
<br />
When a Bitcoin transaction references the funds it wants to spend, it's required to spend all of those funds. For example, if you received 5 BTC in a previous transaction and now you want to spend 2 BTC, Bitcoin requires that you spend all 5 BTC. For this reason, almost all Bitcoin transactions currently pay some bitcoins back to the spender. For example, you'd return the remaining 3 BTC from the previous example back to yourself. This return of money to yourself is called ''change'' by analogy to the change a store clerk hands you when you (for example) buy a $2 item with a $5 bill.<br />
<br />
A typical change output adds about 32 vbytes to the size of a transaction. If the spender can pay with exact change—that is, doesn't need to refund any change to them self—they can eliminate the change output and generate transactions that are up to 23% smaller. In addition, a change output will later be spent at a typical cost of 69 vbytes or more, but when paying with exact change, this future cost is also avoided.<br />
<br />
To use change avoidance requires having previously received a payment or set of payments that's close to the size of the amount being spent (including the transaction fee). This can be rare in the case of individual user wallets that don't receive many payments to choose from and can't significantly vary the amount of their spending transactions, but for organization wallets that receive many payments and already use payment batching to combine multiple outgoing payments, change avoidance can be an easily-obtainable efficiency improvement.<br />
<br />
The spender doesn't need to match the inputs and outputs of their transaction exactly to Bitcoin's full 10 nanobitcoin precision, but can instead overpay or underpay fees slightly by including inputs that are (respectively) slightly more or slightly less than the desired amount. Even when paying slightly more fees than desired, this can result in savings if the slight increase in fees is still less than would normally be paid for the extra 32 vbytes (or so) for a change output and the typical mininum of 69 vbytes for later spending that output.<ref>[https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-January/015606.html Transaction Merging (bip125 relaxation)], Rhavar, bitcoin-dev mailing list, 2018-01-22</ref> When paying slightly lower fees, confirmation of the transaction may be delayed, but current-generation (2018) fee estimates are still inaccurate enough that small differences in feerates may not strongly correlate to delays.<br />
<br />
See also:<br />
<br />
* [http://murch.one/wp-content/uploads/2016/11/erhardt2016coinselection.pdf An Evaluation of Coin Selection Strategies] - Mark Erhardt<br />
* [https://github.com/bitcoin/bitcoin/pull/10637 Bitcoin Core pull request #10,637] - A proposed implementation of Erhardt's "branch and bound" strategy<br />
* [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-January/015606.html Bitcoin-Dev mailing list post] - With good coin selection, I am able to avoid change about ~75% of the time in my simulations..."<br />
<br />
=== Consolidation ===<br />
<br />
''Useful for all wallets but may require users sacrifice some privacy''<br />
<br />
The amount of fee a transaction pays is proportional to its size in [[vbytes]], and one the main contributors to size is the number of [[inputs]] the transaction spends. Each input is a reference to the funds the transaction wants to spend, and when a wallet contains only low-value inputs, it can't create a comparatively higher output paying a recipient without adding many of those inputs to the transaction. Each input adds a minimum of 41 vbytes to the transaction and almost always 69 or more vbytes, so any strategy that reduces the number of inputs is worth considering.<br />
<br />
Given that [[Transaction_fees#The_market_for_block_space|fees vary over time]], one method that can reduce overall fees is input consolidation—combining a set of smaller inputs into a single larger input by spending them from yourself to yourself during a period of time when fees are lower than normal. For example, if your usual target feerate during normal-priced fee periods is 100 nanobitcoins per vbyte and the current feerate is 10 nanobitcoins per vbyte, you could save up to almost 90% on fees by consolidating now before you next need to spend some of those inputs.<br />
<br />
[[File:Consolidation-savings.png|center]]<br />
<br />
Consolidation does come with the overhead of creating the consolidation transaction, which is equal to the cost of spending one input to one output, which is about 110 vbytes for P2WPKH inputs/outputs. Also, if you combine inputs that were originally sent to addresses unconnected to each other, you may reduce your privacy in some cases by making that connection in your consolidation transaction (although it's believed that few people currently manage to spend their inputs in a manner that preserves this element of privacy).<br />
<br />
See also:<br />
<br />
* [[How to cheaply consolidate coins to reduce miner fees]]<br />
<br />
== Intelligent fee selection ==<br />
<br />
When it comes to fees, sending a Bitcoin transaction is similar to mailing a package: you can pay a high fee for fast high-priority service or a lower fee for slower low-priority service. This section describes several techniques for taking advantage of the more affordable low-priority service.<br />
<br />
=== Dynamic fee estimation ===<br />
<br />
''Universally useful. Already widely deployed but still being improved as research and development continues''<br />
<br />
Early Bitcoin wallets often defaulted to paying a fixed fee on every transaction—enough to incentivize a miner to include it but not enough to compete against other transactions seeking confirmation in the [[Transaction_fees#The_market_for_block_space|block space market]]. As blocks have filled, this has changed, and as of early 2018 all widely-used wallets use dynamic fee estimation to select a fee based on the condition of the current fee market.<br />
<br />
[[File:Bitcoin-core-fee-selector.png|thumb|200px|right|Fee selector in Bitcoin Core 0.15.0]]<br />
<br />
However, some fee estimation tools may be better than others, achieving confirmation by the desired time even when paying lower fees. Although data from multiple wallets and fee estimation services can be compared<ref>[https://www.p2sh.info/dashboard/db/fee-estimation Fee Estimation], P2SH.info, retrieved 2018-01-23</ref> and there have been some attempts to compare fee estimation between different wallets,<ref>[https://blog.bitgo.com/the-challenges-of-bitcoin-transaction-fee-estimation-e47a64a61c72 The Challenges of Bitcoin Transaction Fee Estimation], Jameson Lopp, BitGo block, 2017-05-10, retrieved 2018-01-23</ref> there is no known survey of fee estimation quality across a large number of popular wallets as of early 2018.<br />
<br />
In addition, also as of early 2018, some techniques have recently been described that could significantly improve fee estimation, such as factoring current [[mempool]] data into confirmation-based fee estimates.<ref name="mempool-fee-est-slides">[https://scalingbitcoin.org/stanford2017/Day2/Scaling-2017-Optimizing-fee-estimation-via-the-mempool-state.pdf Optimizing fee estimation via the mempool state (slides, PDF)], Karl-Johan Alm, Scaling Bitcoin 2017 (Stanford), 2017-11-05, retrieved 2018-01-23</ref><ref name="mempool-fee-est-video">[https://www.youtube.com/watch?v=QkYXPJMqBNk&feature=youtu.be&t=2033 Optimizing fee estimation via the mempool state (presentation video)], Karl-Johan Alm, Scaling Bitcoin 2017 (Stanford), 2017-11-05, retrieved 2018-01-23</ref><br />
<br />
See also<br />
<br />
* [[Transaction fees]]<br />
* [https://blog.bitgo.com/the-challenges-of-bitcoin-transaction-fee-estimation-e47a64a61c72 The Challenges of Bitcoin Transaction Fee Estimation] - Jameson Lopp<br />
* [https://gist.github.com/morcos/d3637f015bc4e607e1fd10d8351e9f41 High level description Bitcoin Core's fee estimation algorithm] - Alex Morcos<br />
<br />
=== Patient spending ===<br />
<br />
''Very useful for non-urgent transactions. Not useful for urgent transactions''<br />
<br />
Spenders who can patiently wait for their transactions to confirm can take advantage of variations in the [[Transaction fees#feerates|feerate]] necessary to achive confirmation. For example, sometimes several Bitcoin blocks are produced in quick succession, raising the effective supply of block space by several multiples; other times, demand drops off, such as fees on Sunday being on average 20% lower than fees on Friday in Q4 2017<ref>[[Transaction_fees#The_market_for_block_space]], Bitcoin Wiki, retrieved 2018-01-27</ref>. Looking at data from the widely-used fee estimator included in Bitcoin Core, we can see fee savings of 90% or more possible, with around 50% being easily obtainable by many patient spenders.<br />
<br />
[[File:Feerate-estimates.png|center]]<br />
<br />
In the data plotted above, the Bitcoin Core fee estimator suggests that for this sample period the following savings are available:<br />
<br />
{|<br />
! Wait<br />
! Conservative savings<br />
! Economical savings*<br />
|-<br />
| 2 hours<br />
| 5% <br />
| 5%<br />
|-<br />
| 6 hours<br />
| 18%<br />
| 55%<br />
|-<br />
| 12 hours <br />
| 39%<br />
| 55%<br />
|-<br />
| 24 hours (1 day)<br />
| 39% <br />
| 55%<br />
|-<br />
| 48 hours (2 days) <br />
| 47% <br />
| 55%<br />
|-<br />
| 72 hours (3 days) <br />
| 52% <br />
| 55%<br />
|-<br />
| 96 hours (4 days) <br />
| 92% <br />
| 92%<br />
|}<br />
<br />
''* Economical savings have a lower probability of being achieved and are recommended for use with the transaction replacability described in a later section.''<br />
<br />
Although waiting up to four days is impractical for many use cases, there are also many cases where it can be practical. A few examples: moving funds between one's own wallets, [[#Consolidation|consolidating]] many smaller inputs into one larger input that can be more efficiently spent, or payments or remittances to friends or family who trust the spender and so don't need fast confirmation.<br />
<br />
See also:<br />
<br />
* [https://p2sh.info/dashboard/db/fee-estimation P2SH.info] - Fee estimates from multiple sources<br />
* [https://bitcoinfees.net bitcoinfees.net] - Uses Bitcoin Core's "estimatesmartfee" method<br />
* [[Transaction_fees#Fee_Plotting_Sites|Other fee plotting sites]]<br />
<br />
=== Opt-in transaction replacement ===<br />
<br />
''Universally useful, but may cause UI issues in recipient wallets''<br />
<br />
Although not strictly a method for reducing fees by itself, opt-in transaction replacement allows a wallet to update previously-sent transactions with new versions that pay higher fees and, possibly, make other changes to the transaction. The method is also called opt-in Replace-By-Fee (RBF). This technique allows wallets to initially pay lower fees in case there's a sudden increase in the supply of block space, a sudden decrease in demand for that space, or another situation that increases the chance of low-fee transactions being confirmed. If none of those things happens, the spender can then increase ("bump") the transaction's fee to increase its probability of confirming.<br />
<br />
This often allows wallets that support transaction replacement to pay lower fees than wallets that don't support replacement.<br />
<br />
Transaction replacement can appear odd in some recipient wallets. Wallets such as Bitcoin Core (pictured below) show each replacement as a separate payment in the list of transactions. When one version of the replacements is confirmed, it is shown as a normal transaction; the other versions are then shown with an X icon to indicate that they are [[conflicted]] (cannot occur together in the same valid block chain). This helps communicate the status of all affected payments to the recipient, but it may not be entirely clear what's happening to users who aren't familar with replacements. Other wallets may not show transactions opting in to replacement at all until one version of the transaction has been confirmed. There's no clear community consensus on the correct way to handle this situation using user interfaces, documentation, or both.<br />
<br />
[[File:Fee-bump-ux.png|thumb|right|200px|List of transaction replacements in Bitcoin Core 0.15.0]]<br />
<br />
Transaction replacement can be advantageously combined with ''payment batching'' (described previously). Instead of waiting, for example, 30 minutes to batch all outgoing payments, the spender can batch the first 10 minutes of payments with a low feerate. If that doesn't get confirmed within 10 minutes, the spender can replace that transaction with a slightly higher feerate transaction that also includes then next 10 minutes of payments. If that again doesn't confirm, another update can also include the third 10 minutes of transactions at the original intended feerate. This allows the recipients of the first 10 minutes of payments to receive a notification that the payment has been sent up to 20 minutes earlier than with normal batching, and it also gives those early payments a chance to confirm at a lower-than-expected feerate. Updating a batched transaction with more payments can be done as many times as necessary up to a [[relay limit]] on transaction size of 100 kilobytes.<br />
<br />
Currently, transaction replacement does have one significant downside: it tends to reduce privacy. When the fee on a transaction is increased, either additional inputs must be added or the value of the [[change output]] must be decreased. In either case, this makes the change output easier to identify among the different outputs being paid by a transaction. Value-blinding techniques such as [[confidential transactions]] could improve this situation, but there are no near-term plans to add such a feature to Bitcoin as of early 2018. If transaction replacement is always combined with [[#change_avoidance|change avoidance]], it could avoid this privacy issue.<br />
<br />
See also:<br />
<br />
* [[Transaction replacement]]<br />
* [https://bitcoincore.org/en/faq/optin_rbf/ Opt-in Replace-By-Fee (RBF) FAQ] - BitcoinCore.org<br />
* [https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki BIP125] - Opt-in Full Replace-by-Fee Signaling<br />
<br />
==== Pre-computed fee bumping ====<br />
<br />
Pre-computed fee bumping is an idea to create and sign multiple replacements for a transaction at the time the initial transaction is created. The initial transaction version could be broadcast immediately, and each of the replacements would pay successively higher fees. This idea could be combined with Bitcoin's existing [[nLockTime]] feature to allow the replacement versions to forbid being included in a block earlier than a specified time or [[block height]], which would allow the replacements to be trustlessly transmitted to third parties (even miners themselves). <br />
<br />
For example, Alice would tell her wallet that she wanted to pay Bob within the next 10 blocks and also indicate what is the highest fee she’s willing to pay. Alice's wallet would then use its existing fee estimation feature to create an initial version of the transaction to Bob that paid the lowest expected fee for a transaction to confirm within 10 blocks. At the same time, Alice's wallet would also create possibly 9 other versions of the transaction, the first one using nLockTime to ensure it can’t be added until two blocks from now; the second timelocked until three blocks from now; etc…<br />
<br />
Each of these subsequent transactions would pay a slightly higher fee than the original transaction (up to Alice’s indicated max fee) to increase the incentive for miners to mine that transaction.<br />
<br />
Because all versions of the transaction would be signed at the time Alice sent the initial transaction, she would only need to unlock her wallet once. Also, because all subsequent versions of the transaction would use nLockTime, Alice could trustlessly distribute copies of these transactions to other people for later broadcast in case she went offline.<br />
<br />
In short, the software would automatically offer Alice’s maximum fee if it had to, but it’d pay a lower fee if it could get away with it—ensuring Alice got close to the best price possible without any extra effort on her part.<br />
<br />
See also:<br />
<br />
* [https://bitcoincore.org/en/meetings/2017/03/02/#big-features-for-0150 Bitcoin Core IRC meeting summary for 2017-03-02] - See "Precomputed fee bumping" bullet point<br />
<br />
== Offchain payments ==<br />
<br />
Not every Bitcoin payment needs to be added to the Bitcoin block chain. For example, imagine Alice pays 1 BTC to Bob, and then Bob pays 1 BTC to Charlie. Instead of adding both of these payments to the block chain, we could more efficiently just add a 1 BTC payment from Alice to Charlie.<br />
<br />
An early description using this specific optimization called it ''transaction cut-through,''<ref>[https://bitcointalk.org/index.php?topic=281848.0 Transaction cut-through], Gregory Maxwell, 2013-08-23, retrieved 2018-01-25</ref> but the concept of not every payment being recorded on the block chain is more widely known today as ''off-chain payments.''<br />
<br />
Up to 99% of all Bitcoin payments are estimated to be offchain payments<ref>[http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-June/008844.html Pure off-chain is a weak form of layer 2], Adam Back, 19 June 2015</ref>, with most of them likely being buy and sell orders on Bitcoin exchanges. Other third-parties may also help facilitate offchain payments for their users, for example tipping services. These services can be extraordinarily efficient because they don't carry Bitcoin's burden of maintaining consensus among a large set of users—but this efficiency comes at a cost of generally requiring that users trust the service operators not to steal funds. These are ''unenforceable offchain payments.''<br />
<br />
However, there also exist ''enforceable offchain payments'' where no trust in a specific third-party is required—only trust in Bitcoin continuing to operate without transaction censorship.<br />
<br />
This section currently focuses on enforceable offchain payments, but it may later be expanded to cover concepts for unenforcable offchain payments that use cryptography and other security solutions to provide more secure and more private solutions than simple trusted third parties.<br />
<br />
=== Payment channels ===<br />
<br />
''Very useful for small-size and moderate-size payments, but not yet widely deployed as of early 2018''<br />
<br />
[[Payment channels]] are a type of ''enforceable offchain payment'' where bitcoins are deposited into a [[smart contract]] between two or more parties, allowing the involved peers to make trustless payments to each other. Combined with [[hashlock]]s, payments can be securely routed across a network of peers, as in the [[Lightning Network]], allowing Alice to pay Charlie by routing a payment through their mutual peer Bob.<br />
<br />
Opening a payment channel requires a confirmed transaction, incurring the cost of the fees for that transaction, although those fees are identical to sending a regular transaction. Closing a channel also requires a confirmed transaction, adding that transaction's fees to the cost of the payment channel, although those fees too are similar to the costs of the recipient of the funds re-spending them to a new recipient. This means a payment channel's fee cost is very similar to making onchain payments.<br />
<br />
Outside of the channel open and channel close transactions, a payment channel can support an unlimited number of payments without paying any further transaction fees. This can make them extraordinarily efficient—for example, imagine making a million in-channel payments for the cost of just two transaction fees. Note: your channel peers and other channel nodes you route payments through may require their own fee for using their services; these are not related to the transaction fees that are the topic of this article.<br />
<br />
As of early 2018, no payment channel implementation is widely used, but several cooperating implementations of a first version of [[Lightning Network]] are available.<br />
<br />
See also:<br />
<br />
* [[Payment channels]]<br />
* [[Lightning Network]]<br />
<br />
== Potential future improvements ==<br />
<br />
Some of the following improvements and proposed improvements may become available to Bitcoin users. Users who adopt the improvements may be able to further lower their fees.<br />
<br />
* Efficiency improvements<br />
** '''Public key and signature aggregation:''' the ability to combine multiple public keys and signatures into a single public key and signature, allowing multisig transactions to be as efficient to spend as single-signature transactions are today. It may also be possible to combine signatures from multiple inputs in a transaction. It is hopped that this will be possible with variant of [[Schnorr signatures]]. Requires a [[soft fork]].<br />
** '''Merkelized Abstract Syntax Trees (MAST):''' a method for committing to spending scripts that allows the partial omission of unused conditions, allowing complex scripts to be much more efficient,<ref>[https://bitcointechtalk.com/what-is-a-bitcoin-merklized-abstract-syntax-tree-mast-33fdf2da5e2f What is a Bitcoin Merkelized Abstract Syntax Tree?], David A. Harding, BitcoinTechTalk.com, 2017-10-12, retrieved 2018-01-27</ref> even more so if used with [[taproot]]<ref>[https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-January/015614.html Taproot: Privacy preserving switchable scripting], Gregory Maxwell, Bitcoin-Dev mailing list, 2018-01-23</ref>. Combines well with signature aggregation (described above) in certain use cases. Requires a [[soft fork]].<br />
** '''CoinJoin with signature aggregation:''' [[CoinJoin]] is a technology for Bitcoin that enhances privacy without reducing security. A group of patient spenders can enter a coinjoin together and obfuscate which of them paid which recipient and which change outputs (if any) they received back. Combined with signature aggregation (described in a previous bullet point), this enhanced privacy mode would be cheaper than each spender making a separate less-private transaction—and it would still be just as secure.<ref>[https://diyhpl.us/wiki/transcripts/scalingbitcoin/milan/schnorr-signatures/ Elliptic curve Schnorr-based signatures in Bitcoin], Pieter Wuille, Scaling Bitcoin 2016 (Milan), 2016-10-09, retrieved 2018-01-27</ref> Requires the signature aggregation soft fork described previously.<br />
<br />
* Intelligent fee selection<br />
** '''Mempool-using fee estimation:''' a potential improvement in fee estimation that considers not just which transactions have been recently confirmed but also the queue of currently unconfirmed transactions.<ref name="mempool-fee-est-slides"/><ref name="mempool-fee-est-video"/> Does not require any protocol changes.<br />
<br />
* Offchain payments<br />
** '''Channel factories:''' (enforceable offchain payments) a potentially more efficient way to open payment channels such as those used by Lightning Network. Combined with signature aggregation (described above) this could reduce the cost of opening a payment channel by up to 96%.<ref>[https://www.tik.ee.ethz.ch/file/a20a865ce40d40c8f942cf206a7cba96/Scalable_Funding_Of_Blockchain_Micropayment_Networks%20(1).pdf Scalable Funding of Bitcoin Micropayment Channel Networks]; Conrad Burchert, Christian Decker, and Roger Wattenhofer; retrieved 2018-01-27</ref> Does not require any [[consensus]] changes.<br />
** '''Chaumian banks:''' (unenforceable offchain payments) a trusted third party who controls bitcoins for a pool of Bitcoin users ([[custodial wallet]], AKA "Bitcoin bank") but who can't know which users own which bitcoins. This is accomplished using [[Chaum blinded signatures]].<ref>[https://medium.com/@nopara73/chaumian-e-cash-for-custodial-bitcoin-wallets-and-services-to-scale-bitcoin-8977d9a03064 Chaumian E-Cash For Custodial Bitcoin Wallets And Services To Scale Bitcoin], nopara73, Medium.com, 2017-12-22, retrieved 2018-01-27</ref> Combined with [[hardware security modules]], it could be made extremely difficult for banks to steal depositor funds.<ref>[https://bitcointalk.org/index.php?topic=146307.0 Fidelity-bonded banks: decentralized, auditable, private, off-chain payments], Peter Todd, 2013-02-23, retrieved 2018-01-27</ref> Does not require any protocol changes.<br />
** '''Strong federations (sidechains)''' (unenforceable offchain payments) a set of trusted third parties controls bitcoins for a pool of Bitcoin users, but uses multisig to prevent an individual or small number of those trusted third parties from stealing depositor funds. Uses a public block chain (but not Bitcoin's block chain) to allow any user to audit all transfers into, out of, or within the system. Hardware security modules (HSMs) are used to further reduce trust in the third parties.<ref>[https://blockstream.com/strong-federations.pdf Strong Federations: An Interoperable Blockchain Solution to Centralized Third Party Risks]; Johnny Dilley, Andrew Poelstra, Jonathan Wilkins, Marta Piekarska, Ben Gorlick, and Mark Friedenbach; retrieved 2018-01-28</ref> Although a block chain is used, this qualifies as an offchain payment solution from the perspective of Bitcoin. As of early 2018, free software federated [[sidechain]] software provides support for [[confidential transactions]]<ref>[https://elementsproject.org/elements/confidential-transactions/ Confidential Transactions], ElementsProject.org, retrieved 2018-01-28</ref> that give them many of the same benefits of the Chaumian banks described in a previous bullet point, but federated sidechain software can (and does) support many other features also.<ref>[https://elementsproject.org/elements/ Elements (features)], ElementsProject.org, retrieved 2018-01-28</ref><br />
<br />
== References ==<br />
<br />
<references /><br />
<br />
[[Category:Instructional]]</div>Peernamehttps://tests.bitcoin.it/w/index.php?title=Techniques_to_reduce_transaction_fees&diff=65930Techniques to reduce transaction fees2018-11-27T10:07:25Z<p>Peername: /* Patient spending */</p>
<hr />
<div>This page provides a list of currently-available techniques that may allow spenders to reduce the amount of [[transaction fee]] they pay. Not all techniques will apply to all situations, and some techniques require trading off other benefits for lower fees.<br />
<br />
When you reduce the fee you pay, you almost always reduce the fees other users have to pay also. For high-frequency spenders, this effect can be large and can provide significant additional second order savings. For example, If an organization is creating 10% of all transactions and begins making transactions 50% more efficiently, an additional 5% of block space is freed up for all users of Bitcoin. This would be expected to lower fees by some amount (likely more than 5%), providing a second order of savings on top of the first-order savings of 50%.<br />
<br />
''Note, this page only describes techniques that apply to payment-oriented transactions. Data carrier transactions (e.g. [[OP_RETURN]] or [[OpenTimestamps]]), [[colored coin]] protocols, and other proposed uses of Bitcoin transactions may benefit from some of the following techniques, but the recommendations are not aimed at those use cases.''<br />
<br />
== Efficiency improvements ==<br />
<br />
Creating transactions that are smaller in size ([[Weight units|weight]]), or which accomplish more for a given size, provide a more efficient way of using scarce block space and so pay less total fee to achieve a [[Transaction fees#feerates|feerate]] that is equivalent to less efficient payments. This section describes several techniques for producing more efficient transactions.<br />
<br />
Technically ''offchain payments'' such as those made in [[payment channels]] are a type of extremely efficient payment and so belong to this category, but they've been given a separate category because of the distinctive way they achieve their high efficiency.<br />
<br />
=== Compressed public keys ===<br />
<br />
''Universally useful but already widely deployed''<br />
<br />
The original Bitcoin software released in 2009 used 65-byte uncompressed public keys to identify the owner of a set of bitcoins. In 2012, Bitcoin protocol developer Pieter Wuille implemented a change to the program now known as Bitcoin Core that allowed it to use 33-byte compressed public keys instead.<ref>[https://bitcoin.org/en/release/v0.6.0#new-features-since-bitcoin-version-05 Bitcoin Core 0.6.0 release notes], Bitcoin.org, 2012-03-20, retrieved 2018-01-27</ref> As Bitcoin Core users adopted this feature and other wallets upgraded to use it as well, this reduced the size of a typical transaction on the network (with one input and two outputs) from about 258 bytes to about 226 bytes, a 14% savings.<br />
<br />
[[File:Uncompressed-pubkey-percentage.png|center|800px|thumb|The percentage of transaction inputs per block using the old uncompressed pubkey format in their scriptSigs. Note: early Bitcoin transactions often placed pubkeys in their scriptPubKeys rather than their scriptSigs.]]<br />
<br />
The change was fully backwards compatible and did not change security in any way, but it did require users wanting to access the space savings to generate new Bitcoin addresses.<br />
<br />
Since 2012, many wallets have adopted compressed public keys—but still some wallets continue to use the less efficient uncompressed public keys. These wallets could achieve a significant savings in transaction fees for the same priority by switching to compressed public keys. If all wallets adopted it, this would effectively lead to a small increase in the available block space:<br />
<br />
[[File:Uncompressed-pubkey-savings.png|center|800px|thumb|The percentage of the maximum available block space consumed by the extra bytes in uncompressed pubkeys]]<br />
<br />
See also:<br />
<br />
* [https://bitcoin.org/en/developer-guide#public-key-formats Compressed public keys] — Bitcoin.org Developer Guide<br />
* [https://bitcoin.org/en/release/v0.6.0#new-features-since-bitcoin-version-05 Bitcoin Core 0.6.0 release notes]<br />
* [https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki#Restrictions_on_public_key_type BIP143] - Requires all pubkeys in [[segregated witness]] witnesses be compressed pubkeys<br />
<br />
=== Payment batching ===<br />
<br />
''Very useful for high-frequency spenders (e.g. organizations); moderately useful for lower-frequency spenders (e.g. individuals)''<br />
<br />
Every Bitcoin transaction must reference the funds being spent and provide proof that the transaction was authorized by the owner of those funds. To spend a single collection of funds takes a minimum of 79 vbytes under normal circumstances. This same amount of block space is used no matter how many recipients are paid in that transaction. For example, consider the following two scenarios:<br />
<br />
* Alice pays Bob in one transaction and then pays Charlie in a second transaction. Each transaction contains a minimum of 79 vbytes related to the funds being spent—a total of 158 vbytes.<br />
* Alice uses a single transaction to pay both Bob and Charlie. The single transaction only needs one set of 79 vbytes related to the funds being spent—a savings of 50% for this field.<br />
<br />
This type of savings increases as more payments are added to a single transaction until the cost per payment is just barely more than the cost of adding the vbytes directly related to that payment in the transaction. The plot below shows the cost per payment for a native segwit [[P2WPKH]] transaction paying other P2WPKH outputs:<br />
<br />
[[File:Batching.png|center]]<br />
<br />
We see the cost drop by more than 50% after five payments are added, with the savings increasing up to about 70% for segwit transactions. Not shown is that the savings increase up to about 80% for legacy transactions because these transactions start off less efficient than segwit transactions. That's a major benefit and one that's easily obtainable by high-frequency spenders, such as organizations.<br />
<br />
Many wallets support batching payments. In graphical wallets, there's often a button that allows you add additional recipients to a transaction (see image below). In command-line and RPC wallets, there's often a call such as <code>sendmany</code> that lets you pay multiple recipients.<br />
<br />
[[File:Bitcoin-core-add-recipient.png|thumb|200px|right|Add Recipient button in Bitcoin Core 0.15.0]]<br />
<br />
Note that there are other parts of a transaction that stay a constant size (or nearly so) when payments are added, so the benefits stack up faster than a fixed cost of just 79 vbytes might suggest. The section below about ''change avoidance'' addresses how one of these cases can itself be eliminated as a cost.<br />
<br />
See also:<br />
<br />
* [https://bitcointechtalk.com/saving-up-to-80-on-bitcoin-transaction-fees-by-batching-payments-4147ab7009fb Saving up to 80% on Bitcoin transaction fees by batching payments]<br />
* [https://bitcoin.org/en/developer-reference#sendmany SendMany RPC] - Bitcoin.org Developer Reference<br />
<br />
=== P2SH-wrapped segwit ===<br />
<br />
''Universally useful''<br />
<br />
Transactions that spend bitcoins secured by [[segregated witness]] (segwit) use less space in a block than equivalent non-segwit (legacy) transactions, allowing segwit transactions to pay less total fee to achieve the same [[Transaction fees#feerates|feerate]] as legacy transactions. The amount of savings varies depending on the details of your transaction, but here are a few common transaction types an an example:<br />
<br />
{|<br />
! Type<br />
! Legacy vbytes<br />
! P2SH-wrapped<br>segwit vbytes<br />
! Savings<br />
|-<br />
| Single signature<br />
| 226<br />
| 167<br />
| 26%<br />
|-<br />
| 2-of-2 multisig<br />
| 335<br />
| 197<br />
| 41%<br />
|-<br />
| 2-of-3 multisig<br />
| 369<br />
| 206<br />
| 44%<br />
|}<br />
<br />
Note that the multisig examples above use the same security as the equivalent legacy P2SH multisig. Segwit optionally allows access to a multisig form that is more secure on one dimension but it requires an extra 12 vbytes per output, which would reduce efficiency somewhat.<br />
<br />
To access these savings, you must use a wallet that supports generating P2SH-wrapped segwit addresses (addresses that start with a "3", although not all addresses that start with a 3 are segwit-enabled). When you spend bitcoins received to these P2SH-wrapped segwit addresses, your transactions will automatically consume less block space, allowing your wallet to pay proportionally less fee.<br />
<br />
See also:<br />
<br />
* [[Segregated Witness]]<br />
* [https://bitcoincore.org/en/segwit_wallet_dev/ Segregated Witness Wallet Development Guide] - BitcoinCore.org<br />
* [https://bitcoincore.org/en/segwit_adoption/ List of wallets, libraries, and services that support segwit] - BitcoinCore.org<br />
<br />
=== Native segwit ===<br />
<br />
''Universally useful. Complete usage requires native segwit adoption by the people sending you bitcoins, but you may be able to use it for your [[change outputs]] immediately''<br />
<br />
The P2SH-wrapped segwit described above is backwards compatible with the P2SH address format supported by older wallets, but a new and non-backwards compatible format is available that saves additional space. The following examples and savings are compared to the size of the P2SH-wrapped examples above:<br />
<br />
{|<br />
! Type<br />
! P2SH-wrapped<br>segwit vbytes<br />
! Native segwit<br>vbytes<br />
! Additional<br>savings<br />
|-<br />
| Single signature<br />
| 167<br />
| 141<br />
| 16%<br />
|-<br />
| 2-of-2 multisig<br />
| 197<br />
| 169<br />
| 14%<br />
|-<br />
| 2-of-3 multisig<br />
| 206<br />
| 178<br />
| 14%<br />
|}<br />
<br />
To access these savings, you must use a wallet that supports generating native segwit addresses, called [[bech32]] addresses (addresses that start with a "bc1"). When you spend bitcoins received to these native segwit addresses, your transactions will automatically consume less block space than even P2SH-wrapped segwit addresses, allowing your wallet to pay proportionally less fee.<br />
<br />
Once a wallet supports native segwit, it can begin using it immediately for any [[Change|change outputs]] it generates back to itself without waiting for anyone else to begin using native segwit. In early 2018, when native segwit adoption is low, this may make it easier to identify which output is change and so reduce your privacy. However, once native segwit adoption increases just slightly, this is not expected to adversely affect privacy.<br />
<br />
See also:<br />
<br />
* [[Bech32 adoption]]<br />
* [https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki BIP173] — Bech32 addresses<br />
<br />
=== Change avoidance ===<br />
<br />
''Useful for high-frequency recipients (e.g. organizations), especially those who already effectively use transaction batching''<br />
<br />
When a Bitcoin transaction references the funds it wants to spend, it's required to spend all of those funds. For example, if you received 5 BTC in a previous transaction and now you want to spend 2 BTC, Bitcoin requires that you spend all 5 BTC. For this reason, almost all Bitcoin transactions currently pay some bitcoins back to the spender. For example, you'd return the remaining 3 BTC from the previous example back to yourself. This return of money to yourself is called ''change'' by analogy to the change a store clerk hands you when you (for example) buy a $2 item with a $5 bill.<br />
<br />
A typical change output adds about 32 vbytes to the size of a transaction. If the spender can pay with exact change—that is, doesn't need to refund any change to them self—they can eliminate the change output and generate transactions that are up to 23% smaller. In addition, a change output will later be spent at a typical cost of 69 vbytes or more, but when paying with exact change, this future cost is also avoided.<br />
<br />
To use change avoidance requires having previously received a payment or set of payments that's close to the size of the amount being spent (including the transaction fee). This can be rare in the case of individual user wallets that don't receive many payments to choose from and can't significantly vary the amount of their spending transactions, but for organization wallets that receive many payments and already use payment batching to combine multiple outgoing payments, change avoidance can be an easily-obtainable efficiency improvement.<br />
<br />
The spender doesn't need to match the inputs and outputs of their transaction exactly to Bitcoin's full 10 nanobitcoin precision, but can instead overpay or underpay fees slightly by including inputs that are (respectively) slightly more or slightly less than the desired amount. Even when paying slightly more fees than desired, this can result in savings if the slight increase in fees is still less than would normally be paid for the extra 32 vbytes (or so) for a change output and the typical mininum of 69 vbytes for later spending that output.<ref>[https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-January/015606.html Transaction Merging (bip125 relaxation)], Rhavar, bitcoin-dev mailing list, 2018-01-22</ref> When paying slightly lower fees, confirmation of the transaction may be delayed, but current-generation (2018) fee estimates are still inaccurate enough that small differences in feerates may not strongly correlate to delays.<br />
<br />
See also:<br />
<br />
* [http://murch.one/wp-content/uploads/2016/11/erhardt2016coinselection.pdf An Evaluation of Coin Selection Strategies] - Mark Erhardt<br />
* [https://github.com/bitcoin/bitcoin/pull/10637 Bitcoin Core pull request #10,637] - A proposed implementation of Erhardt's "branch and bound" strategy<br />
* [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-January/015606.html Bitcoin-Dev mailing list post] - With good coin selection, I am able to avoid change about ~75% of the time in my simulations..."<br />
<br />
=== Consolidation ===<br />
<br />
''Useful for all wallets but may require users sacrifice some privacy''<br />
<br />
The amount of fee a transaction pays is proportional to its size in [[vbytes]], and one the main contributors to size is the number of [[inputs]] the transaction spends. Each input is a reference to the funds the transaction wants to spend, and when a wallet contains only low-value inputs, it can't create a comparatively higher output paying a recipient without adding many of those inputs to the transaction. Each input adds a minimum of 41 vbytes to the transaction and almost always 69 or more vbytes, so any strategy that reduces the number of inputs is worth considering.<br />
<br />
Given that [[Transaction_fees#The_market_for_block_space|fees vary over time]], one method that can reduce overall fees is input consolidation—combining a set of smaller inputs into a single larger input by spending them from yourself to yourself during a period of time when fees are lower than normal. For example, if your usual target feerate during normal-priced fee periods is 100 nanobitcoins per vbyte and the current feerate is 10 nanobitcoins per vbyte, you could save up to almost 90% on fees by consolidating now before you next need to spend some of those inputs.<br />
<br />
[[File:Consolidation-savings.png|center]]<br />
<br />
Consolidation does come with the overhead of creating the consolidation transaction, which is equal to the cost of spending one input to one output, which is about 110 vbytes for P2WPKH inputs/outputs. Also, if you combine inputs that were originally sent to addresses unconnected to each other, you may reduce your privacy in some cases by making that connection in your consolidation transaction (although it's believed that few people currently manage to spend their inputs in a manner that preserves this element of privacy).<br />
<br />
See also:<br />
<br />
* [[How to cheaply consolidate coins to reduce miner fees]]<br />
<br />
== Intelligent fee selection ==<br />
<br />
When it comes to fees, sending a Bitcoin transaction is similar to mailing a package: you can pay a high fee for fast high-priority service or a lower fee for slower low-priority service. This section describes several techniques for taking advantage of the more affordable low-priority service.<br />
<br />
=== Dynamic fee estimation ===<br />
<br />
''Universally useful. Already widely deployed but still being improved as research and development continues''<br />
<br />
Early Bitcoin wallets often defaulted to paying a fixed fee on every transaction—enough to incentivize a miner to include it but not enough to compete against other transactions seeking confirmation in the [[Transaction_fees#The_market_for_block_space|block space market]]. As blocks have filled, this has changed, and as of early 2018 all widely-used wallets use dynamic fee estimation to select a fee based on the condition of the current fee market.<br />
<br />
[[File:Bitcoin-core-fee-selector.png|thumb|200px|right|Fee selector in Bitcoin Core 0.15.0]]<br />
<br />
However, some fee estimation tools may be better than others, achieving confirmation by the desired time even when paying lower fees. Although data from multiple wallets and fee estimation services can be compared<ref>[https://www.p2sh.info/dashboard/db/fee-estimation Fee Estimation], P2SH.info, retrieved 2018-01-23</ref> and there have been some attempts to compare fee estimation between different wallets,<ref>[https://blog.bitgo.com/the-challenges-of-bitcoin-transaction-fee-estimation-e47a64a61c72 The Challenges of Bitcoin Transaction Fee Estimation], Jameson Lopp, BitGo block, 2017-05-10, retrieved 2018-01-23</ref> there is no known survey of fee estimation quality across a large number of popular wallets as of early 2018.<br />
<br />
In addition, also as of early 2018, some techniques have recently been described that could significantly improve fee estimation, such as factoring current [[mempool]] data into confirmation-based fee estimates.<ref name="mempool-fee-est-slides">[https://scalingbitcoin.org/stanford2017/Day2/Scaling-2017-Optimizing-fee-estimation-via-the-mempool-state.pdf Optimizing fee estimation via the mempool state (slides, PDF)], Karl-Johan Alm, Scaling Bitcoin 2017 (Stanford), 2017-11-05, retrieved 2018-01-23</ref><ref name="mempool-fee-est-video">[https://www.youtube.com/watch?v=QkYXPJMqBNk&feature=youtu.be&t=2033 Optimizing fee estimation via the mempool state (presentation video)], Karl-Johan Alm, Scaling Bitcoin 2017 (Stanford), 2017-11-05, retrieved 2018-01-23</ref><br />
<br />
See also<br />
<br />
* [[Transaction fees]]<br />
* [https://blog.bitgo.com/the-challenges-of-bitcoin-transaction-fee-estimation-e47a64a61c72 The Challenges of Bitcoin Transaction Fee Estimation] - Jameson Lopp<br />
* [https://gist.github.com/morcos/d3637f015bc4e607e1fd10d8351e9f41 High level description Bitcoin Core's fee estimation algorithm] - Alex Morcos<br />
<br />
=== Patient spending ===<br />
<br />
''Very useful for non-urgent transactions. Not useful for urgent transactions''<br />
<br />
Spenders who can patiently wait for their transactions to confirm can take advantage of variations in the [[Transaction fees#feerates|feerate]] necessary to achive confirmation. For example, sometimes several Bitcoin blocks are produced in quick succession, raising the effective supply of block space by several multiples; other times, demand drops off, such as fees on Sunday being on average 20% lower than fees on Friday in Q4 2017<ref>[[Transaction_fees#The_market_for_block_space]], Bitcoin Wiki, retrieved 2018-01-27</ref>. Looking at data from the widely-used fee estimator included in Bitcoin Core, we can see fee savings of 90% or more possible, with around 50% being easily obtainable by many patient spenders.<br />
<br />
[[File:Feerate-estimates.png|center]]<br />
<br />
In the data plotted above, the Bitcoin Core fee estimator suggests that for this sample period the following savings are available:<br />
<br />
{|<br />
! Wait<br />
! Conservative savings<br />
! Economical savings*<br />
|-<br />
| 2 hours<br />
| 5% <br />
| 5%<br />
|-<br />
| 6 hours<br />
| 18%<br />
| 55%<br />
|-<br />
| 12 hours <br />
| 39%<br />
| 55%<br />
|-<br />
| 24 hours (1 day)<br />
| 39% <br />
| 55%<br />
|-<br />
| 48 hours (2 days) <br />
| 47% <br />
| 55%<br />
|-<br />
| 72 hours (3 days) <br />
| 52% <br />
| 55%<br />
|-<br />
| 96 hours (4 days) <br />
| 92% <br />
| 92%<br />
|}<br />
<br />
''* Economical savings have a lower probability of being achieved and are recommended for use with the transaction replacability described in a later section.''<br />
<br />
Although waiting up to four days is impractical for many use cases, there are also many cases where it can be practical. A few examples: moving funds between one's own wallets, [[#Consolidation|consolidating]] many smaller inputs into one larger input that can be more efficiently spent, or payments or remittances to friends or family who trust the spender and so don't need fast confirmation.<br />
<br />
See also:<br />
<br />
* [https://p2sh.info/dashboard/db/fee-estimation P2SH.info] - Fee estimates from multiple sources<br />
* [https://bitcoinfees.net] - Uses Bitcoin Core's "estimatesmartfee" method<br />
* [[Transaction_fees#Fee_Plotting_Sites|Other fee plotting sites]]<br />
<br />
=== Opt-in transaction replacement ===<br />
<br />
''Universally useful, but may cause UI issues in recipient wallets''<br />
<br />
Although not strictly a method for reducing fees by itself, opt-in transaction replacement allows a wallet to update previously-sent transactions with new versions that pay higher fees and, possibly, make other changes to the transaction. The method is also called opt-in Replace-By-Fee (RBF). This technique allows wallets to initially pay lower fees in case there's a sudden increase in the supply of block space, a sudden decrease in demand for that space, or another situation that increases the chance of low-fee transactions being confirmed. If none of those things happens, the spender can then increase ("bump") the transaction's fee to increase its probability of confirming.<br />
<br />
This often allows wallets that support transaction replacement to pay lower fees than wallets that don't support replacement.<br />
<br />
Transaction replacement can appear odd in some recipient wallets. Wallets such as Bitcoin Core (pictured below) show each replacement as a separate payment in the list of transactions. When one version of the replacements is confirmed, it is shown as a normal transaction; the other versions are then shown with an X icon to indicate that they are [[conflicted]] (cannot occur together in the same valid block chain). This helps communicate the status of all affected payments to the recipient, but it may not be entirely clear what's happening to users who aren't familar with replacements. Other wallets may not show transactions opting in to replacement at all until one version of the transaction has been confirmed. There's no clear community consensus on the correct way to handle this situation using user interfaces, documentation, or both.<br />
<br />
[[File:Fee-bump-ux.png|thumb|right|200px|List of transaction replacements in Bitcoin Core 0.15.0]]<br />
<br />
Transaction replacement can be advantageously combined with ''payment batching'' (described previously). Instead of waiting, for example, 30 minutes to batch all outgoing payments, the spender can batch the first 10 minutes of payments with a low feerate. If that doesn't get confirmed within 10 minutes, the spender can replace that transaction with a slightly higher feerate transaction that also includes then next 10 minutes of payments. If that again doesn't confirm, another update can also include the third 10 minutes of transactions at the original intended feerate. This allows the recipients of the first 10 minutes of payments to receive a notification that the payment has been sent up to 20 minutes earlier than with normal batching, and it also gives those early payments a chance to confirm at a lower-than-expected feerate. Updating a batched transaction with more payments can be done as many times as necessary up to a [[relay limit]] on transaction size of 100 kilobytes.<br />
<br />
Currently, transaction replacement does have one significant downside: it tends to reduce privacy. When the fee on a transaction is increased, either additional inputs must be added or the value of the [[change output]] must be decreased. In either case, this makes the change output easier to identify among the different outputs being paid by a transaction. Value-blinding techniques such as [[confidential transactions]] could improve this situation, but there are no near-term plans to add such a feature to Bitcoin as of early 2018. If transaction replacement is always combined with [[#change_avoidance|change avoidance]], it could avoid this privacy issue.<br />
<br />
See also:<br />
<br />
* [[Transaction replacement]]<br />
* [https://bitcoincore.org/en/faq/optin_rbf/ Opt-in Replace-By-Fee (RBF) FAQ] - BitcoinCore.org<br />
* [https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki BIP125] - Opt-in Full Replace-by-Fee Signaling<br />
<br />
==== Pre-computed fee bumping ====<br />
<br />
Pre-computed fee bumping is an idea to create and sign multiple replacements for a transaction at the time the initial transaction is created. The initial transaction version could be broadcast immediately, and each of the replacements would pay successively higher fees. This idea could be combined with Bitcoin's existing [[nLockTime]] feature to allow the replacement versions to forbid being included in a block earlier than a specified time or [[block height]], which would allow the replacements to be trustlessly transmitted to third parties (even miners themselves). <br />
<br />
For example, Alice would tell her wallet that she wanted to pay Bob within the next 10 blocks and also indicate what is the highest fee she’s willing to pay. Alice's wallet would then use its existing fee estimation feature to create an initial version of the transaction to Bob that paid the lowest expected fee for a transaction to confirm within 10 blocks. At the same time, Alice's wallet would also create possibly 9 other versions of the transaction, the first one using nLockTime to ensure it can’t be added until two blocks from now; the second timelocked until three blocks from now; etc…<br />
<br />
Each of these subsequent transactions would pay a slightly higher fee than the original transaction (up to Alice’s indicated max fee) to increase the incentive for miners to mine that transaction.<br />
<br />
Because all versions of the transaction would be signed at the time Alice sent the initial transaction, she would only need to unlock her wallet once. Also, because all subsequent versions of the transaction would use nLockTime, Alice could trustlessly distribute copies of these transactions to other people for later broadcast in case she went offline.<br />
<br />
In short, the software would automatically offer Alice’s maximum fee if it had to, but it’d pay a lower fee if it could get away with it—ensuring Alice got close to the best price possible without any extra effort on her part.<br />
<br />
See also:<br />
<br />
* [https://bitcoincore.org/en/meetings/2017/03/02/#big-features-for-0150 Bitcoin Core IRC meeting summary for 2017-03-02] - See "Precomputed fee bumping" bullet point<br />
<br />
== Offchain payments ==<br />
<br />
Not every Bitcoin payment needs to be added to the Bitcoin block chain. For example, imagine Alice pays 1 BTC to Bob, and then Bob pays 1 BTC to Charlie. Instead of adding both of these payments to the block chain, we could more efficiently just add a 1 BTC payment from Alice to Charlie.<br />
<br />
An early description using this specific optimization called it ''transaction cut-through,''<ref>[https://bitcointalk.org/index.php?topic=281848.0 Transaction cut-through], Gregory Maxwell, 2013-08-23, retrieved 2018-01-25</ref> but the concept of not every payment being recorded on the block chain is more widely known today as ''off-chain payments.''<br />
<br />
Up to 99% of all Bitcoin payments are estimated to be offchain payments<ref>[http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-June/008844.html Pure off-chain is a weak form of layer 2], Adam Back, 19 June 2015</ref>, with most of them likely being buy and sell orders on Bitcoin exchanges. Other third-parties may also help facilitate offchain payments for their users, for example tipping services. These services can be extraordinarily efficient because they don't carry Bitcoin's burden of maintaining consensus among a large set of users—but this efficiency comes at a cost of generally requiring that users trust the service operators not to steal funds. These are ''unenforceable offchain payments.''<br />
<br />
However, there also exist ''enforceable offchain payments'' where no trust in a specific third-party is required—only trust in Bitcoin continuing to operate without transaction censorship.<br />
<br />
This section currently focuses on enforceable offchain payments, but it may later be expanded to cover concepts for unenforcable offchain payments that use cryptography and other security solutions to provide more secure and more private solutions than simple trusted third parties.<br />
<br />
=== Payment channels ===<br />
<br />
''Very useful for small-size and moderate-size payments, but not yet widely deployed as of early 2018''<br />
<br />
[[Payment channels]] are a type of ''enforceable offchain payment'' where bitcoins are deposited into a [[smart contract]] between two or more parties, allowing the involved peers to make trustless payments to each other. Combined with [[hashlock]]s, payments can be securely routed across a network of peers, as in the [[Lightning Network]], allowing Alice to pay Charlie by routing a payment through their mutual peer Bob.<br />
<br />
Opening a payment channel requires a confirmed transaction, incurring the cost of the fees for that transaction, although those fees are identical to sending a regular transaction. Closing a channel also requires a confirmed transaction, adding that transaction's fees to the cost of the payment channel, although those fees too are similar to the costs of the recipient of the funds re-spending them to a new recipient. This means a payment channel's fee cost is very similar to making onchain payments.<br />
<br />
Outside of the channel open and channel close transactions, a payment channel can support an unlimited number of payments without paying any further transaction fees. This can make them extraordinarily efficient—for example, imagine making a million in-channel payments for the cost of just two transaction fees. Note: your channel peers and other channel nodes you route payments through may require their own fee for using their services; these are not related to the transaction fees that are the topic of this article.<br />
<br />
As of early 2018, no payment channel implementation is widely used, but several cooperating implementations of a first version of [[Lightning Network]] are available.<br />
<br />
See also:<br />
<br />
* [[Payment channels]]<br />
* [[Lightning Network]]<br />
<br />
== Potential future improvements ==<br />
<br />
Some of the following improvements and proposed improvements may become available to Bitcoin users. Users who adopt the improvements may be able to further lower their fees.<br />
<br />
* Efficiency improvements<br />
** '''Public key and signature aggregation:''' the ability to combine multiple public keys and signatures into a single public key and signature, allowing multisig transactions to be as efficient to spend as single-signature transactions are today. It may also be possible to combine signatures from multiple inputs in a transaction. It is hopped that this will be possible with variant of [[Schnorr signatures]]. Requires a [[soft fork]].<br />
** '''Merkelized Abstract Syntax Trees (MAST):''' a method for committing to spending scripts that allows the partial omission of unused conditions, allowing complex scripts to be much more efficient,<ref>[https://bitcointechtalk.com/what-is-a-bitcoin-merklized-abstract-syntax-tree-mast-33fdf2da5e2f What is a Bitcoin Merkelized Abstract Syntax Tree?], David A. Harding, BitcoinTechTalk.com, 2017-10-12, retrieved 2018-01-27</ref> even more so if used with [[taproot]]<ref>[https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-January/015614.html Taproot: Privacy preserving switchable scripting], Gregory Maxwell, Bitcoin-Dev mailing list, 2018-01-23</ref>. Combines well with signature aggregation (described above) in certain use cases. Requires a [[soft fork]].<br />
** '''CoinJoin with signature aggregation:''' [[CoinJoin]] is a technology for Bitcoin that enhances privacy without reducing security. A group of patient spenders can enter a coinjoin together and obfuscate which of them paid which recipient and which change outputs (if any) they received back. Combined with signature aggregation (described in a previous bullet point), this enhanced privacy mode would be cheaper than each spender making a separate less-private transaction—and it would still be just as secure.<ref>[https://diyhpl.us/wiki/transcripts/scalingbitcoin/milan/schnorr-signatures/ Elliptic curve Schnorr-based signatures in Bitcoin], Pieter Wuille, Scaling Bitcoin 2016 (Milan), 2016-10-09, retrieved 2018-01-27</ref> Requires the signature aggregation soft fork described previously.<br />
<br />
* Intelligent fee selection<br />
** '''Mempool-using fee estimation:''' a potential improvement in fee estimation that considers not just which transactions have been recently confirmed but also the queue of currently unconfirmed transactions.<ref name="mempool-fee-est-slides"/><ref name="mempool-fee-est-video"/> Does not require any protocol changes.<br />
<br />
* Offchain payments<br />
** '''Channel factories:''' (enforceable offchain payments) a potentially more efficient way to open payment channels such as those used by Lightning Network. Combined with signature aggregation (described above) this could reduce the cost of opening a payment channel by up to 96%.<ref>[https://www.tik.ee.ethz.ch/file/a20a865ce40d40c8f942cf206a7cba96/Scalable_Funding_Of_Blockchain_Micropayment_Networks%20(1).pdf Scalable Funding of Bitcoin Micropayment Channel Networks]; Conrad Burchert, Christian Decker, and Roger Wattenhofer; retrieved 2018-01-27</ref> Does not require any [[consensus]] changes.<br />
** '''Chaumian banks:''' (unenforceable offchain payments) a trusted third party who controls bitcoins for a pool of Bitcoin users ([[custodial wallet]], AKA "Bitcoin bank") but who can't know which users own which bitcoins. This is accomplished using [[Chaum blinded signatures]].<ref>[https://medium.com/@nopara73/chaumian-e-cash-for-custodial-bitcoin-wallets-and-services-to-scale-bitcoin-8977d9a03064 Chaumian E-Cash For Custodial Bitcoin Wallets And Services To Scale Bitcoin], nopara73, Medium.com, 2017-12-22, retrieved 2018-01-27</ref> Combined with [[hardware security modules]], it could be made extremely difficult for banks to steal depositor funds.<ref>[https://bitcointalk.org/index.php?topic=146307.0 Fidelity-bonded banks: decentralized, auditable, private, off-chain payments], Peter Todd, 2013-02-23, retrieved 2018-01-27</ref> Does not require any protocol changes.<br />
** '''Strong federations (sidechains)''' (unenforceable offchain payments) a set of trusted third parties controls bitcoins for a pool of Bitcoin users, but uses multisig to prevent an individual or small number of those trusted third parties from stealing depositor funds. Uses a public block chain (but not Bitcoin's block chain) to allow any user to audit all transfers into, out of, or within the system. Hardware security modules (HSMs) are used to further reduce trust in the third parties.<ref>[https://blockstream.com/strong-federations.pdf Strong Federations: An Interoperable Blockchain Solution to Centralized Third Party Risks]; Johnny Dilley, Andrew Poelstra, Jonathan Wilkins, Marta Piekarska, Ben Gorlick, and Mark Friedenbach; retrieved 2018-01-28</ref> Although a block chain is used, this qualifies as an offchain payment solution from the perspective of Bitcoin. As of early 2018, free software federated [[sidechain]] software provides support for [[confidential transactions]]<ref>[https://elementsproject.org/elements/confidential-transactions/ Confidential Transactions], ElementsProject.org, retrieved 2018-01-28</ref> that give them many of the same benefits of the Chaumian banks described in a previous bullet point, but federated sidechain software can (and does) support many other features also.<ref>[https://elementsproject.org/elements/ Elements (features)], ElementsProject.org, retrieved 2018-01-28</ref><br />
<br />
== References ==<br />
<br />
<references /><br />
<br />
[[Category:Instructional]]</div>Peernamehttps://tests.bitcoin.it/w/index.php?title=Miner_fees&diff=65929Miner fees2018-11-27T10:05:57Z<p>Peername: /* Fee Plotting Sites */</p>
<hr />
<div>'''Miner fees''' are a fee that spenders may include in any Bitcoin on-chain [[transaction]]. The fee may be collected by the miner who includes the [[transaction]] in a [[block]].<br />
<br />
== Overview ==<br />
<br />
Every Bitcoin transaction spends zero or more bitcoins to zero or more recipients. The difference between the amount being spent and the amount being received is the transaction fee (which must be zero or more).<br />
<br />
Bitcoin's design makes it easy and efficient for the spender to specify how much fee to pay, whereas it would be harder and less efficient for the recipient to specify the fee, so by custom the spender is almost always solely responsible for paying all necessary Bitcoin transaction fees.<br />
<br />
When a miner creates a [[block proposal]], the miner is entitled to specify where all the fees paid by the transactions in that block proposal should be sent. If the proposal results in a valid block that becomes a part of the [[best block chain]], the fee income will be sent to the specified recipient. If a valid block does not collect all available fees, the amount not collected are permanently destroyed; this has happened on more than 1,000 occasions from 2011 to 2017,<ref>[https://medium.com/@alcio/how-to-destroy-bitcoins-255bb6f2142e How to Destroy Bitcoins] by Antoine Le Calvez, Medium.com, retrieved 2018-01-03</ref><ref>[https://twitter.com/random_walker/status/948590112576868354 "Looks like back in 2012, when tx fees started becoming common, some miners were claiming the standard 50 BTC and leaving all tx fees unclaimed."], Arvind Narayanan, Twitter.com, posted 2018-01-03, retrieved 2018-01-03</ref> with decreasing frequency over time. <br />
<br />
<br />
==The market for block space==<br />
<br />
[[File:fee.png|thumb|Receiving the fees from hundreds of transactions (0.44 BTC)]]<br />
<br />
The minimum fee necessary for a transaction to confirm varies over time and arises from the intersection of supply and demand in Bitcoin's free market for block space.<ref>[https://medium.com/@bramcohen/how-wallets-can-handle-transaction-fees-ff5d020d14fb Bram Cohen blog post with helpful background to the market for block space]</ref> On the supply size, Bitcoin has a [[maximum block size]] (currently one million vbytes) that limits the maximum amount of transaction data that can be added to a block.<br />
<br />
However, Bitcoin blocks are not produced on a fixed schedule—the system targets an average of one block every 10 minutes over long periods of time but, over short periods of time, a new block can arrive in less than a second or more than an hour after the previous block. As the number of blocks received in a period of time varies, so does the effective maximum block size. For example, in the illustration below we see the average time between blocks based on the time they were received by a node during a one day period (left axis) and the corresponding effective maximum block size implied by that block production rate (right axis, in million [[vbytes]]):<br />
<br />
[[File:Time-between-blocks.png|center]]<br />
<br />
During periods of higher effective maximum block sizes, this natural and unpredictable variability means that transactions with lower fees have a higher than normal chance of getting confirmed—and during periods of lower effective maximum block sizes, low-fee transactions have a lower than normal chance of getting confirmed.<br />
<br />
On the demand side of Bitcoin's free market for block space, each spender is under unique constraints when it comes to spending their bitcoins. Some are willing to pay high fees; some are not. Some desire fast confirmation; some are content with waiting a while. Some use wallets with excellent dynamic fee estimation; some do not. In addition, demand varies according to certain patterns, with perhaps the most recognizable being the weekly cycle where fees increase during weekdays and decrease on the weekend:<br />
<br />
[[File:Block-fees-dow.png|center]]<br />
<br />
Another less recognizable cycle is the intra-day cycle where fees wax and wane during the day:<br />
<br />
[[File:Block-fees-hod.png|center]]<br />
<br />
These variations in supply and demand create a market for block space that allows users to make a trade-off between confirmation time and cost. Users with high time requirements may pay a higher than average transaction fee to be confirmed quickly, while users under less time pressure can save money by being prepared to wait longer for either a natural (but unpredictable) increase in supply or a (somewhat predictable) decrease in demand.<br />
<br />
It is envisioned that over time the cumulative effect of collecting transaction fees will allow those creating new blocks to "earn" more bitcoins than will be mined from new bitcoins created by the new block itself. This is also an incentive to keep trying to create new blocks as the creation of new bitcoins from the mining activity goes towards [[Controlled supply|zero in the future]].<ref>[https://bitcoincore.org/bitcoin.pdf Bitcoin: A Peer-to-Peer Electronic Cash], section 6: Incentive, Satoshi Nakamoto, 2008-11-01, retrieved 2018-01-22</ref><br />
<br />
== Feerates ==<br />
<br />
Perhaps the most important factor affecting how fast a transaction gets confirmed is its fee rate (often spelled feerate). This section describes why feerates are important and how to calculate a transaction's feerate.<br />
<br />
Bitcoin transaction vary in size for a variety of reasons. We can easily visualize that by drawing four transactions side-by-side based on their size (length) with each of<br />
our examples larger than the previous one:<br />
<br />
[[File:Feerate1.png|400px|center]]<br />
<br />
This method of illustrating length maxes it easy to also visualize an example maximum block size limit that constrains how much transaction data a miner can add to an individual block:<br />
<br />
[[File:Feerate2.png|400px|center]]<br />
<br />
Since Bitcoin only allows whole transactions to be added to a particular block, at least one of the transactions in the example above can't be added to the next block. So how does a miner select which transactions to include? There's no required selection method (called ''policy'') and no known way to make any particular policy required, but one strategy popular among miners is for each individual miner to attempt to maximize the amount of fee income they can collect from the transactions they include in their blocks.<br />
<br />
We can add a visualization of available fees to our previous illustration by keeping the length of each transaction the same but making the area of the transaction equal to its fee. This makes the height of each transaction equal to the fee divided by the size, which is called the ''feerate:''<br />
<br />
[[File:Feerate3.png|400px|center]]<br />
<br />
Although long (wide) transactions may contain more total fee, the high-feerate (tall) transactions are the most profitable to mine because their area is greatest compared to the amount of space (length) they take up in a block. For example, compare transaction B to transaction D in the illustration above. This means that miners attempting to maximize fee income can get good results by simply sorting by feerate and including as many transactions as possible in a block:<br />
<br />
[[File:Feerate4.png|400px|center]]<br />
<br />
Because only complete transactions can be added to a block, sometimes (as in the example above) the inability to include the incomplete transaction near the end of the block frees up space for one or more smaller and lower-feerate transactions, so when a block gets near full, a profit-maximizing miner will often ignore all remaining transactions that are too large to fit and include the smaller transactions that do fit (still in highest-feerate order):<br />
<br />
[[File:Feerate5.png|400px|center]]<br />
<br />
Excluding some rare and rarely-significant edge cases, the feerate sorting described above maximizes miner revenue for any given block size as long as none of the transactions depend on any of the other transactions being included in the same block (see the next section, ''feerates for dependent transactions,'' for more information about that).<br />
<br />
To calculate the feerate for your transaction, take the fee the transaction pays and divide that by the size of the transaction (currently based on [[weight units]] or [[vbytes]] but no longer based on [[bytes]]). For example, if a transaction pays a fee of 2,250 nanobitcoins and is 225 vbytes in size, its feerate is 2,250 divided by 225, which is 10 nanobitcoins per vbyte (this happens to be the minimum fee [[Bitcoin Core]] Wallet will pay by default).<br />
<br />
When comparing to the feerate between several transactions, ensure that the units used for all of the measurements are the same. For example, some tools calculate size in weight units and others use vbytes; some tools also display fees in a variety of [[Units|denominations]].<br />
<br />
== Feerates for dependent transactions (child-pays-for-parent) ==<br />
<br />
Bitcoin transactions can depend on the inclusion of other transactions in the same block, which complicates the feerate-based transaction selection described above. This section describes the rules of that dependency system, how miners can maximize revenue while managing those dependencies, and how bitcoin spenders can use the dependency system to effectively increase the feerate of unconfirmed transactions.<br />
<br />
Each transaction in a block has a sequential order, one transaction after another. Each block in the block chain also has a sequential order, one block after another. This means that there's a single sequential order to every transaction in the [[best block chain]].<br />
<br />
[[File:Ancestor-feerate1.png|center]]<br />
<br />
One of Bitcoin's [[consensus rules]] is that the transaction where you receive bitcoins must appear earlier in this sequence than the transaction where you spend those bitcoins. For example, if Alice pays Bob in transaction A and Bob uses those same bitcoins to pay Charlie in transaction B, transaction A must appear earlier in the sequence of transactions than transaction B. Often this is easy to accomplish because transaction A appears in an earlier block than transaction B:<br />
<br />
[[File:Ancestor-feerate2.png|center]]<br />
<br />
But if transaction A and B both appear in the same block, the rule still applies: transaction A must appear earlier in the block than transaction B.<br />
<br />
This complicates the task of maximizing fee revenue for miners. Normally, miners would prefer to simply sort transactions by feerate as described in the ''feerate'' section above. But if both transaction A and B are unconfirmed, the miner cannot include B earlier in the block than A even if B pays a higher feerate. This can make sorting by feerate alone less profitable than expected, so a more complex algorithm is needed. Happily, it's only slightly more complex.<br />
<br />
For example, consider the following four transactions that are similar to those analyzed in the preceding ''feerate'' section:<br />
<br />
[[File:Ancestor-feerate3.png|center]]<br />
<br />
To maximize revenue, miners need a way to compare groups of related transactions to each other as well as to individual transactions that have no unconfirmed dependencies. To do that, every transaction available for inclusion in the next block has its feerate calculated for it and all of its unconfirmed ancestors. In the example, this means that transaction B is now considered as a combination of transaction B plus transaction A:<br />
<br />
[[File:Ancestor-feerate4.png|center]]<br />
<br />
Note that this means that unconfirmed ancestor transactions will be considered twice or more, as in the case of transaction A in our example which is considered once as part of the transaction B+A group and once on its own. We'll deal with this complication in a moment.<br />
<br />
These transaction groups are then sorted in feerate order as described in the previous ''feerate'' section:<br />
<br />
[[File:Ancestor-feerate5.png|center]]<br />
<br />
Any individual transaction that appears twice or more in the sorted list has its redundant copies removed. In the example case, we remove the standalone version of transaction A since it's already part of the<br />
transaction B+A group:<br />
<br />
[[File:Ancestor-feerate6.png|center]]<br />
<br />
Finally, we see if we can squeeze in some smaller transactions into the end of the block to avoid wasting space as described in the previous ''feerate'' section. In this case, we can't, so no changes are made.<br />
<br />
Except for some edge cases that are rare and rarely have a significant impact on revenue, this simple and efficient transaction sorting algorithm maximizes miner feerate revenue after factoring in transaction dependencies.<br />
<br />
Note: to ensure the algorithm runs quickly, implementations such as Bitcoin Core limit the maximum number of related transactions that will be collected together for consideration as one group. As of Bitcoin Core 0.15.0 (released late 2017), this is a maximum of 25 transactions, although there have been proposals to increase this amount somewhat.<br />
<br />
For spenders, miner use of transaction grouping means that if you're waiting for an unconfirmed transaction that pays too low a feerate (e.g. transaction A), you can create a child transaction spending an output of that transaction and which pays a much higher feerate (e.g. transaction B) to encourage miners to confirm both transactions in the same block. Wallets that explicitly support this feature often call it ''child pays for parent (CPFP)'' because the child transaction B helps pay for the parent transaction A.<br />
<br />
To calculate the feerate for a transaction group, sum the fees paid by all the the group's unconfirmed transactions and divide that by the sum of the sizes for all those same transactions (in [[weight units]] or [[vbytes]]). For example, if transaction A has a fee of 1,000 nanobitcoins and a size of 250 vbytes and transaction B has a fee of 3,000 nanobitcoins and a size of 150 vbytes, the combined feerate is (1,000 + 3,000)/(250 + 150), which is 10 nanobitcoins per vbyte.<br />
<br />
The idea behind ancestor feerate grouping goes back to at least 2013 and saw several different proposals to add it to Bitcoin Core, with it finally becoming available for production with the August 2016 release of Bitcoin Core 0.13.0.<ref>[https://bitcoincore.org/en/2016/08/23/release-0.13.0/#more-intelligent-transaction-selection-for-mining More intelligent transaction selection for mining], Bitcoin Core 0.13.0 release notes, BitcoinCore.org, 2016-08-23, retrieved 2017-01-14</ref><br />
<br />
==Reference Implementation==<br />
<br />
The following sections describe the behavior of the [[Original Bitcoin client|reference implementation]] as of version 0.12.0. Earlier versions treated fees differently, as do other popular implementations (including possible later versions).<br />
<br />
===Sending===<br />
<br />
Users can decide to pay a predefined fee rate by setting `-paytxfee=<n>`<br />
(or `settxfee <n>` rpc during runtime). A value of `n=0` signals Bitcoin<br />
Core to use floating fees. By default, Bitcoin Core will use floating<br />
fees.<br />
<br />
Based on past transaction data, floating fees approximate the fees<br />
required to get into the `m`th block from now. This is configurable<br />
with `-txconfirmtarget=<m>` (default: `2`).<br />
<br />
Sometimes, it is not possible to give good estimates, or an estimate<br />
at all. Therefore, a fallback value can be set with `-fallbackfee=<f>`<br />
(default: `0.0002` BTC/kB).<br />
<br />
At all times, Bitcoin Core will cap fees at `-maxtxfee=<x>` (default:<br />
0.10) BTC.<br />
Furthermore, Bitcoin Core will never create transactions smaller than<br />
the current minimum relay fee.<br />
Finally, a user can set the minimum fee rate for all transactions with<br />
`-mintxfee=<<nowiki>i</nowiki>>`, which defaults to 1000 satoshis per kB.<br />
<br />
<br />
Note that a typical transaction is 500 bytes.<br />
<br />
===Including in Blocks===<br />
<br />
This section describes how the reference implementation selects which transactions to put into new blocks, with default settings. All of the settings may be changed if a miner wants to create larger or smaller blocks containing more or fewer free transactions.<br />
<br />
Then transactions that pay a fee of at least 0.00001 BTC/kb are added to the block, highest-fee-per-kilobyte transactions first, until the block is not more than 750,000 bytes big.<br />
<br />
The remaining transactions remain in the miner's "memory pool", and may be included in later blocks if their priority or fee is large enough.<br />
<br />
For Bitcoin Core 0.12.0 zero bytes<ref>https://github.com/bitcoin/bitcoin/blob/v0.12.0/doc/release-notes.md#relay-and-mining-priority-transactions</ref> in the block are set aside for the highest-[[Transaction_fees#Priority_transactions|priority transactions]]. Transactions are added highest-priority-first to this section of the block.<br />
<br />
===Relaying===<br />
<br />
The reference implementation's rules for relaying transactions across the peer-to-peer network are very similar to the rules for sending transactions, as a value of 0.00001 BTC is used to determine whether or not a transaction is considered "Free". However, the rule that all outputs must be 0.01 BTC or larger does not apply. To prevent "penny-flooding" denial-of-service attacks on the network, the reference implementation caps the number of free transactions it will relay to other nodes to (by default) 15 thousand bytes per minute.<br />
<br />
===Settings===<br />
<br />
{| class="wikitable"<br />
|-<br />
! Setting !! Default Value (units)<br />
|-<br />
| txconfirmtarget || 2 (blocks)<br />
|-<br />
| paytxfee || 0 (BTC/kB)<br />
|-<br />
| mintxfee || 0.00001 (BTC/kB)<br />
|-<br />
| limitfreerelay || 15 (thousand bytes per minute)<br />
|-<br />
| minrelaytxfee || 0.00001 (BTC/kB)<br />
|-<br />
| blockmaxsize || 750000 (bytes)<br />
|-<br />
| blockminsize || 0 (bytes)<br />
|-<br />
| blockprioritysize || 0 (bytes)<br />
|}<br />
<br />
==Fee Plotting Sites==<br />
<br />
As of May 2016, the following sites seem to plot the required fee, in satoshi per (kilo)byte, required to get a transaction mined in a certain number of blocks. Note that all these algorithms work in terms of probabilities.<br />
<br />
* https://bitcoinfees.21.co/<br />
* https://bitcoinfees.github.io/<br />
* https://statoshi.info/dashboard/db/fee-estimates<br />
* http://p2sh.info/dashboard/db/fee-estimation<br />
* https://www.bitcoinqueue.com/2d.html<br />
* https://bitcoinfees.net/<br />
<br />
=== Other Useful Sites ===<br />
<br />
* https://anduck.net/bitcoin/fees/ - Shows what kind of fees filled up recent blocks<br />
* https://btc.com/stats/unconfirmed-tx - the state of the website's mempool broken down by fee rate<br />
* https://jochen-hoenicke.de/queue/#1w - another mempool broken down by fee rate site<br />
* https://esotericnonsense.com/ - yet another mempool site, also very good<br />
* http://mempool.us.to/tx.html - Tells you where a unconfirmed txid is in the queue based on its fee rate (Note that not all miners use the same algorithm)<br />
* https://estimatefee.com/ - You can click any of the transactions in that graph to get more info (like its "effective fee rate" which uses recursive ancestors/descendants for CPFP) and an estimated amount of blocks it'll take to confirm. It works with any transaction in the top 100MB of the bitcoin mempool. And you can enter in any transaction txid for info when you'er wondering why it doesn't confirm.<br />
<br />
==Priority transactions==<br />
<br />
Historically it was not required to include a fee for every transaction. A large portion of miners would mine transactions with no fee given that they had enough "priority". Today, low priority is mostly used as an indicator for spam transactions and almost all miners expect every transaction to include a fee. Today miners choose which transactions to mine only based on fee-rate.<br />
<br />
Transaction priority was calculated as a value-weighted sum of input age, divided by transaction size in bytes:<br />
priority = sum(input_value_in_base_units * input_age)/size_in_bytes<br />
Transactions needed to have a priority above 57,600,000 to avoid the enforced limit (as of client version 0.3.21). This threshold was written in the code as COIN * 144 / 250, suggesting that the threshold represents a one day old, 1 btc coin (144 is the expected number of blocks per day) and a transaction size of 250 bytes.<br />
<br />
So, for example, a transaction that has 2 inputs, one of 5 btc with 10 confirmations, and one of 2 btc with 3 confirmations, and has a size of 500bytes, will have a priority of<br />
(500000000 * 10 + 200000000 * 3) / 500 = 11,200,000<br />
<br />
===Historic rules for free transactions===<br />
A transaction was safe to send without fees if these conditions were met:<br />
<br />
* It is smaller than 1,000 bytes.<br />
* All outputs are 0.01 BTC or larger.<br />
* Its priority is large enough (see above)<br />
<br />
==See Also==<br />
<br />
* [[Techniques to reduce transaction fees]]<br />
* [[Free transaction relay policy]]<br />
* [[Fee bumping]]<br />
* [[Replace by fee]]<br />
* [http://bitcoinexchangerate.org/fees Unconfirmed transactions fee chart]<br />
* [https://jochen-hoenicke.de/queue/ historic fees and mempools]<br />
<br />
==References==<br />
<references /><br />
<br />
[[Category:Technical]]<br />
[[Category:Vocabulary]]<br />
[[Category:Mining]]<br />
[[de:Transaktionsgebühren]]<br />
<br />
{{Bitcoin Core documentation}}</div>Peernamehttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=65670Transaction accelerator2018-08-26T12:12:27Z<p>Peername: /* Bitcoin transaction accelerators */</p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
But there are PAID and Free bitcoin transaction acceleration services available now which you can use to keep your own transaction from getting stuck.<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
* https://pushtx.btc.com: This service is provided by BTC.com in cooperation with several main mining pools. The fee was around 70 USD on December 20, 2017 and the transaction was confirmed within 3 hours. You can pay by BCH or country-specific methods and they estimate the fee based on the transaction size. They promise a chance of 75% for including transactions in the next block within one hour. Within 4 hours the chance is claimed to be at 98%. They guarantee that if the transaction isn’t confirmed in 12 hours, the fees will be fully refunded to your card within 10 ~ 15 days. This policy is not applicable to the transactions which are removed or double-spent during the acceleration process.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - overloaded as of December 20, 2017. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 0.0001BTC/KB.The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next block to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.<br />
<br />
* http://www.hooli1.net/: The serivce offer free and paid service. relatively new site. you can read more about it here before make a deceision: https://bitcointalk.org/index.php?topic=2717898.0 ."<br />
<br />
* https://Confirmtx.com: The service asks for payment but there's no button to pay. Old note: "Warning This website turned into a big scam."<br />
<br />
* https://bitaccelerate.com/ Free Bitcoin transaction accelerator. The service actually rebroadcasts your transaction via different nodes.</div>Peername