Title: Technical info about transaction fees Post by: Vinz87 on April 12, 2014, 03:03:48 PM Hi,
I read about technical rules for transaction fees in the official bitcoin wiki, where there's written: Sending A transaction may be safely sent without fees if these conditions are met: It is smaller than 1,000 bytes. All outputs are 0.01 BTC or larger. Its priority is large enough (see the Technical Info section below) The "technical info section" below explain how to compute the "Priority", and that it has to be greater than 57600000. Now I want to build a raw transaction and I want to know if it can be safely propagated without fees. I did the math with all the unspent outputs I would take coins from, and it results in a priority of only 3.6M. Moreover, I tried to build the raw transaction, and it would consist of 2972 hex characters, or 1486 bytes. There will be only one output of 0.01 BTC. So what I ask is: can I wait until the unspent outputs will be older enough to yield a priority greater than 57.6M, and send the transaction with 0 fees even if its size is greater than 1kB? Or, since I am not under the size limit, a 0.0001 (or 0.0002?) BTC fee is required for a 1500 bytes transaction, regardless of the calculated priority? Thanks Title: Re: Technical info about transaction fees Post by: uminatsu on April 12, 2014, 03:15:16 PM I'm afraid that 0.0002 BTC is required for 1500 bytes. If you send without fee it will most likely not get propagated.
Why is your TX so large? Can you consolidate some unspent outputs first? The easiest way to get higher priority is to "bundle" a larger output (say 1-2 BTC or higher, at least 1 day old). Title: Re: Technical info about transaction fees Post by: upal on April 12, 2014, 07:04:04 PM Hi, I read about technical rules for transaction fees in the official bitcoin wiki, where there's written: Sending A transaction may be safely sent without fees if these conditions are met: It is smaller than 1,000 bytes. All outputs are 0.01 BTC or larger. Its priority is large enough (see the Technical Info section below) The "technical info section" below explain how to compute the "Priority", and that it has to be greater than 57600000. Now I want to build a raw transaction and I want to know if it can be safely propagated without fees. I did the math with all the unspent outputs I would take coins from, and it results in a priority of only 3.6M. Moreover, I tried to build the raw transaction, and it would consist of 2972 hex characters, or 1486 bytes. There will be only one output of 0.01 BTC. So what I ask is: can I wait until the unspent outputs will be older enough to yield a priority greater than 57.6M, and send the transaction with 0 fees even if its size is greater than 1kB? Or, since I am not under the size limit, a 0.0001 (or 0.0002?) BTC fee is required for a 1500 bytes transaction, regardless of the calculated priority? Thanks To get quickly included in the block, it is always preferable to add at least 0.0001 BTC, however small your Tx size is... Title: Re: Technical info about transaction fees Post by: Vinz87 on April 13, 2014, 11:06:21 AM So:
It is smaller than 1,000 bytes. All outputs are 0.01 BTC or larger. Its priority is large enough (see the Technical Info section below) -> greater than 57600000 all these 3 conditions have to be met in order to send a transaction with zero fees? Is it correct? Title: Re: Technical info about transaction fees Post by: Vinz87 on April 13, 2014, 11:08:12 AM Hi, I read about technical rules for transaction fees in the official bitcoin wiki, where there's written: Sending A transaction may be safely sent without fees if these conditions are met: It is smaller than 1,000 bytes. All outputs are 0.01 BTC or larger. Its priority is large enough (see the Technical Info section below) The "technical info section" below explain how to compute the "Priority", and that it has to be greater than 57600000. Now I want to build a raw transaction and I want to know if it can be safely propagated without fees. I did the math with all the unspent outputs I would take coins from, and it results in a priority of only 3.6M. Moreover, I tried to build the raw transaction, and it would consist of 2972 hex characters, or 1486 bytes. There will be only one output of 0.01 BTC. So what I ask is: can I wait until the unspent outputs will be older enough to yield a priority greater than 57.6M, and send the transaction with 0 fees even if its size is greater than 1kB? Or, since I am not under the size limit, a 0.0001 (or 0.0002?) BTC fee is required for a 1500 bytes transaction, regardless of the calculated priority? Thanks To get quickly included in the block, it is always preferable to add at least 0.0001 BTC, however small your Tx size is... Title: Re: Technical info about transaction fees Post by: Gavin Andresen on April 13, 2014, 04:36:31 PM not if priority is greater than 57600000, according to the official wiki. There is a lot of competition for the free transaction area in blocks these days; you need a much higher priority to get confirmed quickly, 57.6 million is not enough any more. A future version of the reference implementation wallet will automatically estimate the priority needed. Title: Re: Technical info about transaction fees Post by: DeathAndTaxes on April 13, 2014, 06:21:14 PM not if priority is greater than 57600000, according to the official wiki. There is a lot of competition for the free transaction area in blocks these days; you need a much higher priority to get confirmed quickly, 57.6 million is not enough any more. This is important to keep in mind (and it a reason I pay the "min fee" on all tx even those which may qualify as "free"). To the OP the priority requirement is merely the requirement imposed by nodes to relay tx without a fee. Once it is relayed to a miner how long it takes (in terms of # of blocks) before it is included in a block will depend on the relative priority of other no fee transactions. If ranked by priority you are #1 then you probably are going in the next block (although some miners don't include any unpaid txs) if you are 1,000th and the average miner puts 20 free tx per block you might be waiting a while. Still if it helps the priority requirement is "One Bitcoin Day": If you receive 1 BTC and hold it for one day it will have enough priority to be spent without a fee. If you receive 0.01 BTC you would need to hold it 100 days before it has enough priority to be spent without a fee. If you receive 144 BTC and you would need to hold it for 1/144th of a day (1 block) before it has enough priority to be spent without a fee. |