1. My balance is currently made up of lots of small amounts
  2. I know I'm not going to be using my bitcoin wallet for a while, so I don't care if the consolidation transaction is slow.

Would creating this transaction with no(or relatively low) fee achieve the aim of making subsequent transactions smaller and therefore less likely to attract higher fees in order to go through quickly?

Assuming this sort of 'consolidation' even works.. What would happen if a wallet program had a feature that allowed people to automatically 'consolidate' overnight depending on the makeup of the wallet's balance? Might it have a negative effect on the network?


It depends which of two cases you are in:

If you have lots of decently-sized transactions to 'gather', it will likely have the reverse of the effect you want. Right now, you probably have lots of old transaction outputs that your future transactions can claim. That means you can form many transactions that use only old outputs, and thus get a higher base priority. If you consolidate your coins, you will have only one transaction output to claim. So in the future, you will only be able to create one high-priority transaction. Once you do that, you will have no more old coins.

But if you have lots of absurdly-small transactions to 'gather', it will likely help you. By not having to gather lots of small transaction outputs together in the future, your future transactions won't be as large and therefore won't require as high a fee (or as large a wait).


If fees are your only concern, yes it works. By ordering the smallest inputs (those of which you'd need lots in a future transaction) in ascending order and then build transactions to yourself just small enough to avoid paying fees you will end up with a few large inputs which can then be used in future transactions, without paying a fee.

This method has been discussed for mobile clients as it allows to discard spent inputs and reduces the amount of data to be stored/searched.

However as David pointed out your future transactions might get a lower priority for being confirmed:

Transactions within each fee tier are prioritized based on several factors. Most importantly, a transaction has more priority if the coins it is using have a lot of confirmations. Someone spamming the network will almost certainly be re-using the same coins, which will lower the priority of their transactions. Priority is also increased for transactions with more BTC, and reduced for transactions with more data.1

So there is in fact a tradeoff between renewing your old inputs and keeping them as they are to create higher priority transactions. I'd say just set yourself a limit like "inputs larger than 1 BTC should not be aggregated" and you'll be fine.

Your Answer

