# Ethereum transaction hashes: an identifier, not proof of success

An Ethereum transaction hash identifies the encoded transaction, not its outcome. It can be known before inclusion and does not prove execution succeeded. Look it up on the correct network, then inspect the receipt, block position and relevant balance or event changes.

Evidence: [Ethereum transactions](https://ethereum.org/en/developers/docs/transactions/); [Ethereum JSON-RPC](https://ethereum.org/en/developers/docs/apis/json-rpc/)

Canonical: https://degreesofsatoshi.com/encyclopedia/ethereum-transaction-hashes/
Published: 2026-10-02
Substantively modified: 2026-10-02
Independently verified by an automated reviewer: 2026-10-02T18:12:41.505Z
Data current through: 2026-10-02

AI-assisted research and drafting with a separate automated source-verification pass; no external expert or named human review is implied.

## Key facts

- **Identifier:** The RPC transaction object exposes a hash field. ([Ethereum JSON-RPC](https://ethereum.org/en/developers/docs/apis/json-rpc/))
- **Pending:** Block fields can be null while a transaction is pending. ([Ethereum JSON-RPC](https://ethereum.org/en/developers/docs/apis/json-rpc/))
- **Result:** Execution outcome belongs in the receipt’s status, not in the identifier itself. ([Embedding transaction status code in receipts](https://eips.ethereum.org/EIPS/eip-658); [Ethereum JSON-RPC](https://ethereum.org/en/developers/docs/apis/json-rpc/))

## One identifier, several possible states

A wallet signs a transaction before submitting it to a node. A node may know it while it waits for inclusion. Once included, a receipt records its execution outcome and the block containing it.

A link labeled “transaction sent” is therefore a starting point for inspection. It is not interchangeable with successful execution or finality.

Evidence: [Ethereum transactions](https://ethereum.org/en/developers/docs/transactions/); [Ethereum JSON-RPC](https://ethereum.org/en/developers/docs/apis/json-rpc/)

## A replacement is a different transaction

Two transactions can compete for the same sender nonce. Changing signed transaction fields produces a different encoded transaction and identifier. Only the transaction actually included consumes that nonce in the accepted sequence.

A wallet’s activity list may group several attempts as one payment. Follow the identifier attached to the final included attempt rather than assume the first hash must succeed.

Evidence: [Ethereum JSON-RPC](https://ethereum.org/en/developers/docs/apis/json-rpc/); [Ethereum transactions](https://ethereum.org/en/developers/docs/transactions/); [Ethereum accounts](https://ethereum.org/en/developers/docs/accounts/)

## Always pair the hash with a chain

A lookup service operates against a particular chain. An absent result on Ethereum mainnet says nothing conclusive about whether the transaction was submitted to a rollup or test network.

Record the chain, hash and observed block together when citing a transaction. For a smart-account user operation, distinguish the operation identifier from the bundler’s enclosing transaction hash.

Evidence: [Simple replay attack protection](https://eips.ethereum.org/EIPS/eip-155); [Ethereum JSON-RPC](https://ethereum.org/en/developers/docs/apis/json-rpc/); [Account Abstraction Using Alt Mempool](https://eips.ethereum.org/EIPS/eip-4337)

## Questions

### Does a transaction hash mean the recipient has received the tokens?

No. The transaction may still be pending or may fail, and successful top-level execution alone does not establish every intended token transfer. Inspect the actual receipt and token outcome.

Evidence: [Ethereum JSON-RPC](https://ethereum.org/en/developers/docs/apis/json-rpc/); [Embedding transaction status code in receipts](https://eips.ethereum.org/EIPS/eip-658); [ERC-20 Token Standard](https://eips.ethereum.org/EIPS/eip-20)

## Claims and scope

### ethereum-transaction-hashes-quick-answer

An Ethereum transaction hash identifies the encoded transaction, not its outcome. It can be known before inclusion and does not prove execution succeeded. Look it up on the correct network, then inspect the receipt, block position and relevant balance or event changes.

Scope: {"collection":"ethereum","dataAsOf":"2026-10-02","blockHeight":null}

### ethereum-transaction-hashes-fact-identifier

Identifier: The RPC transaction object exposes a hash field.

Scope: {"collection":"ethereum","dataAsOf":"2026-10-02","blockHeight":null}

### ethereum-transaction-hashes-fact-pending

Pending: Block fields can be null while a transaction is pending.

Scope: {"collection":"ethereum","dataAsOf":"2026-10-02","blockHeight":null}

### ethereum-transaction-hashes-fact-result

Result: Execution outcome belongs in the receipt’s status, not in the identifier itself.

Scope: {"collection":"ethereum","dataAsOf":"2026-10-02","blockHeight":null}

## Sources

- [Ethereum transactions](https://ethereum.org/en/developers/docs/transactions/) — ethereum.org contributors. Signed transaction fields, nonces, propagation, inclusion and transaction types. Locator: The transaction lifecycle; Typed transaction envelope. Retrieved: 2026-10-02T17:03:41.854Z.
- [Ethereum JSON-RPC](https://ethereum.org/en/developers/docs/apis/json-rpc/) — ethereum.org contributors. RPC response fields, transaction receipts, call simulation and log filtering. Locator: eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter. Retrieved: 2026-10-02T17:03:42.060Z.
- [Embedding transaction status code in receipts](https://eips.ethereum.org/EIPS/eip-658) — Ethereum Improvement Proposals. Receipts report top-level execution success or failure. Locator: Specification. Retrieved: 2026-10-02T17:03:42.150Z.
- [Ethereum accounts](https://ethereum.org/en/developers/docs/accounts/) — ethereum.org contributors. Key-controlled and code-controlled accounts, balances, nonces and storage. Locator: Account types; An account examined; Account creation. Retrieved: 2026-10-02T17:03:41.958Z.
- [Simple replay attack protection](https://eips.ethereum.org/EIPS/eip-155) — Ethereum Improvement Proposals. Transaction chain ID domain separation; not blanket protection for all signatures. Locator: Specification. Retrieved: 2026-10-02T17:03:42.312Z.
- [Account Abstraction Using Alt Mempool](https://eips.ethereum.org/EIPS/eip-4337) — Ethereum Improvement Proposals. User operations, bundler transaction submission and paymaster validation. Locator: Specification; Bundlers; Paymasters; Security Considerations. Retrieved: 2026-10-02T17:03:42.486Z.
- [ERC-20 Token Standard](https://eips.ethereum.org/EIPS/eip-20) — Ethereum Improvement Proposals. Token supply, displayed units and balance accounting. Locator: totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer. Retrieved: 2026-10-02T17:03:45.826Z.

## Revision history

- 2026-10-02: First publication after primary-source research and independent automated verification.

## Cite this entry

Degrees of Satoshi editorial project. “Ethereum transaction hashes: an identifier, not proof of success.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/ethereum-transaction-hashes/
