<p>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 <a href="https://bitcoin.org/en/developer-reference#outpoint" rel="nofollow">outpoint</a>), about 72 bytes for the signature, either 65 or 33 bytes for the public key (depending on whether it was <a href="https://bitcoin.org/en/developer-guide#public-key-formats" rel="nofollow">compressed</a>, plus about 10 more bytes for other things.  Let's round it to 150 bytes. </p>

<p>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.</p>

<ol>
<li><p>Bitcoin Core's "raw" RPCs let you choose what outputs to spend.  You'll typically run <a href="https://bitcoin.org/en/developer-reference#listtransactions" rel="nofollow"><code>listtransactions</code></a> to get outputs available to your wallet, <a href="https://bitcoin.org/en/developer-reference#createrawtransaction" rel="nofollow"><code>createrawtransaction</code></a> to create a transaction spending specific outputs, <a href="https://bitcoin.org/en/developer-reference#signrawtransaction" rel="nofollow"><code>signrawtransaction</code></a> to sign the transaction, and <a href="https://bitcoin.org/en/developer-reference#sendrawtransaction" rel="nofollow"><code>sendrawtransaction</code></a> 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.</p></li>
<li><p>As you alluded to in your question, Peter Todd's <a href="https://github.com/petertodd/dust-b-gone/" rel="nofollow">dust-b-gone</a> 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.</p></li>
<li><p>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.</p></li>
</ol>

<p>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 <a href="https://bitcoin.org/en/download" rel="nofollow">Bitcoin-Qt</a>.</p>

CC BY-SA 3.0
2015-01-04T22:00:16.967Z
2015-01-04T22:00:16.967Z
David A. Harding
<p>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.</p>

<p>My question is three parts</p>

<ol>
<li><p>Is there a client/wallet that allows you to transfer out of certain incoming transactions?</p></li>
<li><p>Is there an easy way to clean the wallet now that it has this dust?</p></li>
<li><p>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?</p></li>
</ol>

<transactions><transaction-fees><dust><micropayments>
Is there an easy way to consolidate Dust Microtransactions
James Campbell
# Is there an easy way to consolidate Dust Microtransactions

(Asked by: username_0 on 2015-01-04)

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?

**Tags:** transactions, transaction-fees, dust, micropayments


---

## 1 answers

### Answer by username_1 on 2015-01-04. Score: 2

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](https://bitcoin.org/en/developer-reference#outpoint)), about 72 bytes for the signature, either 65 or 33 bytes for the public key (depending on whether it was [compressed](https://bitcoin.org/en/developer-guide#public-key-formats), 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`](https://bitcoin.org/en/developer-reference#listtransactions) to get outputs available to your wallet, [`createrawtransaction`](https://bitcoin.org/en/developer-reference#createrawtransaction) to create a transaction spending specific outputs, [`signrawtransaction`](https://bitcoin.org/en/developer-reference#signrawtransaction) to sign the transaction, and [`sendrawtransaction`](https://bitcoin.org/en/developer-reference#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](https://github.com/petertodd/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](https://bitcoin.org/en/download).


---

