Simplified Payment Verification (SPV)

A lightweight method for verifying crypto transactions by using block headers and Merkle proofs, not full nodes.

Simplified Payment Verification (SPV) is a technique that lets a wallet verify that a transaction was included in a blockchain without downloading and storing the entire chain. Instead of acting like a full node, an SPV client relies on a small amount of data and information requested from other nodes.

How SPV works

In networks like Bitcoin, SPV clients download only block headers, which are small compared to full blocks and can be synced quickly on a phone or low-power device. When you want to verify a payment, the SPV wallet asks a full node (or several nodes) for a proof that your transaction is included in a specific block. This is typically done with a Merkle proof, which links a transaction to the Merkle root committed in the block header. If the proof is valid and the block header is part of the best chain with sufficient cumulative work, the wallet can treat the transaction as confirmed.

Trade-offs vs running a full node

SPV improves usability and reduces storage, bandwidth, and setup requirements, which is why many mobile and desktop wallets use it. The trade-off is trust and visibility. A full node independently validates all consensus rules and sees the complete transaction data, while an SPV client must query other nodes and can be misled in certain scenarios, such as being fed incomplete or biased information, especially if it connects to a limited set of peers.

SPV matters because it makes self-custody and everyday payments more accessible, while highlighting the ongoing balance in crypto between convenience, privacy, and strong, independent verification.