
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
| Format | Looks like | Checksum |
|---|---|---|
| Bitcoin legacy / P2SH, Litecoin, Dogecoin | 1…, 3…, L…, M…, D… | Base58Check: 4 bytes of double SHA-256 |
| Bitcoin SegWit, Litecoin ltc1 | bc1q…, ltc1q… | Bech32 (BIP173): 6-character code |
| Bitcoin Taproot | bc1p… | Bech32m (BIP350) |
| Ethereum and EVM chains | 0x + 40 hex | EIP-55: upper/lower case of letters |
| TRON | T… (34 chars) | Base58Check with 0x41 prefix |
| XRP Ledger | r… (25–35 chars) | Base58Check, Ripple alphabet |
| Cardano | addr1… | 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:
- 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.
- Clipboard malware that swaps a copied address for the attacker's valid one.
- 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
- Copy the address from the recipient's own screen: the order page, the exchange deposit page, the recipient's wallet.
- Paste, then compare at least six characters at the start, six at the end and a few in the middle.
- 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.
- 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.