Free tool

Crypto address checker

Paste an address or a payment link to check its format and checksum before you send. The check runs in your browser: the address never leaves your device.

The checker needs JavaScript, because it runs in your browser and sends nothing to a server.

What it checks

Each network writes addresses in its own format, most with a checksum that catches typos. The checker reads the format, decodes the address and tests the checksum, offline.

NetworkAddress typesChecksum
BitcoinLegacy (1...), script (3...), SegWit (bc1q...), Taproot (bc1p...)Base58Check, bech32, bech32m
LitecoinL..., M..., 3..., ltc1...Base58Check, bech32, bech32m
Ethereum and EVM chains0x... on Ethereum, BNB Smart Chain, Polygon, Arbitrum, Base, Avalanche and moreEIP-55 capital letters, when present
TronT... (TRX and TRC-20 USDT)Base58Check
MoneroStandard (4...), subaddress (8...), integratedKeccak-256
ZcashTransparent (t1..., t3...), Sapling (zs1...), unified (u1..., zu1..., tu1...), TEX (tex1...)Base58Check, bech32, bech32m with F4Jumble
SolanaAccounts for SOL and SPL tokensNone: Solana addresses have no checksum

What a valid result does not tell you

  • Who controls the address. A valid address can belong to anyone.
  • Which token you should send. USDT on Tron and USDT on Ethereum use different addresses and networks, and a token sent on the wrong network can be lost.
  • Whether the receiver needs a memo or destination tag as well. Our memo and tag rules list which networks need one.
  • Anything about the address history or balance. For that you need a block explorer.

Before you send

  • Copy and paste addresses. Never type them by hand.
  • Compare the first and the last characters, and a few in the middle, with the address you were given.
  • Never copy an address from your transaction history. Scammers send tiny amounts from look-alike addresses so that one shows up there. That trick is called address poisoning.
  • Send on the network the receiver asked for, and add a memo when they gave you one.
  • For a large amount, send a small test first.

Open source

The checker is our open-source library crypto-address, under the MIT license. It is tested against official test vectors, including every Zcash unified address vector and the shared ZIP 321 payment request vectors.

hiddenswap/crypto-address on GitHub

Questions

Is the address sent anywhere when I check it?

No. The check runs in your browser with our open-source code. The page makes no request with the address, and nothing is stored.

Why is my address valid on more than one network?

Some networks share a format. Every EVM chain, such as Ethereum, BNB Smart Chain, Polygon and Arbitrum, uses the same 0x address, and addresses starting with 3 are valid on Bitcoin and Litecoin. The address is fine; what matters is that you send on the network the receiver asked for.

Can a valid address still be the wrong one?

Yes. A checksum only catches typos. It cannot tell a real address from a look-alike that a scammer planted, or from someone else's address. Compare the address with the one you were given, character by character.

Does USDT have its own address format?

No. USDT uses the address format of the network it runs on: a Tron address (T...) for TRC-20, an Ethereum address (0x...) for ERC-20, a Solana address for SPL. Choose the network first, then check the address for that network.

What is a Zcash unified address?

An address that holds several receivers at once, such as Orchard, Sapling and transparent, so the sender's wallet can pick the best one it supports. They start with u1, or with zu1 and tu1 in the newer format. The checker lists the receivers inside.