Chains

Litecoin

Bitcoin's rules under Litecoin's versions and the ltc prefix, plus MWEB stealth addresses. The deprecated 3… script form is left out because its bytes are a Bitcoin address, byte for byte.
IDlitecoin15 / 36utxo · LTC
Chain / UTXO

Litecoin

"litecoin""ltc""Litecoin"

Symbol
LTC · 8 decimals
Coin type
2
CAIP-2
bip122:12a…6e98
Checks
address · txid
fields set 7 / 9

Network

CAIP-2bip122:12a765e31ffd4059bada1e25190f6e98
Magicfbc0b6db
PoWscrypt
RPCnone
Explorerlitecoinspace.org

Access

Createcreate("litecoin")
ResolvegetChain("ltc")
CLIchains info ltc
Tryplayground with a sample address

Address format

The same two branches as Bitcoin, with Litecoin's constants, and a third that Bitcoin doesn't have.

Legacy L… is version 0x30 and M… is 0x32, 25 Base58Check bytes each with the checksum verified. The deprecated 3… form under 0x05 isn't accepted: those bytes are, byte for byte, a Bitcoin script address, and a validator that says yes to both isn't telling you anything.

SegWit ltc1… runs the BIP-173 and BIP-350 check under the ltc prefix: Bech32 for v0, Bech32m for v1 and up, program length, padding, checksum. A mistyped ltc1 address fails the way a mistyped bc1 one does.

MWEB ltcmweb1… is the stealth address of the MimbleWimble extension block. It's plain Bech32 and runs past BIP-173's 90 characters to 121, so the check reads it the way Litecoin Core does: the checksum, a version digit of 0, and 66 bytes behind it, the scan key and the spend key. The keys aren't checked as curve points. The testnet tmweb1… form is rejected.

ts
import { getChain } from "@agntn/chains";

const chain = getChain("ltc");
chain.assertAddress("ltc1qhdhvrwe6rgqns8fz28tee0hphr5x7ulw5exv4w"); // returned unchanged
chain.type; // "utxo"
chain.caip2; // "bip122:12a765e31ffd4059bada1e25190f6e98"

Spellings

litecoin, ltc, Litecoin. The key is litecoin, the rest resolve through getChain.