<p>There is no technical reason you can't spend it immediately. A transaction that is dependent on an unconfirmed transaction should be accepted by the network and should eventually make it into a block.</p>

<p>You will almost certainly have to include a transaction fee with the second transaction in order to get it accepted into a block immediately. Otherwise, you will be waiting some time before the second transaction gets committed into a block.</p>

CC BY-SA 3.0
2011-10-02T05:01:59.373Z
Assuming there is a sufficient fee paid for the 2nd transaction - could it theoretically occur in the same block as the 1st one?
Julian Noble
CC BY-SA 3.0
2011-10-02T05:18:05.780Z
I am not 100% sure, but my understanding is that it doesn't violate any rules to put them in the same block and the client wouldn't have any problem accepting them if they were in the same block, so long as the first transaction was placed first. However, the client currently won't consider a transaction eligible for inclusion in a block unless all of its inputs are already validly in blocks. So unless some mining pool has changed those rules, it won't actually happen. (I am not 100% sure though, if anyone else is, please chime in.)
David Schwartz
CC BY-SA 3.0
2011-10-05T15:40:12.483Z
I checked. The client used to allow you to spend unconfirmed coins. But then if the previous transaction never completes (say because it's broken somehow) then the subsequent transactions will never complete either. To avoid [spreading contamination](https://en.bitcoin.it/wiki/Incidents#Micropayment_contamination), the behavior was changed so that the client will not allow unconfirmed coins to be spent.
David Schwartz
CC BY-SA 3.0
2012-04-22T13:39:19.790Z
Indeed, that's correct. There is one exception though: if the input consumes a send-to-self or self-created change output, it will allow using it without any confirmations. Also, there is no problem for multiple interdependent transactions to be accepted into a miner's memory pool.
Pieter Wuille
CC BY-SA 3.0
2011-09-08T18:10:48.920Z
2011-09-08T18:24:55.447Z
2011-09-08T18:24:55.447Z
David Schwartz
<p>If I accept bitcoin for payment, provide a new address for each payment and make it clear to payers that I consider payment complete only after waiting the ~10 minutes for a confirmation, is there a technical reason why I can't immediately spend the bitcoin without waiting for the confirmation? Is it impossible to spend it because the address has no transactions in the block chain?</p>

<transactions><blockchain><confirmations>
Why does the Bitcoin client require at least one confirmation before I can spend?
Mocky
# Why does the Bitcoin client require at least one confirmation before I can spend?

(Asked by: username_0 on 2011-09-08)

If I accept bitcoin for payment, provide a new address for each payment and make it clear to payers that I consider payment complete only after waiting the ~10 minutes for a confirmation, is there a technical reason why I can't immediately spend the bitcoin without waiting for the confirmation? Is it impossible to spend it because the address has no transactions in the block chain?

**Tags:** transactions, blockchain, confirmations


---

## 1 answers

### Answer by username_1 on 2011-09-08. Score: 4 | Accepted answer

There is no technical reason you can't spend it immediately. A transaction that is dependent on an unconfirmed transaction should be accepted by the network and should eventually make it into a block.

You will almost certainly have to include a transaction fee with the second transaction in order to get it accepted into a block immediately. Otherwise, you will be waiting some time before the second transaction gets committed into a block.

> **Comments:**
> **username_2**: Assuming there is a sufficient fee paid for the 2nd transaction - could it theoretically occur in the same block as the 1st one?  
> **username_1**: I am not 100% sure, but my understanding is that it doesn't violate any rules to put them in the same block and the client wouldn't have any problem accepting them if they were in the same block, so long as the first transaction was placed first. However, the client currently won't consider a transaction eligible for inclusion in a block unless all of its inputs are already validly in blocks. So unless some mining pool has changed those rules, it won't actually happen. (I am not 100% sure though, if anyone else is, please chime in.)  
> **username_1**: I checked. The client used to allow you to spend unconfirmed coins. But then if the previous transaction never completes (say because it's broken somehow) then the subsequent transactions will never complete either. To avoid [spreading contamination](https://en.bitcoin.it/wiki/Incidents#Micropayment_contamination), the behavior was changed so that the client will not allow unconfirmed coins to be spent.  
> **username_3**: Indeed, that's correct. There is one exception though: if the input consumes a send-to-self or self-created change output, it will allow using it without any confirmations. Also, there is no problem for multiple interdependent transactions to be accepted into a miner's memory pool.  

---

