Skip to content

Crypto wallet address checker

By
Published

A blockchain transfer cannot be reversed by a bank. If you paste a wrong address and the transfer goes through, the funds usually cannot be recovered. Most address formats carry a checksum so that a mistyped character is caught before you send. The checker above runs those checks for four families of networks and tells you what it found.

How each check works

The checker tries the formats in a fixed order and stops at the first match.

Ethereum and EVM networks

An address is 0x followed by 40 hexadecimal characters. EIP-55 adds a checksum through letter case: the checker takes the Keccak-256 hash of the lower-case address and makes each letter upper case where the matching hash digit is 8 or higher.

  • Mixed case that matches: valid, checksum matches.
  • Mixed case that does not match: at least one character is wrong. The tool says not to send.
  • All lower or all upper case: valid, but without a checksum. The tool shows the checksummed form.

The tool labels this family as Ethereum and EVM networks, naming Base, Arbitrum, Polygon, Optimism, BNB Chain and Avalanche.

Tron

A Tron address is 34 characters starting with T. It is Base58Check text: decoded, it gives 21 bytes that start with the byte 0x41, plus a 4-byte checksum. The checker recomputes the checksum as the first 4 bytes of a double SHA-256 hash and compares it.

Bitcoin

  • bc1 addresses (SegWit and Taproot) use Bech32, defined in BIP-173, or Bech32m, defined in BIP-350. The checker verifies the checksum with both constants and rejects addresses that mix upper and lower case.
  • Addresses starting with 1 or 3 use Base58Check. After the checksum test, the payload must be 21 bytes with version byte 0x00 (addresses starting with 1) or 0x05 (pay-to-script-hash addresses starting with 3, BIP-13).

Solana

A Solana address is 32 to 44 Base58 characters. The Solana documentation describes account addresses as 32-byte values, so the checker decodes the text and accepts it if the result is exactly 32 bytes. Solana has no checksum in the address itself.

Worked example

EIP-55 lists this test address:

0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed

The Keccak-256 hash of the lower-case version starts with d385650c. The first character after 0x is 5, a digit, so case does not apply. The second is a and its hash digit is 3, below 8, so it stays lower case. The third is a again, but its hash digit is 8, so it becomes A. The checker repeats this for all 40 characters, and the result is identical to the address, so it reports a match.

Now change the third character to lower case: 0x5aaeb6053F3E.... The address still looks plausible, but the case pattern no longer matches the hash. The checker reports that the checksum does not match and that you should not send.

Paste the same address in all lower case and the checker reports a valid format without a checksum, then prints the mixed-case form above for you to compare.

Limits of the checker

  • It does not know the network. A valid 0x address is valid on every EVM network. Sending USDC on a network the recipient does not use can make the funds hard or impossible to reach.
  • Solana has no checksum. A typo that still decodes to 32 bytes passes.
  • Mainnet formats only. Bitcoin testnet addresses, Tron hex addresses and ENS names are reported as not recognised.
  • Checksums, not every rule. For bc1 addresses the tool verifies the Bech32 or Bech32m checksum, not every structural rule in BIP-173 and BIP-350.
  • No blockchain lookup. It does not check balances, whether the address belongs to a smart contract, or who controls it.
  • Other networks. Addresses for networks outside these four families are not recognised.

Before you send

Ask the recipient which network to use, then check that your wallet or provider supports it. The xChange.bg self-custody wallet works on Solana, Ethereum, Base, Arbitrum, Polygon and Optimism, and you hold the keys. For a first payment to a new address, a small test transfer lets you confirm arrival before sending the rest.

Learn more about wallet addresses, blockchain networks and how a self-custody wallet works.

Frequently asked questions

Does a valid result mean my funds will arrive?

No. The checker confirms that the address is well formed and that its checksum matches. It cannot tell whether the recipient controls it, whether it is on the network you plan to use, or whether the receiving service supports the token.

Why does the same 0x address work on several networks?

Ethereum and EVM networks such as Base, Arbitrum, Polygon and Optimism use the same address format, so one address can hold funds on each of them. The format check cannot tell which network the recipient expects.

What does it mean if an Ethereum address is all lower case?

It is a valid address without an EIP-55 checksum. Nothing is wrong with it, but a typo would go unnoticed. The checker shows the checksummed version, with mixed upper and lower case, that you can compare with the recipient.

Why is a Solana result less certain than a Bitcoin one?

Solana addresses have no checksum. The checker can only confirm that the text decodes to a 32-byte key. A changed character that still decodes to 32 bytes passes, so compare Solana addresses character by character.

Is the address I paste sent to a server?

No. All checks run in your browser with local code. The page does not look up the address on a blockchain or send it to xChange.bg or anyone else.

Does the checker accept testnet addresses or ENS names?

No. It recognises Bitcoin mainnet addresses only (bc1, 1 and 3), and it checks addresses, not names such as ENS domains. Anything else is reported as not recognised.

Sources

  1. EIP-55: Mixed-case checksum address encoding
  2. BIP-173: Base32 address format for native v0-16 witness outputs
  3. BIP-350: Bech32m format for v1+ witness addresses
  4. BIP-13: Address format for pay-to-script-hash
  5. Solana documentation: accounts
  6. TRON developer documentation: accounts

Related

More free tools