A transaction hash (also called a txid or transaction ID) is a unique alphanumeric string identifying a specific transaction on a blockchain network. Generated automatically when a transaction is broadcast, it serves as a permanent, tamper-proof record anyone can look up and verify without permission from a central authority.
When a user initiates a blockchain transaction, the network collects data including the sender's address, recipient's address, amount, fee, and timestamp. This data is fed into a cryptographic hash function that outputs a fixed-length string. On Bitcoin, the SHA-256 algorithm is applied twice to produce a 64-character hexadecimal string. On Ethereum, the Keccak-256 function generates a similar output, typically prefixed with "0x".
The resulting hash is deterministic: the same input always produces the same output. More critically, even a single character change in the original data produces a completely different hash, making tampering easy to detect.
A typical Bitcoin transaction hash looks like this:
a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890
An Ethereum transaction hash follows a similar pattern but is prefixed:
0x4e3a1b...c9d2f7
The length and format vary slightly between blockchains, but all hashes share the same core property: they are unique to the transaction that produced them.
The most common use of a transaction hash is tracking. After sending cryptocurrency, a wallet typically displays the hash so the sender can monitor the transaction's progress. Pasting that hash into a blockchain explorer like Etherscan (for Ethereum) or Blockchain.com (for Bitcoin) reveals:
This lookup is public and requires no account or login. Because the data is on a distributed ledger, any node on the network can independently confirm the information.
Each block in a blockchain contains the hashes of all transactions within it, plus the hash of the preceding block. This chained structure means altering any historical transaction changes its hash, invalidating every subsequent block. Reproducing that chain of work under current network conditions is computationally prohibitive on major proof-of-work networks. This is why confirmed transactions are considered effectively immutable after several block confirmations.
The hash therefore does more than identify a transaction: it anchors that transaction to a specific point in the chain's history, making retroactive fraud detectable by any participant.
While the concept is consistent, implementation details differ across networks. Bitcoin uses double SHA-256 and records hashes in little-endian byte order, which can cause display discrepancies between explorer tools. Ethereum uses Keccak-256 and encodes hashes in hexadecimal with a "0x" prefix. Newer networks like Solana use Base58-encoded hashes and call them signatures, since each transaction is cryptographically signed by the sender's private key before submission.
Despite these differences, the underlying purpose remains the same across all major blockchains: to give every transaction a globally unique, verifiable identifier.
A transaction hash should not be confused with a wallet address or a block hash. A wallet address identifies where funds are held. A block hash identifies an entire block containing many transactions. A transaction hash identifies one specific transfer within a block.
It is also worth noting that a hash appearing in a block explorer does not automatically mean the transaction succeeded. A failed transaction on Ethereum, for instance, still receives a hash and still appears on-chain, because the network processed the request and the sender still paid the gas fee.