I just found out today that all those websites I go to to earn like .0000087 for clicking around here and there have now in a way corrupted my wallet as yesterday I deposited 50$ into my wallet and when I try to transfer it to make a payment to another wallet, no matter what I get transaction fees. How can I clean my wallet of this dust. I know there is a program out there that claims to rid yourself of this dust, but there is no real directions on how to use it.

My question is three parts

  1. Is there a client/wallet that allows you to transfer out of certain incoming transactions?

  2. Is there an easy way to clean the wallet now that it has this dust?

  3. If I transfer everything in the wallet will it clean the wallet? And if so does the wallet I transferred to now have the issue with the dust, does the dust transfer?

Let's take a step back and define dust: dust is an transaction output with a very low value. When creating an input to a new transaction that spends that output, you have to use 36 bytes to reference it (the outpoint), about 72 bytes for the signature, either 65 or 33 bytes for the public key (depending on whether it was compressed, plus about 10 more bytes for other things. Let's round it to 150 bytes.

Transaction fees are usually computed per kilobyte, so if you pay 0.0001 BTC per kB, dust is not worth spending if its worth less than 0.0000015 BTC. Hopefully, defining all this will make the following answers a bit more clear.

  1. Bitcoin Core's "raw" RPCs let you choose what outputs to spend. You'll typically run listtransactions to get outputs available to your wallet, createrawtransaction to create a transaction spending specific outputs, signrawtransaction to sign the transaction, and sendrawtransaction to broadcast the transaction to the network. If you do this, you want to be very careful---once a transaction has been broadcast, it's very difficult to change any mistakes in it.

  2. As you alluded to in your question, Peter Todd's dust-b-gone will purge a Bitcoin Core wallet of dust transactions by giving them to someone else (Todd, I think, but it could go to 100% transaction fees---either way, nobody is getting rich off dust). I haven't used it, but the instructions look simple.

  3. Yes, if you transfer everything in the wallet, the dust will be gone. That's because dust is an output from a previous transaction---once you use that output as an input in a new transaction, all that matters is the value of the output in that new transaction.

Although I've never used Bitcoin Core with dust, it's likely to be the smartest Bitcoin wallet about keeping dust-related transaction fees low---so if you want an easy graphical solution, I suggest just using Bitcoin-Qt.

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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