Encyclopedia Bitcoin basics · Entry 185
Checking a Bitcoin address: format, network and recipient
In this article
At a glance
Key facts
Understand the scope of a validation result
Core’s validateaddress can return validity and the resulting output script, with error-location information where available. That result answers an encoding question. An attacker can provide a perfectly valid destination under their own control.
Witness version 0 uses Bech32; version 1 and later use Bech32m under BIP-350. The appropriate decoder must validate the version and checksum pairing rather than accept any string with a familiar beginning.
Check more than a recognizable prefix
Mainnet and test environments use different conventions. Confirm the wallet’s selected chain and the recipient’s intended route as well as checking the address text. A familiar-looking prefix is not a substitute for checking those settings.
A Lightning invoice is not a normal Bitcoin address. An interface rejecting it may expect a different payment method, rather than detecting a typo in an on-chain destination.
A valid address can still be the wrong one
Imagine that a malicious clipboard replacement swaps one valid destination for another. Both pass a checksum check. Comparing only the first and last few characters is weaker than checking the complete destination through the supported display or a trusted request.
If an address fails validation, obtain it again from the intended recipient. Guessing which character to alter can produce a different destination; a checksum is an error detector, not permission to improvise a correction.
Direct answers
Questions people ask
Does a checksum prove that an address belongs to the recipient?
No. It checks consistency of the encoded text. A different person can supply a valid address with a valid checksum, so recipient authentication must come from the surrounding relationship or request.
Can all Bitcoin wallets send to every valid address type?
No. Format and feature support depend on the wallet version and the type of output. A destination can be valid under a specification while an older interface does not support sending to it.
Inspect the evidence
The answer and key facts have stable claim links. These records retain the scope and qualification when reused.
A valid Bitcoin address is a correctly encoded destination supported by the relevant network and wallet. Validation can detect format or checksum errors; it cannot tell you who controls the destination or whether it is the address you intended. Check the complete request against a trusted source and use the correct network context before authorizing payment.
Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.
Scope: Bitcoin · data through 2026-10-02. Verification: verified · 2026-10-02T19:29:20.637Z.
Link to this claimFormat check: Valid encoding is not recipient identity
Scope: Bitcoin · data through 2026-10-02. Verification: verified · 2026-10-02T19:29:20.637Z.
Link to this claimWitness version: Bech32 and Bech32m apply to different versions
Scope: Bitcoin · data through 2026-10-02. Verification: verified · 2026-10-02T19:29:20.637Z.
Link to this claimFinal check: Compare the full intended destination
Scope: Bitcoin · data through 2026-10-02. Verification: verified · 2026-10-02T19:29:20.637Z.
Link to this claimRevision history
- — First publication after primary-source research and separate automated verification.
Source register
Sources and references
Retrieval dates and locators are recorded individually.- validateaddress RPCBitcoin Core
Address syntax validation does not authenticate a payee.
Locator: Result: isvalid, address, scriptPubKey, error · Version / scope: Bitcoin Core 29.0 RPC reference; not a recommendation to install an old release · Retrieved: 2026-10-02T18:53:55.094ZOpen source - Base32 address format for native v0-16 witness outputsBitcoin Improvement Proposals
Bech32 network prefixes and error detection; v1+ rules subsequently changed by BIP-350.
Locator: Bech32; Segwit address format; Checksum design · Version / scope: Pinned BIPs revision · Retrieved: 2026-10-02T18:53:54.081ZOpen source - Bech32m format for v1+ witness addressesBitcoin Improvement Proposals
Version-specific checksum validation and compatibility limits.
Locator: Specification; Compatibility · Version / scope: Pinned BIPs revision · Retrieved: 2026-10-02T18:53:54.129ZOpen source - Trezor’s Trusted DisplayTrezor
Manufacturer explanation of device display checks and the limits of a host-computer screen.
Locator: Trusted display article: on-device verification steps and limits of what the device verifies · Retrieved: 2026-10-02T18:53:56.900ZOpen source - getblockchaininfo RPCBitcoin Core
Network identity and sync-status fields; progress is an estimate.
Locator: Result: chain, blocks, headers, verificationprogress, initialblockdownload · Version / scope: Bitcoin Core 29.0 RPC reference; not a recommendation to install an old release · Retrieved: 2026-10-02T18:53:55.851ZOpen source - BOLT 11: Invoice Protocol for Lightning PaymentsLightning specification contributors
Invoice amounts, payment hashes, expiry, signing and feature constraints.
Locator: Human-Readable Part; Data Part; Tagged Fields; Payer / Payee Interactions; Payer / Payee Requirements · Version / scope: Pinned BOLTs revision · Retrieved: 2026-10-02T18:53:57.096ZOpen source
Research and drafting use AI assistance. A separate automated review checks claims against primary sources; no external expert or named human review is implied. Publication, substantive editing, source retrieval and verification are recorded separately. This version was independently checked by an automated reviewer on 2 October 2026.
Editorial method and correctionsDegrees of Satoshi editorial project. “Checking a Bitcoin address: format, network and recipient.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/bitcoin-address-validation/