<p>A fee in a transaction is created based on the difference between inputs and outputs. The standard client imposes a minimum fee on a transaction it creates, but there is nothing stopping a custom transaction to be made that does not follow those fee rules. Using methods like <code>createrawtransaction</code>, <code>signrawtransaction</code> and <code>sendrawtransaction</code>, once can easily make a zero-fee transaction.</p>

<p>A small note - just because a transaction is created and sent to the client does not mean that the transaction will be broadcast to the network. The client still follows its rules to prioritise "good" transactions (old coins, small transaction size, adequate fee, etc) and hamper the "bad" transactions (small outputs, big transactions, low fees). Same with miners - they can chose not to include spammy transactions in blocks.</p>

CC BY-SA 3.0
2013-06-20T23:13:42.170Z
alright, I've found all these methods. So the only reason BitVisitor attaches the bigger 4 BTC payment in each transaction is to increase the transaction's priority?
Ponkadoodle
CC BY-SA 3.0
2013-06-20T23:27:34.227Z
@Wallacoloo It might be just them sending themselves change back.
ThePiachu
CC BY-SA 3.0
2013-06-20T22:17:49.697Z
2013-06-20T22:17:49.697Z
ThePiachu
<p>You have two questions here, so I'll answer them separately.  As far as how do faucets they avoid transaction fees, the answer is that they don't.</p>

<p>Most of the faucet sites I've used use a service called Coinbox.me which collects requests for payments and bundles them up into one large chunk of payments.  This is how they minimize transaction fees - they don't send all the microtransactions at once, they wait until they have quite a few and then send them out.  I've looked at these transactions before when they're going through and they do have transaction fees that are being paid that is, as you said, larger than the amount being sent out.  But I have had transactions where it is being sent to at least a hundred addresses, so while one small amount may far less than the transaction fee, the total amount being sent out is significant enough that the service can pay a transaction fee while still paying out these microtransctions.</p>

CC BY-SA 3.0
2013-06-21T04:25:11.963Z
2013-06-21T04:25:11.963Z
Evan Lynch
<p>Sites like bitvisitor or cointube give away very small amounts of bitcoins (I actually got a payment as small as .0000035 BTC when testing).<br>
I am in the process of creating a service that awards users small amounts of bitcoins in exchange for doing some trivial work (akin to Amazon's Mechanical Turk). When experimenting, I tried using bitcoin-qt to send .0001 BTC to an address and it automatically added a .0005 fee onto it. Using Electrum, I couldn't get it to send until I set the fee to .0001 as well. </p>

<p>I highly doubt a fee like that was paid for the .0000035 BTC I received earlier), so how are these services eliminating or minimizing their fees? I know it's common to gather multiple "inputs" into a single transaction. Is it possible also to have a transaction with multiple outputs so that I can gather a hundred of these .0001 BTC payments into a single transaction and thus minimize the size (in kb) of the transactions and therefore the fees too?</p>

<p><strong>EDIT</strong><br>
Sites like BitVisitor do indeed combine these payments (see <a href="https://blockchain.info/tx/b27f4ce7ad91c505e8b7e284d49b35fa2fbaceef8858cadec3e861d735b9d9f5">here</a>). So assuming there's no better way to minimize fees, how are they able to do this? I see no options in bitcoin-qt or Electrium for this.</p>

<transactions><transaction-fees>
How do faucets/micropayment-based services avoid/minimize transaction fees?
Ponkadoodle
# How do faucets/micropayment-based services avoid/minimize transaction fees?

(Asked by: username_0 on 2013-06-20)

Sites like bitvisitor or cointube give away very small amounts of bitcoins (I actually got a payment as small as .0000035 BTC when testing).  
I am in the process of creating a service that awards users small amounts of bitcoins in exchange for doing some trivial work (akin to Amazon's Mechanical Turk). When experimenting, I tried using bitcoin-qt to send .0001 BTC to an address and it automatically added a .0005 fee onto it. Using Electrum, I couldn't get it to send until I set the fee to .0001 as well.

I highly doubt a fee like that was paid for the .0000035 BTC I received earlier), so how are these services eliminating or minimizing their fees? I know it's common to gather multiple "inputs" into a single transaction. Is it possible also to have a transaction with multiple outputs so that I can gather a hundred of these .0001 BTC payments into a single transaction and thus minimize the size (in kb) of the transactions and therefore the fees too?

**EDIT**  
Sites like BitVisitor do indeed combine these payments (see [here](https://blockchain.info/tx/b27f4ce7ad91c505e8b7e284d49b35fa2fbaceef8858cadec3e861d735b9d9f5)). So assuming there's no better way to minimize fees, how are they able to do this? I see no options in bitcoin-qt or Electrium for this.

**Tags:** transactions, transaction-fees


---

## 2 answers

### Answer by username_2 on 2013-06-21. Score: 5 | Accepted answer

You have two questions here, so I'll answer them separately. As far as how do faucets they avoid transaction fees, the answer is that they don't.

Most of the faucet sites I've used use a service called Coinbox.me which collects requests for payments and bundles them up into one large chunk of payments. This is how they minimize transaction fees - they don't send all the microtransactions at once, they wait until they have quite a few and then send them out. I've looked at these transactions before when they're going through and they do have transaction fees that are being paid that is, as you said, larger than the amount being sent out. But I have had transactions where it is being sent to at least a hundred addresses, so while one small amount may far less than the transaction fee, the total amount being sent out is significant enough that the service can pay a transaction fee while still paying out these microtransctions.


---

### Answer by username_1 on 2013-06-20. Score: 3

A fee in a transaction is created based on the difference between inputs and outputs. The standard client imposes a minimum fee on a transaction it creates, but there is nothing stopping a custom transaction to be made that does not follow those fee rules. Using methods like `createrawtransaction`, `signrawtransaction` and `sendrawtransaction`, once can easily make a zero-fee transaction.

A small note - just because a transaction is created and sent to the client does not mean that the transaction will be broadcast to the network. The client still follows its rules to prioritise "good" transactions (old coins, small transaction size, adequate fee, etc) and hamper the "bad" transactions (small outputs, big transactions, low fees). Same with miners - they can chose not to include spammy transactions in blocks.

> **Comments:**
> **username_0**: alright, I've found all these methods. So the only reason BitVisitor attaches the bigger 4 BTC payment in each transaction is to increase the transaction's priority?  
> **username_1**: @Wallacoloo It might be just them sending themselves change back.  

---

