Litecoin.watch · Research & practical tools
Litecoin payment URI parser tests
Twenty identical requests tested at the parsing boundary of Electrum-LTC 4.2.2.1 and Cake Wallet v6.4.5. Every input, output and software version is available.
Scope: source-isolated functions, not complete wallet applications. No phone camera, wallet GUI, signing or broadcast. A parser returning data does not mean the payment is valid or can be sent. Tests ran on 30 September 2026.
Compare exact results
| Input case | Electrum-LTC · function return | Cake · extracted amount text |
|---|---|---|
| Address only | Returned; no amount | No amount text |
| URI with no amount | Returned; no amount | No amount text |
| Exactly eight decimals | Returned; 12345678 litoshis | 0.12345678 |
| One litoshi | Returned; 1 litoshis | 0.00000001 |
| Nine decimals | Returned; 12345678 litoshis | 0.123456789 |
| Negative amount | Returned; -100000000 litoshis | -1 |
| Decimal comma | Error: failed to parse 'amount' field: InvalidOperation([<class 'decimal.ConversionSyntax'>]) | 0,125 |
| Duplicate amount | Error: Duplicate Key: 'amount' | 2 |
| Empty amount | Returned; no amount | No amount text |
| Unknown optional field | Returned; 12500000 litoshis | 0.125 |
| Unknown required field | Returned; 12500000 litoshis | 0.125 |
| UTF-8 and encoded ampersand | Returned; 12500000 litoshis | 0.125 |
| Unescaped ampersand | Returned; 12500000 litoshis | 0.125 |
| Wrong address checksum | Error: Invalid litecoin address: LLnCCHbSzfwWquEdaS5TF2Yt7uz5Qb1SZ2 | 0.125 |
| Wrong currency scheme | Error: Not a litecoin URI | 0.125 |
| Uppercase scheme | Returned; 12500000 litoshis | 0.125 |
| Native SegWit address | Returned; 12500000 litoshis | 0.125 |
| Scientific notation | Returned; 1 litoshis | 1e-8 |
| Above total supply | Error: failed to parse 'amount' field: InvalidBitcoinURI("amount is out-of-bounds: Decimal('8400000100000000') LTC") | 84000001 |
| Time and expiry metadata | Returned; 12500000 litoshis | 0.125 |
Reproduce the comparison
Electrum’s original URI and address-validation function bodies were executed from the verified release archive. Cake’s unchanged constructor and PaymentRequest.fromUri factory were compiled with Dart 3.13.5; guarded adapters throw on unrelated Lightning/ERC681/Nano branches. All fixtures avoid those paths. The complete apps and downstream address/amount checks were not loaded.
No private keys are known for the synthetic fixture addresses. Never send money to a corpus address. The table establishes a parser result for the pinned source and runtime; it does not establish that any complete wallet pays an invalid destination or negative amount.
Source versions: Electrum-LTC 4.2.2.1; Cake v6.4.5 source function. AI-assisted research, code and drafting; no independent review claimed.