Payments & feesBeginner3 min read

How to scan and verify a Bitcoin QR payment

Read a Bitcoin payment request safely, check its amount and distinguish an on-chain URI from a Lightning invoice.

Scan a request, review the decoded destination, then approve the payment.
Scan a request, review the decoded destination, then approve the payment.

The quick answer

A QR code is a way to carry payment data. It can contain an address, a Bitcoin URI or another request type; it does not authenticate the merchant.

Check the decoded request

Bitcoin URIs can include an amount in decimal BTC and a label. The amount field uses a decimal point, not a local comma. Wallet support for additional payment options varies.

Step by step

  1. 1

    Scan with the intended wallet

    Use your Bitcoin wallet's scanner. Check whether it recognizes an on-chain destination or a Lightning request before continuing.

  2. 2

    Verify what was decoded

    Compare the merchant, network, full destination and amount through a trusted channel. A label is user-provided text, not identity verification.

  3. 3

    Review the actual payment

    Check the wallet's final BTC amount and fee. Stop if required options are unsupported or the result differs from the merchant's current invoice.

Worked example

An amount field of amount=0.0005 requests 0.0005 BTC, or 50,000 sats. It does not request 0.0005 units of your local currency.

Before you continue

A related question

Can I reuse an old payment QR?

A plain on-chain address may still work, but merchant invoices and Lightning requests can expire or be single-use. Get the current request before paying.

Try it with a tool

Sources & further reading

Source links checked on 15 Oct 2026. Examples explain the mechanics; provider fees and features can change.

  1. BIP 321 github.com
  2. BIP 21 github.com

Keep learning

All tutorials

Search 1Bitcoin

Tools & guides

Hub listings