Litecoin.watch original research, release 2026-09-30.1.
Publication date uses the site's normal clock. Experiments occurred 29 September
2026 after 22:30 UTC (30 September in Europe/Warsaw).
AI-assisted research, scripting and drafting; no independent human review claimed.
No real purchases, customer data, production wallet or payment was involved.
Contact /corrections/ at https://litecoin.watch for reproducible corrections.

What a Litecoin payment QR code actually tells your wallet
https://litecoin.watch/articles/what-a-litecoin-payment-qr-code-actually-tells-your-wallet

20 input cases, two parsing implementations, two digital QR round-trip checks.
NOT a phone-camera, full wallet GUI, signing, broadcast or mobile compatibility test.

1. Obtain and verify the official Electrum-LTC 4.2.2.1 source archive:
https://electrum-ltc.org/
https://electrum-ltc.org/download/Electrum-LTC-4.2.2.1.tar.gz
Archive SHA256: ec5dbc72f7be1c3e490cae6281f9060ff36f4c27c0df783e0e6409e66c0f33d4
The earlier local dependency verification checked the publisher-linked detached
signature. This release rechecks the archive hash and matches tested source files
byte-for-byte against that archive. Publisher identity was not independently certified.
Python 3, no pip requirements for this source-function experiment:
  python uri-parser-study.py /path/to/Electrum-LTC-4.2.2.1 output-electrum

The harness extracts function definitions through AST without changing bodies.
It executes original URI, Base58Check and SegWit address validation code; unrelated
package startup and signing dependencies are not loaded. Mainnet constants are
checked against source declarations. No payment-request callback or network is used.
This is not the complete application. Later GUI validation is outside the experiment.
"Accepted" means the function returned data, NOT approval to construct or send.
Negative-value returns, precision truncation and preserved req- fields must not
be represented as proof that a complete wallet signs those instructions.

2. Use Node.js (tested v24.19.0). The two npm manifests are distributed as
package.json.txt and package-lock.json.txt so the web server can safely serve them.
Copy them to their normal filenames in a new local study directory before npm ci:
  python -c "from pathlib import Path; [Path(n).write_bytes(Path(n+'.txt').read_bytes()) for n in ('package.json','package-lock.json')]"
  npm ci --ignore-scripts --no-audit --no-fund
  node uri-library-study.cjs node_modules/bip21 uri-corpus.json library-replay.json
bip21 3.0.0 is a URI decoder and delegates address validation to its caller.
It is not a wallet. Its output amount is a JS number, not an integer litoshi balance.

3. Regenerate safe example symbols and decode their module rasters independently:
  python -m pip install qrcode[pil]==8.2 zxing-cpp==2.3.0
  python qr-examples.py output-qr
The script generates the same QR payloads and module grids; article versions add
editorial labels and layout. Both have an intentionally invalid payment address.
Neither a mainnet destination nor a payment link should be substituted in this test.

Positive parser fixtures use synthetic address hashes with no known private keys.
NEVER SEND FUNDS TO ANY ADDRESS IN THE CORPUS.
Results include original text, returned fields or error, versions and source hashes.
Core 0.21.5.8 GUI source was inspected for required-field handling, not executed.
The article's Core observation is not a third tested wallet column.
