<p>You are probably trying to pay with BTC collected from <strong>very small payments</strong> (known as dust). This dust is commonly collected from advertisement sites. Though they know sending small payments will break your wallet this way, they just don't care as long as you keep clicking ads!</p>

<p>Since transaction size depends greatly on how many payments you're drawing money from, this generates a <strong>very large transaction</strong> which is very expensive both for miners and other nodes in the network. To reward miners for this cost you have to pay a fee or they will just refuse to mine/broadcast it.</p>

<p><strong>Unless you pay this fee the transaction will be rejected by peers/miners, no matter what you do.</strong></p>

<p>As a workaround you might want to consolidate all the dust sending smaller payments to yourself, but it's a tedious process, still has high fees and might not be possible depending on the concrete amount of payments you've received.</p>

CC BY-SA 3.0
2014-01-12T03:54:05.737Z
Thanks for your input.  How do I go about sending smaller payments to myself?  The very first transaction that I received was for 0.002 BTC.  Do I create a new receive address in my Bitcoin-QT and then send 0.002 BTC to the new receive address?  The second transaction that I received was for 0.00002 BTC.  Do I create a second new receive address and send 0.00002 BTC to the second new receive address, or can I avoid creating the second (or third) receive address and send the 0.00002 BTC to the first receive address?
JLP
CC BY-SA 3.0
2014-01-12T20:52:59.673Z
@JLP if you do that, you'll have the same problem (lots of input payments, even if they're to yourself). The procedure is too long to explain here, just ask a new question on how to collect dust and I'm sure someone will answer! Please remember to accept any answer on this question, it'll be useful in the future for other people in your situation.
kaoD
CC BY-SA 3.0
2014-01-11T23:23:22.173Z
2014-01-11T23:28:54.380Z
2014-01-11T23:28:54.380Z
kaoD
<p>You likely have many small (in value) coins in your wallet, so when constructing a payment, many of them need to be assembled to construct a transaction - resulting in a large (in bytes) transaction.</p>

<p>The reference implementation (v0.8.6) will enforce a fee of 0.0001 BTC per kilobyte if it doesn't satisfy the "free transaction policy". Future versions of bitcoin will likely make this fee free-floating and based on actual fees paid in the network, so a free market can develop around it. Setting a higher fee will still result in a higher chance/faster processing by a miner.</p>

<p>Also, if you just want to test, use testnet instead of directly testing on the Bitcoin production network. You can start the client with the <code>-testnet</code> flag to end up in a parallel network where coins have no value. You can use a faucet (google it) to obtain some testnet coins.</p>

CC BY-SA 3.0
2014-01-12T03:46:25.000Z
Thanks for your input.

I found these instructions on how to use Testnet:  http://suffix.be/blog/getting-started-bitcoin-testnet

My understanding is that I cannot send Testnet coins to bitcoin addresses.  Therefore, I cannot send Testnet coins to the address provided by Blockchain.info's "receive payment API".  If I cannot do this, then how do I test out Blockchain.info's "receive payment API"?
JLP
CC BY-SA 3.0
2014-01-12T12:45:04.833Z
Demand that blockchain.info provides a testnet instance :)
Pieter Wuille
CC BY-SA 3.0
2014-01-11T23:25:45.057Z
2014-01-11T23:34:25.447Z
2014-01-11T23:34:25.447Z
Pieter Wuille
<p>I'm trying to find an easy way to enable my website to accept bitcoin payments.  I'm trying to test out Blockchain.info's "receive payment API" (<a href="http://blockchain.info/api/api_receive" rel="nofollow">http://blockchain.info/api/api_receive</a>).  Near the bottom of the page, there is a PHP example (<a href="https://github.com/blockchain/receive_payment_php_demo" rel="nofollow">https://github.com/blockchain/receive_payment_php_demo</a>) which I like to test out.  To test it out, I need to send bitcoin to Blockchain.info's address, who will later send the bitcoin back to me.  When I try to send 0.0005 BTC in my Bitcoin-QT client (v0.8.6-beta) , I get the following message:</p>

<p>"This transaction is over the size limit. You can still send it for a fee of 0.0005 BTC, which goes to the nodes that process your transaction and helps to support the network. Do you want to pay the fee?"</p>

<p>There are only two buttons for me to click:  Cancel  or Yes.  0.0005 BTC is worth approximately 50 cents or 100% of the amount that I want to send.  This is an incredibly expensive fee and not at all what is touted as a cheap way to send money.  When developing and testing, one will likely need to send bitcoin through this PHP code many times, which means that these fees can add up, and all I'm doing is testing.</p>

<p>How can I send BTC to test payment processing without paying this fee?</p>

CC BY-SA 3.0
2014-01-11T23:26:03.357Z
Bitcoin is only a cheap way to send money as long as you're not sending/receiving micro-payments!
kaoD
<bitcoin-core><transaction-fees><blockchain.info><testing>
How to avoid Bitcoin-QT's transaction fee or change size limit?
JLP
# How to avoid Bitcoin-QT's transaction fee or change size limit?

(Asked by: username_0 on 2014-01-11)

I'm trying to find an easy way to enable my website to accept bitcoin payments. I'm trying to test out Blockchain.info's "receive payment API" (<http://blockchain.info/api/api_receive>). Near the bottom of the page, there is a PHP example (<https://github.com/blockchain/receive_payment_php_demo>) which I like to test out. To test it out, I need to send bitcoin to Blockchain.info's address, who will later send the bitcoin back to me. When I try to send 0.0005 BTC in my Bitcoin-QT client (v0.8.6-beta) , I get the following message:

"This transaction is over the size limit. You can still send it for a fee of 0.0005 BTC, which goes to the nodes that process your transaction and helps to support the network. Do you want to pay the fee?"

There are only two buttons for me to click: Cancel or Yes. 0.0005 BTC is worth approximately 50 cents or 100% of the amount that I want to send. This is an incredibly expensive fee and not at all what is touted as a cheap way to send money. When developing and testing, one will likely need to send bitcoin through this PHP code many times, which means that these fees can add up, and all I'm doing is testing.

How can I send BTC to test payment processing without paying this fee?

**Tags:** bitcoin-core, transaction-fees, blockchain.info, testing

> **Comments:**
> **username_1**: Bitcoin is only a cheap way to send money as long as you're not sending/receiving micro-payments!  

---

## 2 answers

### Answer by username_1 on 2014-01-11. Score: 2 | Accepted answer

You are probably trying to pay with BTC collected from **very small payments** (known as dust). This dust is commonly collected from advertisement sites. Though they know sending small payments will break your wallet this way, they just don't care as long as you keep clicking ads!

Since transaction size depends greatly on how many payments you're drawing money from, this generates a **very large transaction** which is very expensive both for miners and other nodes in the network. To reward miners for this cost you have to pay a fee or they will just refuse to mine/broadcast it.

**Unless you pay this fee the transaction will be rejected by peers/miners, no matter what you do.**

As a workaround you might want to consolidate all the dust sending smaller payments to yourself, but it's a tedious process, still has high fees and might not be possible depending on the concrete amount of payments you've received.

> **Comments:**
> **username_0**: Thanks for your input.  How do I go about sending smaller payments to myself?  The very first transaction that I received was for 0.002 BTC.  Do I create a new receive address in my Bitcoin-QT and then send 0.002 BTC to the new receive address?  The second transaction that I received was for 0.00002 BTC.  Do I create a second new receive address and send 0.00002 BTC to the second new receive address, or can I avoid creating the second (or third) receive address and send the 0.00002 BTC to the first receive address?  
> **username_1**: @username_0 if you do that, you'll have the same problem (lots of input payments, even if they're to yourself). The procedure is too long to explain here, just ask a new question on how to collect dust and I'm sure someone will answer! Please remember to accept any answer on this question, it'll be useful in the future for other people in your situation.  

---

### Answer by username_2 on 2014-01-11. Score: 2

You likely have many small (in value) coins in your wallet, so when constructing a payment, many of them need to be assembled to construct a transaction - resulting in a large (in bytes) transaction.

The reference implementation (v0.8.6) will enforce a fee of 0.0001 BTC per kilobyte if it doesn't satisfy the "free transaction policy". Future versions of bitcoin will likely make this fee free-floating and based on actual fees paid in the network, so a free market can develop around it. Setting a higher fee will still result in a higher chance/faster processing by a miner.

Also, if you just want to test, use testnet instead of directly testing on the Bitcoin production network. You can start the client with the `-testnet` flag to end up in a parallel network where coins have no value. You can use a faucet (google it) to obtain some testnet coins.

> **Comments:**
> **username_0**: Thanks for your input.  I found these instructions on how to use Testnet:  http://suffix.be/blog/getting-started-bitcoin-testnet  My understanding is that I cannot send Testnet coins to bitcoin addresses.  Therefore, I cannot send Testnet coins to the address provided by Blockchain.info's "receive payment API".  If I cannot do this, then how do I test out Blockchain.info's "receive payment API"?  
> **username_2**: Demand that blockchain.info provides a testnet instance :)  

---

