Check a Solana Address Before You Send
Find out what an address really is, and whether a lookalike has been planted in your history to be mistaken for it.
How to check a Solana address before sending
- Paste the address you are about to send to.
- Paste the wallet you are sending FROM as well. This is optional and it is the part that catches address poisoning.
- Press Check. Nothing is signed and no wallet is connected, so this is free and cannot touch anything.
- Read the verdict. It says plainly whether to send, check further, or not send at all.
- If a lookalike is reported, compare the destination address character by character against where you originally got it. Do not rely on the shortened form: that is exactly what the attack defeats.
Common questions
What is address poisoning?
An attacker generates an address that matches the first and last few characters of one you use, then sends you a tiny amount from it so it lands in your transaction history. Later you copy an address out of that history, recognise the shortened form your wallet shows, and pay the attacker instead. It costs them almost nothing and it works because nobody reads all 44 characters.
Could a lookalike be a coincidence?
Effectively never. Two different addresses agreeing on four specific characters at the start AND four at the end happens with probability around one in 58 to the eighth power, roughly one in 128 trillion. If this tool finds one in your history, someone generated it deliberately to be mistaken for an address you use.
How much of my history does it check?
The last 25 transactions of the wallet you give it. That is deliberate: poisoning dust is sent to be seen, so it sits in recent history where a person would actually scroll, and a deeper scan is more likely to be refused by a public RPC endpoint than to find anything new.
Do I need to connect my wallet?
No, and you should not have to. Paste your wallet's address as text. This tool only reads public on-chain data and signs nothing, so there is no reason for it to touch your wallet and no way for it to move anything.
It says the address is a token mint. What does that mean?
You have pasted the token's own address instead of the recipient's. It is the most common paste mistake there is, because both appear side by side on an explorer page. Tokens sent to a mint are destroyed permanently.
What does off the curve mean?
The address is valid but no keypair could ever sign for it, so whatever arrives there can never be spent by anyone. Program-derived addresses work this way. They parse perfectly and look completely normal, which is what makes them dangerous as a destination.
Can I get funds back if I already sent to the wrong address?
No. Solana transfers are final and there is no reversal, no clawback and nobody to appeal to. If the address belongs to an attacker they simply have your funds; if it belongs to nobody the funds are gone. This tool exists because checking beforehand is the only protection that exists.
Why this tool exists
Every transfer on this site is final. The Multisender, the SOL Multisender and the Top Holder Airdrop all say so, and none of them can do anything once a transaction has confirmed. The check made beforehand is the only protection there is, and until now the only check we made was whether the address was valid base58.
Valid is a very low bar. A program, a token mint and a token account are all perfectly valid addresses that destroy whatever they receive.
Address poisoning, and why it works
Nobody reads a 44-character address. Wallets know this and shorten them to about four characters either side, and everybody has learned to check those instead. The attack is simply to generate an address matching those eight characters and get it into your history, which costs the price of one dust transaction.
Then it waits. The next time you copy a recipient out of your history, the shortened form looks exactly right, and it is not.
This is not a theoretical concern for us: a lookalike of this platform's own treasury address has been used to dust wallets. The rule we follow internally is the one worth adopting: never copy an important address out of a transaction history or a chat message. Copy it from the original source, every time.
What the check tells you
- What the address actually is: an ordinary wallet, a program, a token mint, a token account, or something off the curve that can never spend what it receives.
- Whether a lookalike is sitting in your history, matching both ends of the address you are about to use.
A wallet that has never received anything shows no account at all, and that is deliberately not reported as a problem. It is what most first-time recipients look like, and warning about it would teach people to click past the warnings that matter.
The habit that actually protects you
Tools help, and habits help more. Compare the whole address, not the ends. Keep important addresses somewhere you control rather than recovering them from history. Send a small test amount first when the sum is large. And treat any address that arrived unsolicited, in a chat or in your transaction list, as hostile until you have checked it here.
Related tools
- Sending to many wallets at once: Multisender validates every address in a list before signing.
- Checking a token rather than an address: Rug Checker.
