API fundamentals3 min read

Pending Ethereum Transactions: Observation vs Inclusion

Model pending Ethereum transactions without treating a mempool observation as confirmation, and handle replacement, disappearance and delayed receipts.

Editorial illustration accompanying pending ethereum transactions: observation vs inclusion.

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

Further reading

{{TODO: author name}}

Practical explanations of blockchain data, software integration and the context behind a record.

About Indexbase
← Back to all articles

Build with better context.

Get an update when private beta opens.

Form setup in progress. Nothing entered here is sent or saved. {{TODO: endpoint}} See the full form and email alternative.