Learn how to verify Bitcoin transactions step by step - from using block explorers and understanding txid to running your own full node for trustless verification.
One of Bitcoin's most revolutionary properties is that anyone can verify any transaction without asking permission from a bank, government, or any third party. In the traditional financial system, you must trust your bank's statement that your wire transfer went through. With Bitcoin, you can verify it yourself - mathematically, cryptographically, and independently.
This guide walks you through every method of verifying a Bitcoin transaction, from the simplest approach using web-based block explorers to the gold standard of running your own full node. By the end, you'll understand not just how to verify transactions, but why verification matters and what it actually proves.
In traditional finance, "verification" means checking your bank's records - records that the bank controls, can alter, and has historically manipulated. The 2008 financial crisis revealed that the entire system rested on trust in institutions that proved unworthy of it. Lehman Brothers' balance sheets were "verified" by auditors right up until the firm collapsed.
Bitcoin eliminates this trust requirement. Every transaction is recorded on a public ledger that no single entity controls. Verification in Bitcoin means checking mathematical proofs - not trusting someone's word. This is the difference between trustless verification and trusted verification, and it represents one of the most important innovations in the history of money.
There are several practical reasons to verify transactions:
Every Bitcoin transaction has a unique identifier called a Transaction ID or TXID. This is a 64-character hexadecimal string that serves as the transaction's fingerprint. For a deeper understanding of how TXIDs work, see our detailed guide on what a TXID is.
A TXID looks like this:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
The TXID is generated by applying the SHA-256 hash function twice to the serialized transaction data. This means:
When someone sends you Bitcoin, the TXID is the receipt. It's the string you use to look up and verify the transaction on the blockchain.
The most accessible way to verify a Bitcoin transaction is through a block explorer - a website that provides a searchable interface to the Bitcoin blockchain. Think of it as a search engine for Bitcoin transactions.
Step 1: Obtain the TXID
Get the transaction ID from your wallet software, the sender, or a payment processor. Every Bitcoin wallet displays the TXID after broadcasting a transaction. In most wallets, you can find it in the transaction history or details screen.
Step 2: Search the TXID
Paste the TXID into the search bar of your chosen block explorer. The explorer will return the full transaction details.
Step 3: Verify the key details
Once you've found the transaction, check these critical fields:
Step 4: Assess confirmation count
The number of confirmations indicates how deeply buried the transaction is in the blockchain:
| Confirmations | Security Level | Recommended For |
|---|---|---|
| 0 | Unconfirmed | Nothing - wait for at least 1 |
| 1 | Minimal | Small purchases (coffee, digital goods) |
| 3 | Moderate | Medium-value transactions |
| 6 | Strong | Large purchases, exchanges |
| 60+ | Very strong | Extremely high-value settlements |
Each new confirmation makes it exponentially more expensive to reverse the transaction. After 6 confirmations (approximately 1 hour), the cost of a double-spend attack exceeds the resources of virtually any attacker. For a deeper understanding of how fees affect confirmation time, see our Bitcoin fee guide.
While block explorers are convenient, they have a fundamental limitation: you are trusting the explorer's server to show you accurate data. A compromised or malicious block explorer could theoretically show you false information - displaying a transaction as confirmed when it isn't, or showing incorrect amounts.
This is why block explorers are useful for casual verification but are not sufficient for high-value transactions or situations requiring true trustless verification. For that, you need your own node.
Most modern Bitcoin wallets provide built-in transaction verification. When you receive a transaction, your wallet will show:
SPV (Simplified Payment Verification) wallets - including most mobile wallets - verify transactions by downloading block headers and checking that a transaction is included in a block through a cryptographic proof called a Merkle proof. This is more trustworthy than a block explorer because the wallet verifies the proof of work in the block headers, but it still doesn't verify all the consensus rules. SPV wallets trust that miners are following the rules.
Full node wallets like Bitcoin Core, Sparrow (connected to your own node), or Specter Desktop provide the highest level of verification. They download and validate every block and every transaction according to all consensus rules. When a full node wallet shows a transaction as confirmed, you have the strongest possible assurance that it is valid.
If you run a Bitcoin full node, you can verify transactions directly through the command line using bitcoin-cli. This is the most technical but also the most trustless method. For a guide on setting up your own node, see how to run a Bitcoin full node.
bitcoin-cli getrawtransaction <txid> true
This returns the full decoded transaction data, including:
{
"txid": "e3b0c44298fc1c14...",
"hash": "e3b0c44298fc1c14...",
"version": 2,
"size": 225,
"vsize": 166,
"weight": 661,
"locktime": 0,
"vin": [...],
"vout": [
{
"value": 0.01500000,
"n": 0,
"scriptPubKey": {
"address": "bc1q..."
}
}
],
"blockhash": "00000000000000000002a...",
"confirmations": 142,
"blocktime": 1710820800
}
confirmations: Number of blocks mined since this transaction's blockvout: The outputs - check that the correct amount goes to the correct addressvin: The inputs - which previous transaction outputs are being spentblockhash: The hash of the block containing this transactionvsize: The virtual size in vbytes, which determines the fee ratebitcoin-cli getblock <blockhash>
This shows you the full block data, including a list of all transaction IDs in the block. You can confirm that your transaction's TXID appears in the block's transaction list.
bitcoin-cli getmempoolentry <txid>
If a transaction hasn't been confirmed yet, this command shows its mempool status, including:
For more about how the mempool works, see our guide on what the mempool is.
Running your own full node is the only way to achieve truly trustless transaction verification. When you verify a transaction with your own node, you are not trusting any third party - you are independently applying all of Bitcoin's consensus rules to every transaction and every block.
A full node checks every transaction against all consensus rules:
This is fundamentally different from trusting a block explorer or even an SPV wallet. Your node has independently verified every single block from the genesis block to the present. It doesn't take anyone's word for anything.
The simplest way to verify transactions using your own node is to connect a wallet to it. Sparrow Wallet is an excellent choice - it can connect to your Bitcoin Core node via the local RPC interface or through an Electrum server you run yourself.
Once connected, every transaction your wallet displays has been verified by your own node against the full consensus rules. This is the level of verification that makes Bitcoin unique among monetary systems.
It's important to understand exactly what each level of verification proves - and what it doesn't.
Bitcoin has evolved, and modern transactions use newer formats that affect verification.
Segregated Witness (SegWit) transactions separate the signature data (witness) from the transaction data. When verifying SegWit transactions, you'll notice:
bc1q (for native SegWit)Your node verifies SegWit transactions using the same rules but with the witness data checked separately. This provides the same security guarantees while allowing more transactions per block.
Taproot transactions (addresses starting with bc1p) use Schnorr signatures instead of ECDSA. From a verification perspective:
You sold an item and the buyer says they've sent Bitcoin. Here's your verification checklist:
You sent a transaction but it's not confirming. Verify:
getmempoolentry)Someone claims they made a payment and wants you to verify it:
Every time you look up a transaction on a block explorer, you potentially reveal information:
To mitigate these privacy risks:
For a deeper discussion of Bitcoin privacy, see our guide on Bitcoin and privacy.
"Don't trust, verify" is more than a Bitcoin slogan - it's the foundational principle that separates Bitcoin from every other monetary system in history. For the first time, ordinary people can independently verify the monetary properties of the system they use: the supply schedule, the transaction rules, and the validity of every payment.
Start with block explorers to get comfortable with reading transaction data. As you progress in your Bitcoin journey, connect your wallet to your own node for the highest level of verification. The ability to independently verify is not just a technical feature - it is the mechanism through which Bitcoin achieves trustlessness, and trustlessness is what makes sound money possible in the digital age.
Every time you verify a transaction yourself, you're participating in the decentralized consensus that makes Bitcoin work. You're not just checking a payment - you're helping to maintain the integrity of a monetary system that no single party controls.