{
  "$schema": "https://degreesofsatoshi.com/encyclopedia/schemas/article-v1.json",
  "schemaVersion": "1.0.0",
  "id": "ethereum-transaction-hashes",
  "canonical": "https://degreesofsatoshi.com/encyclopedia/ethereum-transaction-hashes/",
  "collection": "ethereum",
  "title": "Ethereum transaction hashes: an identifier, not proof of success",
  "description": "Use an Ethereum transaction hash to find a submitted transaction while keeping network identity, inclusion and execution success separate.",
  "aliases": [],
  "dates": {
    "published": "2026-10-02",
    "modified": "2026-10-02",
    "verified": "2026-10-02T18:12:41.505Z",
    "dataAsOf": "2026-10-02"
  },
  "authorship": {
    "publisher": "Degrees of Satoshi editorial project",
    "process": "AI-assisted research and drafting with a separate automated source-verification pass; no external expert or named human review is implied."
  },
  "quickAnswer": {
    "text": "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.",
    "claimId": "ethereum-transaction-hashes-quick-answer",
    "sourceIds": [
      "eth-transactions",
      "eth-jsonrpc"
    ]
  },
  "keyFacts": [
    {
      "label": "Identifier",
      "value": "The RPC transaction object exposes a hash field.",
      "sourceIds": [
        "eth-jsonrpc"
      ],
      "id": "identifier",
      "claimId": "ethereum-transaction-hashes-fact-identifier"
    },
    {
      "label": "Pending",
      "value": "Block fields can be null while a transaction is pending.",
      "sourceIds": [
        "eth-jsonrpc"
      ],
      "id": "pending",
      "claimId": "ethereum-transaction-hashes-fact-pending"
    },
    {
      "label": "Result",
      "value": "Execution outcome belongs in the receipt’s status, not in the identifier itself.",
      "sourceIds": [
        "eip658",
        "eth-jsonrpc"
      ],
      "id": "result",
      "claimId": "ethereum-transaction-hashes-fact-result"
    }
  ],
  "prerequisites": [
    "ethereum-transactions-and-nonces"
  ],
  "sections": [
    {
      "id": "lifecycle",
      "heading": "One identifier, several possible states",
      "sourceIds": [
        "eth-transactions",
        "eth-jsonrpc"
      ],
      "paragraphs": [
        "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."
      ]
    },
    {
      "id": "replacement",
      "heading": "A replacement is a different transaction",
      "sourceIds": [
        "eth-jsonrpc",
        "eth-transactions",
        "eth-accounts"
      ],
      "paragraphs": [
        "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."
      ]
    },
    {
      "id": "network",
      "heading": "Always pair the hash with a chain",
      "sourceIds": [
        "eip155",
        "eth-jsonrpc",
        "eip4337"
      ],
      "paragraphs": [
        "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."
      ]
    }
  ],
  "faq": [
    {
      "question": "Does a transaction hash mean the recipient has received the tokens?",
      "answer": "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.",
      "sourceIds": [
        "eth-jsonrpc",
        "eip658",
        "erc20"
      ]
    }
  ],
  "claims": [
    {
      "id": "ethereum-transaction-hashes-quick-answer",
      "articleSlug": "ethereum-transaction-hashes",
      "statement": "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.",
      "sourceIds": [
        "source-c4666896686db30e",
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c4666896686db30e",
          "locator": "The transaction lifecycle; Typed transaction envelope"
        },
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked RPC pending null block fields, hash lookup and receipt status against transaction signing/lifecycle and EIP-658. Inclusion, outcome and finality remain distinct.",
          "Added ERC-4337 to the user-operation identifier passage and account nonce source to replacement passage; the UserOperation hash is not the enclosing transaction hash."
        ]
      }
    },
    {
      "id": "ethereum-transaction-hashes-fact-identifier",
      "articleSlug": "ethereum-transaction-hashes",
      "statement": "Identifier: The RPC transaction object exposes a hash field.",
      "sourceIds": [
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked RPC pending null block fields, hash lookup and receipt status against transaction signing/lifecycle and EIP-658. Inclusion, outcome and finality remain distinct.",
          "Added ERC-4337 to the user-operation identifier passage and account nonce source to replacement passage; the UserOperation hash is not the enclosing transaction hash."
        ]
      }
    },
    {
      "id": "ethereum-transaction-hashes-fact-pending",
      "articleSlug": "ethereum-transaction-hashes",
      "statement": "Pending: Block fields can be null while a transaction is pending.",
      "sourceIds": [
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked RPC pending null block fields, hash lookup and receipt status against transaction signing/lifecycle and EIP-658. Inclusion, outcome and finality remain distinct.",
          "Added ERC-4337 to the user-operation identifier passage and account nonce source to replacement passage; the UserOperation hash is not the enclosing transaction hash."
        ]
      }
    },
    {
      "id": "ethereum-transaction-hashes-fact-result",
      "articleSlug": "ethereum-transaction-hashes",
      "statement": "Result: Execution outcome belongs in the receipt’s status, not in the identifier itself.",
      "sourceIds": [
        "source-fc3b7cce0edd664b",
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-fc3b7cce0edd664b",
          "locator": "Specification"
        },
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked RPC pending null block fields, hash lookup and receipt status against transaction signing/lifecycle and EIP-658. Inclusion, outcome and finality remain distinct.",
          "Added ERC-4337 to the user-operation identifier passage and account nonce source to replacement passage; the UserOperation hash is not the enclosing transaction hash."
        ]
      }
    }
  ],
  "sources": [
    {
      "id": "eth-transactions",
      "label": "Ethereum transactions",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/developers/docs/transactions/",
      "locator": "The transaction lifecycle; Typed transaction envelope",
      "note": "Signed transaction fields, nonces, propagation, inclusion and transaction types.",
      "version": null,
      "checkedAt": "2026-10-02T17:03:41.854Z",
      "contentSha256": "2eb9d9cb65efec673d9bb3327961aa14a0e354b612e149c5a6b733032977fee7",
      "recordId": "source-c4666896686db30e"
    },
    {
      "id": "eth-jsonrpc",
      "label": "Ethereum JSON-RPC",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/developers/docs/apis/json-rpc/",
      "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter",
      "note": "RPC response fields, transaction receipts, call simulation and log filtering.",
      "version": null,
      "checkedAt": "2026-10-02T17:03:42.060Z",
      "contentSha256": "ed13997ec4f415dff80883add0730d4e64bcc8c17b95dd4f6c27aed0241a4073",
      "recordId": "source-a5154b4118a3d15f"
    },
    {
      "id": "eip658",
      "label": "Embedding transaction status code in receipts",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-658",
      "locator": "Specification",
      "note": "Receipts report top-level execution success or failure.",
      "version": "EIP/ERC-658; retrieved document hash recorded",
      "checkedAt": "2026-10-02T17:03:42.150Z",
      "contentSha256": "8bd00dd00fb9ce4944ba96e0c986486d90df7bd78c88ff9f9b6a7c7a56287f58",
      "recordId": "source-fc3b7cce0edd664b"
    },
    {
      "id": "eth-accounts",
      "label": "Ethereum accounts",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/developers/docs/accounts/",
      "locator": "Account types; An account examined; Account creation",
      "note": "Key-controlled and code-controlled accounts, balances, nonces and storage.",
      "version": null,
      "checkedAt": "2026-10-02T17:03:41.958Z",
      "contentSha256": "262a5694899ae6f774aacae66b13d6929b658ecc9e23c276af9e23ee9455f034",
      "recordId": "source-2fb64d6fc5cedb00"
    },
    {
      "id": "eip155",
      "label": "Simple replay attack protection",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-155",
      "locator": "Specification",
      "note": "Transaction chain ID domain separation; not blanket protection for all signatures.",
      "version": "EIP/ERC-155; retrieved document hash recorded",
      "checkedAt": "2026-10-02T17:03:42.312Z",
      "contentSha256": "d2ee74d5b9d5230e5871645148c0978b10463b039a25d2ba753d3a8d6350c8c0",
      "recordId": "source-1975773eb9dbad9f"
    },
    {
      "id": "eip4337",
      "label": "Account Abstraction Using Alt Mempool",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-4337",
      "locator": "Specification; Bundlers; Paymasters; Security Considerations",
      "note": "User operations, bundler transaction submission and paymaster validation.",
      "version": "EIP/ERC-4337; retrieved document hash recorded",
      "checkedAt": "2026-10-02T17:03:42.486Z",
      "contentSha256": "ba69db925f98b811c8b73915af67c25fa70fc8d5d8c8f2c4166ab376e0fcb115",
      "recordId": "source-0bc8df50fb6b85e4"
    },
    {
      "id": "erc20",
      "label": "ERC-20 Token Standard",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-20",
      "locator": "totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer",
      "note": "Token supply, displayed units and balance accounting.",
      "version": "ERC-20",
      "checkedAt": "2026-10-02T17:03:45.826Z",
      "contentSha256": "98bda5e4707841a68684879878c4c165fdaa47d89ed69ebf232ab9be06ff050e",
      "recordId": "source-ac4ad503a55127bb"
    }
  ],
  "related": {
    "articles": [
      "ethereum-transaction-receipts",
      "ethereum-pending-transactions",
      "ethereum-block-explorer"
    ],
    "dossiers": [],
    "wallets": []
  },
  "revisionHistory": [
    {
      "date": "2026-10-02",
      "kind": "published",
      "summary": "First publication after primary-source research and independent automated verification."
    }
  ],
  "citation": "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/"
}
