Every time you send a token, swap on a decentralized exchange, or interact with a smart contract on Base, the network hands you back a long string of letters and numbers that starts with 0x. That string is the transaction hash, and it is one of the most useful pieces of information in self custody, even though most wallets barely explain what it is for.
This guide covers what a transaction hash actually represents, how it differs from other identifiers you will see in your wallet, and the practical ways you can use one to confirm a payment or resolve a dispute.
What a transaction hash actually is
A transaction hash, sometimes written as txid or tx hash, is a fixed length fingerprint generated from the details of a single transaction: the sender, the recipient, the amount, the data being sent, and a few other fields. That information is run through a cryptographic hash function, which produces a unique string of characters. On Base and other Ethereum based networks, that string is 66 characters long, starting with 0x followed by 64 hexadecimal characters.
You do not choose your transaction hash and you cannot predict it in advance. It is calculated automatically the moment you sign and broadcast a transaction, and it changes completely if even one detail of that transaction changes, such as the amount or the gas settings.
How it is different from your wallet address
It is easy to confuse a transaction hash with a wallet address, since both look like long strings starting with 0x. The difference is what each one identifies.
Your wallet address is a permanent label for your account. You use the same address every time you receive funds, and it does not change from one transaction to the next.
A transaction hash identifies one specific event: a single transfer, swap, or contract call. Every transaction you ever make gets its own unique hash, even if you send the exact same amount to the exact same address twice in a row.
Where you find a transaction hash
Most wallets show you the transaction hash right after you submit something, often labeled as "view on explorer" or displayed as a shortened version like 0x4a2f...9c1e with the middle characters hidden. Tapping or clicking that shortened version usually copies the full hash or opens it directly on a block explorer.
If your transaction is still pending, the hash already exists. It was generated the moment you signed the transaction, before the network had confirmed anything. That is worth remembering, because a hash existing does not by itself mean a transaction succeeded.
What you can actually do with it
The main use of a transaction hash is looking it up on a block explorer to see its real status. Pasting the hash into a tool like BaseScan will show you whether the transaction is pending, confirmed, or failed, along with the block it was included in, the exact amounts transferred, and any fees paid. If you want a fuller walkthrough of reading an explorer page, that is covered in our guide to using a block explorer.
Beyond checking your own activity, a transaction hash is also how you prove a payment happened without needing a bank statement or a screenshot. If you paid someone in USDC on Base and they say they never received it, sharing the transaction hash lets them verify independently, on a public ledger, that the transfer was sent, when, and for how much. This is also useful for customer support conversations with an exchange or a service that accepts on chain payments, since it gives them something concrete to look up instead of your word alone.
Sharing a transaction hash is safe. It reveals nothing about your private key or seed phrase, only information that is already public on the blockchain.
Reading what a hash actually shows
When you open a transaction hash on an explorer, look past the headline status for a few details that matter:
- Status: success or failed. A failed transaction can still exist on chain and still cost gas, so do not assume a hash means money moved.
- From and to: the sending and receiving addresses. If you called a smart contract, the "to" address may be the contract itself rather than a person.
- Token transfers: for swaps or ERC-20 sends, look at the token transfer section rather than the main value field, since the main field often shows 0 ETH when the actual movement was a token, not the network's native currency.
- Block number and confirmations: how deep into the chain's history the transaction sits, which is part of what makes it final. Our article on transaction finality covers this in more detail.
A few gotchas worth knowing
If a transaction gets stuck and you speed it up or cancel it, the replacement is a new transaction with its own new hash, even though it uses the same nonce as the original. Only one of the two will ultimately confirm, and the explorer will show the other as failed or replaced. Our guide on speeding up or canceling a stuck transaction walks through that process.
Be cautious of anyone who sends you a transaction hash as "proof" of a payment without letting you look it up yourself. Screenshots of an explorer page can be faked just like any other image. Always paste the hash into the explorer directly and check it yourself rather than trusting a picture of it, especially in the context of a trade or deal with someone you do not know.
Why it is worth understanding
In self custody, there is no bank to call when you are unsure whether a payment went through. The transaction hash is the tool that replaces that phone call. Knowing what it is, where to find it, and how to read the page it points to turns an opaque string of characters into a clear, verifiable record of exactly what happened and when.