Between a transaction being pushed to the Ethereum blockchain, and then being considered “trustworthy”, there are many different transitions that it can pass through. Dennis Liu demonstrates how subscribing to dfuse’s Ethereum Lifecycle-enabled endpoints can greatly empower the user experience that your application can deliver.

When a transaction is signed and pushed to the network, it will first sit in the mempool waiting to be picked up by a miner. If it is a valid transaction, it will be mined and placed in a block. After subsequent blocks are built upon it, the number of confirmations will increase, and the transaction will be considered more trustworthy. However, if the transaction becomes replaced (by another transaction with the same nonce), or if its parent block gets forked out of the current heaviest chain, the status of the transaction would change.

Currently, pushing a transaction through a native Ethereum node provides no feedback to the user about the transaction’s lifecycle state. This information is not delivered through standard web3 JSON RPC endpoints, which most dapps currently use. This level of detail will reassure users about the status of their transactions and their monetary value.

If you would like to read more about how dfuse can help you to deliver first-class user experiences through your application, check our guide on how to query for Ethereum transaction lifecycles with dfuse. We also recommend that you read our article on The 8 Things That Can Happen to Your Ethereum Transaction and How to Navigate Them in Your Dapp. To try it for yourself, be sure to follow along with our tutorial on how to track a transaction’s lifecycle in real-time.


Get started today with dfuse by signing up for an account in just a few clicks. Do you have any questions? Or maybe would you like to tell us more about what you’re working on? Let’s connect on Twitter or Telegram!