I have faced a very strange issue on Goerli Testnet using infura. The number of transactions in a blocks dropped from 168 transactions to 164.

I'm working on a blocks tracker, after receiving the block (newBlocksHeader subscription) i traverse the blocks transactions received from (web3.eth.getBlock(blockNumber, true)) and filter out the required.

One of the transaction went missing. So when i tried to fetch the block again i saw the number of transactions are different from the one that i previously logged.

This is what my system logged Block 4988374 has 168 txs and filtered are 18.

Image 1

This is what i got when i try to debug by missing transaction, Block 4988374 has 164 txs and filtered are 23. This time my missing transaction was included in this block.

image 2

I'm not sure what is happening here, how i can build a reliable system that doesn't miss any transaction.

2 Answers 2


Minor blockchain reorganisations up to 6 blocks deep are normal for Ethereum. Ethereum mainnet with proof of work has only probabilistic finality, not true finality and any block is subject to disappearing.

More about finality here.


I found this issue only on infura api. So i switched to my own RPC node and now i haven't seen this issue again.

Your Answer

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

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