Pending Ethereum Transactions: Observation vs Inclusion
Model pending Ethereum transactions without treating a mempool observation as confirmation, and handle replacement, disappearance and delayed receipts.

Overview
When translating these concepts into an integration, keep the scope described by the wallet history api with the result. The examples in wallet transaction history and smart contract event logs show how the same distinction affects neighbouring data questions.
A pending transaction is an observation before accepted inclusion. Different nodes can see different pending sets. A user interface that treats every observed hash as an inevitable future transaction will report misleading activity.
Pending pools are local views
Propagation, validation and replacement policies influence what a node exposes. A pending hash might later be included, replaced or no longer observed. None of these possibilities creates a confirmed receipt in advance. Even an accepted submission response only reports that the submission reached a particular service, not that consensus included it.
Worked example: a disappearing payment
A monitor sees payment hash P and displays awaiting confirmation. Later P disappears from that node while replacement R uses the same sender nonce. The monitor keeps P as an observation, links R when the relationship is established, and marks the payment settled only from the included transaction and validated transfer evidence.
Use a state machine with uncertainty
Separate observed pending, included, confirmed, displaced and unresolved states. Record first-seen and last-seen times without calling them block timestamps. Apply expiry to monitoring effort, not to blockchain truth. A timeout should prompt review or a fresh lookup; it must not manufacture a cancellation, refund or successful payment.
A practical acceptance test
Observe a pending hash, remove it from the next node response and provide no receipt. Assert unresolved observation rather than cancelled or paid. Then add a confirmed replacement under the same sender nonce and verify the relationship. Monitoring expiry may stop polling, but must not rewrite the chain outcome as a factual cancellation.
Questions about the topic
Frequently asked questions
Do all nodes see the same pending transactions?
No. Pending pools are node-local views affected by propagation and policy.
Does disappearing mean cancelled?
No. Absence from one pending view does not establish the eventual outcome.
Standards & technical documentation
