7
1
Is there a minimum transaction fee for every transaction? When do I pay a fee over the minimal fee?
7
1
Is there a minimum transaction fee for every transaction? When do I pay a fee over the minimal fee?
9
The minimum transaction fee is zero.
Transaction fees are enforced in two places. First, a client can be configured not to accept or relay a transaction that doesn't include a sufficient fee. Second, a miner can choose which transactions to include in any blocks they mine and will typically try to include transactions with the highest fees.
Most normal transactions will have a required fee of zero. The three most common exceptions are:
If a transaction uses coins that were very recently received, a fee of .005 bitcoins may be imposed.
If a transaction "gathers" bitcoins from a large number of other transactions, a fee of about .0002 bitcoins per input source may be imposed.
If a transaction "spreads" bitcoins to a large number of destinations, a fee of about .0002 bitcoins per output may be imposed.
This is because these types of transactions tend to look a lot like spam transactions used to maliciously load the network. Currently, there are still clients and miners that will accept any valid transaction regardless of the transaction fee. So if you're willing to go to the trouble, you can get any transaction into the public chain eventually with no fee. (Just manually configure your client to connect to them and be patient.)
What's the motivation for exception # 1? – ripper234 – 2011-08-31T00:54:26.670
4It's genius. The idea is that an attacker will quickly run out of old coins and have to start using new coins to continue a transaction flood attack. Meanwhile legitimate transactions will get older and older. So legitimate transactions will eventually out-priority the illegitimate ones. – David Schwartz – 2011-08-31T00:55:38.760
has this changed in the new version 0.4.0 ? – osmosis – 2011-09-30T06:30:34.207
I believe it is the same in 0.4.0 as it was in 0.3.23. The basic rules have been the same much longer than that, but the minimum relay fees (for large transactions) were dropped a version or so before 0.3.23. – David Schwartz – 2011-09-30T07:12:49.637
For #2 and #3, what is "a large number"? – Highly Irregular – 2011-10-04T18:26:29.177
More than about 3 of either makes the transaction not free. See this answer.
@DavidSchwartz did you mean to link to the same answer this comment is on? – eMansipater – 2011-10-05T18:35:42.843
No, I didn't. :/ And I'm not sure where the answer I meant to link to is now. – David Schwartz – 2011-10-05T18:44:45.137
On #1, how recent is recent? – Codler – 2011-09-01T08:23:06.180
I believe that there is no hard cutoff. The older the coins are, the higher the priority of this transaction relative to other transactions. Oversimplifying a bit, transaction priority is the sum of the number of bitcoins times the number of confirmations over all inputs to the transaction divided by the number of bytes the transaction will occupy. Miners typically take transactions first in order of highest transaction fee relative to size and then in priority order. – David Schwartz – 2011-09-01T08:49:42.927
Just a quick note that 0.3.24 is no longer the current client version. In future, this question will probably make less sense and need rewording as multiple client applications become available. – Highly Irregular – 2011-10-04T18:31:33.553
@HighlyIrregular - Updated. – ripper234 – 2011-10-04T23:12:55.160