<p>Your transaction (1.00000001 ===> 0.99990000 transfer + 0.00010000 fee + 0.00000001 change) will be valid. But it is not guaranteed that other nodes will pass your transaction. May be yes, may be no.</p>

<p>Modern referral clients do not relay such transactions, because developers hate dust and spam. But there are nodes which relay such transactions and there are miners who confirm them into blocks.</p>

<p>E.g. <a href="https://blockchain.info/address/1Fri3h6MtMkjZjYHub4r1N6r5nERWgZXHQ" rel="nofollow">https://blockchain.info/address/1Fri3h6MtMkjZjYHub4r1N6r5nERWgZXHQ</a></p>

CC BY-SA 3.0
2014-11-17T21:49:09.023Z
Also, the network has no way of knowing if the 1 satoshi is being sent and the 0.9999 transfer is the transaction value, or vice versa (assuming no addresses are reused). So to the rest of the network, it could look like you are just trying to make a dust output.
morsecoder
CC BY-SA 3.0
2014-09-23T09:00:11.390Z
2014-09-23T10:47:04.433Z
2014-09-23T10:47:04.433Z
amaclin
<p>If your proposed transaction is to have an input of BTC 1.00000001, one output of BTC 0.9999 and a change output of BTC 0.00000001 (leaving BTC 0.0001 as a fee), then yes, most clients will reject it under the dust rule.  Bitcoin Core's rule is to refuse transactions with any output that is too small - the precise details are a little complicated, but generally outputs of less than 546 satoshis (BTC 0.00000546) are forbidden.  (You can see the full details in the source - it is the function <code>CTxOut::IsDust()</code> in <code>core.h</code>.)  It is possible, however, that some nonstandard clients would relay your transaction, and it might find its way to a nonstandard miner who would include it in a block, but there is a risk that it would not.</p>

<p>If you are using Bitcoin Core and you actually try to make a transaction that takes an input of BTC 1.00000001 and sends BTC 0.9999 to another address, it will avoid this problem by not creating a change output, but adding the extra 1 satoshi to the fee instead.  So you will effectively pay a fee of BTC 0.00010001, and your transaction should be relayed and confirmed with no problems.</p>

CC BY-SA 3.0
2014-09-23T13:52:40.077Z
2014-09-23T13:52:40.077Z
Nate Eldredge
<p>Rejecting a transaction is not as simple as one of the outputs. If you look at this wiki page <a href="https://en.bitcoin.it/wiki/Transaction_fees" rel="nofollow">https://en.bitcoin.it/wiki/Transaction_fees</a> all parts of the transaction are included when calculating this. Minning pools do not look for single output size when rejecting / accepting that i know of but base it off the priority shown in the formula.</p>

CC BY-SA 3.0
2014-09-23T04:53:21.643Z
That is to say my transaction should be as acceptable as other transactions without a dust, given everything else is more or less equal?
Phương Nguyễn
CC BY-SA 3.0
2014-09-23T05:03:24.533Z
Yes this would be an acceptable transaction.
michael.schuett
CC BY-SA 3.0
2014-09-23T04:19:33.863Z
2014-09-23T04:19:33.863Z
michael.schuett
<p>Given I have an account with balance 1BTC + 1 satoshi.
I want to transfer 1BTC to another account and tribute 0.0001 BTC out of that 1BTC to the network as fee. Would my transaction being rejected for produce dust spam (1 satoshi in this case)?</p>

<p>So the number is:</p>

<ul>
<li>Account 1: 1BTC + 1 satoshi</li>
<li>Transfer: 0.9999 BTC and tribute 0.0001 BTC to miner</li>
<li>Left over: 1 satoshi.</li>
</ul>

CC BY-SA 3.0
2014-09-23T13:48:02.023Z
Note the correct spelling is "satoshi".  I've edited to correct it.
Nate Eldredge
<transactions><dust>
Inevitable dust spam
Phương Nguyễn
# Inevitable dust spam

(Asked by: username_0 on 2014-09-23)

Given I have an account with balance 1BTC + 1 satoshi.
I want to transfer 1BTC to another account and tribute 0.0001 BTC out of that 1BTC to the network as fee. Would my transaction being rejected for produce dust spam (1 satoshi in this case)?

So the number is:

* Account 1: 1BTC + 1 satoshi
* Transfer: 0.9999 BTC and tribute 0.0001 BTC to miner
* Left over: 1 satoshi.

**Tags:** transactions, dust

> **Comments:**
> **username_1**: Note the correct spelling is "satoshi".  I've edited to correct it.  

---

## 3 answers

### Answer by username_2 on 2014-09-23. Score: 2 | Accepted answer

Your transaction (1.00000001 ===> 0.99990000 transfer + 0.00010000 fee + 0.00000001 change) will be valid. But it is not guaranteed that other nodes will pass your transaction. May be yes, may be no.

Modern referral clients do not relay such transactions, because developers hate dust and spam. But there are nodes which relay such transactions and there are miners who confirm them into blocks.

E.g. <https://blockchain.info/address/1Fri3h6MtMkjZjYHub4r1N6r5nERWgZXHQ>

> **Comments:**
> **username_3**: Also, the network has no way of knowing if the 1 satoshi is being sent and the 0.9999 transfer is the transaction value, or vice versa (assuming no addresses are reused). So to the rest of the network, it could look like you are just trying to make a dust output.  

---

### Answer by username_1 on 2014-09-23. Score: 3

If your proposed transaction is to have an input of BTC 1.00000001, one output of BTC 0.9999 and a change output of BTC 0.00000001 (leaving BTC 0.0001 as a fee), then yes, most clients will reject it under the dust rule. Bitcoin Core's rule is to refuse transactions with any output that is too small - the precise details are a little complicated, but generally outputs of less than 546 satoshis (BTC 0.00000546) are forbidden. (You can see the full details in the source - it is the function `CTxOut::IsDust()` in `core.h`.) It is possible, however, that some nonstandard clients would relay your transaction, and it might find its way to a nonstandard miner who would include it in a block, but there is a risk that it would not.

If you are using Bitcoin Core and you actually try to make a transaction that takes an input of BTC 1.00000001 and sends BTC 0.9999 to another address, it will avoid this problem by not creating a change output, but adding the extra 1 satoshi to the fee instead. So you will effectively pay a fee of BTC 0.00010001, and your transaction should be relayed and confirmed with no problems.


---

### Answer by username_4 on 2014-09-23. Score: 1

Rejecting a transaction is not as simple as one of the outputs. If you look at this wiki page <https://en.bitcoin.it/wiki/Transaction_fees> all parts of the transaction are included when calculating this. Minning pools do not look for single output size when rejecting / accepting that i know of but base it off the priority shown in the formula.

> **Comments:**
> **username_0**: That is to say my transaction should be as acceptable as other transactions without a dust, given everything else is more or less equal?  
> **username_4**: Yes this would be an acceptable transaction.  

---

