lets say, there are 2 transactions

address1 -> address2

address2 -> address3

our mempool doesnt have the tx1 yet, but i try to create a tx2 and broadcast it.

what will happen ?

will tx2 get included in mempool ? and relayed to other nodes ?


tx2 gets rejected. and wont be included in mempool and wont be relayed to other nodes ?

what is the actual flow ?

what are such tx are called ?

What happens when tx is broadcasted whose input is not yet received by mempool ?or not in the old blocks i.e. missing/unknown.

1 Answer 1


Such a transaction is called an orphan transaction.

When you announce a transaction to a peer who misses one or more of its inputs, the transaction will be placed in the orphan pool - where they are temporarily held in the hope that their dependencies arrive. A request will go out to fetch those dependencies from whoever sent us the transaction.

The transaction won't be relayed until it can be validated. Once all dependencies arrive, they will all be subject to normal validation and relay policies, and if acceptable, relayed in dependency order.

  • if i did the sendrawtransaction with such tx2, after getting it in our own mempool , who will it send request for its dependencies ?
    – user10603
    Sep 6, 2017 at 1:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.