Take the 2-minute tour ×
Bitcoin Stack Exchange is a question and answer site for Bitcoin crypto-currency enthusiasts. It's 100% free, no registration required.

I am using the 0.4.0 release. Is it possible to send bitcoins without paying a fee? Who gets the fee ? Is it only miners discovering new blocks?

share|improve this question

2 Answers 2

up vote 15 down vote accepted

It is possible to send Bitcoins without paying any fee. The easiest way is if your transaction meets the following requirements:

  1. The transaction only sends coins to one address, plus the return of change. (No more than two 'out' scripts.)

  2. The transaction doesn't need to gather a large number of small transaction outputs. (You are spending funds you received in a sensible way, not as a large number of micro-transactions.)

  3. The funds are stable. That is, you aren't spending funds you recently received.

Otherwise, the transaction fee goes to the miner who includes your transaction in a block.

Currently, it is possible to get any valid, standard transaction into a block without paying a fee if you are willing to be sufficiently patient. You may need to specifically configure your client to connect to a client known to accept such transactions and known to relay them to miners. (Luke Dash Jr. runs one such node, with IP address 173.242.112.53.)

share|improve this answer
    
Thank you for your answer. –  ADenis Sep 27 '11 at 7:53
3  
The client tries periodically to send out the transaction. I won't retry too often because it's trying to disguise itself as the source of the transaction. As it tries over and over and as the transaction's priority increases, it will send the transaction to a client that's willing to relay it. –  David Schwartz Sep 27 '11 at 8:07
5  
By default, the Bitcoin client will not create a transaction it will not relay. This is because it provides no way to remove a transaction, so you could get stuck and wind up with unspendable coins. You can set MIN_RELAY_TX_FEE to 0 in main.h and recompile yourself, but be warned, you can get stuck transactions that can take days to process. (Make sure all transaction outputs are greater than .01 Bitcoins or it will get stuck forever.) –  David Schwartz Sep 27 '11 at 9:10
2  
Those comments were really important, mind including them in the answer itself? –  mafu Oct 15 '11 at 7:50
1  
Regarding #2, would it be possible to "defragment" your funds by sending your entire wallet's worth to yourself? Seems like the only factor that one doesn't really have control over. –  lunboks Feb 21 '13 at 22:18

If you're comfortable with putting your private key in JavaScript, you can go to brainwallet.org and under the transactions tab, you can hand craft a transaction message where you set the fee to whatever you want. Keep in mind that if it's nothing, brainwallet won't keep on retransmitting it. Also, it's possible that it will never be confirmed, but most clients will delete unconfirmed transactions after three days.

share|improve this answer
    
"Putting your private key in javascript" is meaningless. Javascript isn't some magical place you can put data. Its a programming langauge. What you need to be comfortable with exactly, when using brainwallet, is that their web application truely doesn't send your keys over the internet, and you need to be comfortable that your browser isn't compromised. –  B T Sep 18 at 23:56

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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