Security

Invalid Address or Bad Checksum: Why Your Wallet Says No

October 21, 2026
5 min read

Wallet says invalid address or bad checksum? How checksums work for Bitcoin, Ethereum and TRON addresses, the usual causes and what a checksum cannot catch.

Comparison of errors an address checksum catches, such as typos and missing characters, with mistakes it cannot catch, such as poisoned look-alike addresses and wrong chains.
Address checksums stop typos but not look-alike or substituted addresses. Open the full-size diagram

An 'invalid address' or 'bad checksum' error means the string you pasted fails the address format's built-in error check. Most crypto addresses end with a few characters computed from the rest; if one character is mistyped, missing or swapped, the check fails and the wallet refuses to send. That is a good outcome: the checksum just stopped a payment to an address nobody controls. Re-copy the address from its source rather than fixing it by hand.

How address checksums work, by format

Checksum schemes of common address formats
FormatLooks likeChecksum
Bitcoin legacy / P2SH, Litecoin, Dogecoin1…, 3…, L…, M…, D…Base58Check: 4 bytes of double SHA-256
Bitcoin SegWit, Litecoin ltc1bc1q…, ltc1q…Bech32 (BIP173): 6-character code
Bitcoin Taprootbc1p…Bech32m (BIP350)
Ethereum and EVM chains0x + 40 hexEIP-55: upper/lower case of letters
TRONT… (34 chars)Base58Check with 0x41 prefix
XRP Ledgerr… (25–35 chars)Base58Check, Ripple alphabet
Cardanoaddr1…Bech32 without length limit

Base58 deliberately leaves out the characters 0, O, I and l, which look alike, so a mistyped 'O' instead of 'o' is either impossible or caught. Bech32 is lowercase or uppercase but never mixed, and its code is designed to detect any error of up to four characters. EIP-55 is weaker: it encodes the checksum in the capitalisation of hex letters, and an all-lowercase or all-uppercase address carries no checksum at all, which is why some wallets accept it with a warning.

Common causes

  • A character lost while copying — a selection that missed the first or last character, or a line break in a chat message.
  • Hand-typing from a screenshot or paper. Confusing similar characters is the usual reason for Bech32 and Base58 failures.
  • Mixed case in a Bech32 address after an app 'helpfully' capitalised the first letter.
  • An address split across two lines in an email or PDF, where only the first line was copied.
  • Hidden characters: a zero-width space or non-breaking space copied from a web page or a PDF.
  • The address is for another network: a Litecoin M-address in a Bitcoin field, or a Bitcoin Cash bitcoincash: address in a Bitcoin wallet. These fail because the version byte or prefix differs.
  • A wrong EVM checksum after someone edited one letter of a mixed-case address.

What a checksum cannot protect you from

A checksum proves the address is well-formed. It does not prove the address is the right one. Three dangerous mistakes all pass the check:

  1. Address poisoning: a scammer generates a valid address with the same first and last characters as your contact's and plants it in your history with a tiny transfer. The address poisoning checker compares the full strings.
  2. Clipboard malware that swaps a copied address for the attacker's valid one.
  3. A valid address on the wrong chain — the same 0x address on BSC instead of Ethereum, for example. See sent crypto to the wrong network.

Why some formats are stricter than others

Base58Check's 4-byte checksum gives roughly a 1 in 4.3 billion chance that a random error slips through. Bech32 was designed by Pieter Wuille and Greg Maxwell to guarantee detection of up to four substituted characters and to point at where the error is; Bech32m fixed a weakness of the original code for Taproot addresses. EIP-55 was added to Ethereum years after launch, which is why plain lowercase addresses remain valid: the protocol never required a checksum, and wallets can only enforce it when the mixed case is present. Solana addresses are raw base58 public keys with no checksum, so a typo can produce a different valid key; validators check only that it decodes to 32 bytes.

A quick routine before every send

  1. Copy the address from the recipient's own screen: the order page, the exchange deposit page, the recipient's wallet.
  2. Paste, then compare at least six characters at the start, six at the end and a few in the middle.
  3. Check the network label next to the address and the memo or tag if one is required; the memo and tag checker lists which coins need one.
  4. If in doubt, run the address through the crypto address validator: it verifies the checksum for Bitcoin, Ethereum, TRON, Solana, Litecoin and Monero formats locally in your browser.

On KOT.CASH the order form validates the payout address for the selected coin before creating the order, and the provider performs its own check. A rejected address there almost always means it belongs to a different network than the coin you chose.

FAQ

What does 'bad checksum' mean?

The last characters of the address do not match the value computed from the rest, so at least one character is wrong. Copy it again from the source.

My Ethereum address is all lowercase. Is it invalid?

No. All-lowercase or all-uppercase EVM addresses are valid but carry no checksum. Mixed case must match EIP-55 exactly.

Can I correct one wrong character myself?

Do not. You cannot know which character is wrong, and a corrected address could belong to someone else.

Does a valid checksum mean the address is safe?

It only means the address is well-formed. Poisoned look-alike addresses and malware-substituted addresses are valid too.

Why is my Litecoin address invalid in a Bitcoin wallet?

Different coins use different version bytes and prefixes, so a Litecoin address fails Bitcoin's format check by design.

Crypto address validatorAddress poisoning checkerAddress poisoning scamBitcoin Cash CashAddr vs legacy

Sources

Ready to exchange crypto?

Fast, transparent swaps — no registration required.

Start Exchange Now
Invalid Address or Bad Checksum: Why Your Wallet Says No | KOT.CASH