← Back to Guides

Honeypot checker: free sell test for ETH, BSC and Base tokens

Paste a token address to see whether it can be sold. The free check runs a buy-and-sell test, reads the tax, and shows the switches a passed test never sees.

Short answer: a honeypot is a token you can buy but cannot sell. A honeypot checker tests exactly that: it simulates buying a small amount of the token through its trading pool and selling it straight back. If the test sale fails, a real one would fail too. Paste a token address below. The check is free, needs no sign-up and never asks for your wallet.

It covers ERC-20 tokens on Ethereum, BEP-20 tokens on BSC, and tokens on Base, Arbitrum and Polygon. Next to the sell test it shows the buy and sell tax, the date of the test, whether the contract can pause transfers or blacklist addresses, and — if its code can be replaced — who can replace it.

How a honeypot checker works

A checker does not read the code for intentions. It runs a test. From a test wallet it buys a little of the token, then immediately tries to sell it back. If the sale goes through, it compares what came back with what should have — that is how it measures the buy and sell tax.

The test is a simulation: nothing is sent to the chain and nothing is spent. But it runs against the real contract and the real pool, as they stand at that moment. That makes it a strong test, and a narrow one: one wallet, one small amount, one moment. The rest of this page is about the distance between that answer and the question you actually have — whether you will be able to sell later.

Three possible answers

Yes. The test sale went through. At the moment of the test, a wallet like the test wallet could sell. That is the whole of what it says.

No. The test sale failed, or the contract stops holders from selling everything they hold. This is not a guess: the sale you would make was tried, and it was refused. There are ordinary reasons for this too — trading not opened yet, a token that only moves between approved addresses — and the result does not say which. It says the sale did not happen.

No data. The source did not return a test result at all. Most scanners return this for upgradeable proxy contracts — and USDC, AAVE, ARB and many other large tokens are built that way. It is not a no, and it is not a yes. A tool that shows this silence as a green tick is reporting a test it never ran. For these tokens our free check runs the test itself: in a simulation, a fresh wallet sends the token into its pool, the pool sends some back, and the check compares what arrived with what was sent. The evidence column then reads “ChainSift simulation”. Where there is no pool to test against, the line stays “No data” and is left out of the score.

What a passed test cannot see

A contract can hold switches that do not affect the test, because nobody has used them yet.

  • Transfer pause. Some contracts let an admin stop all transfers at once — buying, selling, sending. While the switch is off, every sell test passes. The test shows it was off; it cannot show it will stay off.
  • Address blacklist. Some contracts let an admin block specific addresses from moving tokens. The test wallet is new, so it is never on the list. Your wallet could be added later, and a test run a minute earlier would still say yes.
  • A tax that can be changed. If the owner can set the fee, the tax the test measured is today's number. More on that in how to check a token's buy and sell tax.
  • Code that can be replaced. An upgradeable proxy points to code that can be swapped for different code — with a blacklist, a tax or a sell block that wasn't there during the test. The test ran the current version. Who can make the swap matters most: one wallet, a multisig that needs several signatures, or a timelock that makes every change wait. Our check names it on the proxy line, for example “Yes — a single wallet can replace the code”.
  • Limits per wallet or per trade. A cap on sale size, or a waiting time between trades. The test sells a small amount, once.

None of these shows up as a failed sale until someone uses it.

A switch is not a trap

Tether's USDT contract on Ethereum has both a transfer pause and an address blacklist. Tether uses the blacklist to freeze specific addresses. On our check page, USDT passes the sell test and shows both switches as "Enabled". All of that is true at the same time.

A honeypot is built to stop selling. A pause or a blacklist is the power to stop it later — to freeze stolen funds, or to trap buyers — and the contract records the power, not the reason. No checker can read intention from code, ours included. What it can do is tell you the power exists, so that a "Yes" on the sell test is not read as more than it is.

Check it by hand on Etherscan or BscScan

  1. Look for sells by other wallets. Open the token on DEX Screener or GeckoTerminal and read its list of trades. On a honeypot, many wallets have bought, and the sells come from one or two addresses, usually linked to the deployer. Sells from many unrelated wallets are hard to stage.
  2. Check that the source code is verified. On Etherscan or BscScan, open the token contract and its Contract tab. A check mark there means the published code matches what runs on chain. Without it, nobody can read what the contract does, and a test is the only way to see how it behaves.
  3. Read the owner's functions. The Write Contract tab lists the contract's functions by name, including the ones only the owner can call. Look for ones that pause trading, blacklist addresses, set fees, cap trade size or switch trading on and off. The author picks the names, so a harmless name proves nothing; what matters is that the power is there.
  4. Check who holds that power. Under Read Contract, owner shows the address that can call those functions. If ownership was renounced, it reads 0x0000…0000. Renouncing removes the owner's powers, but some contracts keep other admin roles that renouncing does not touch.

ERC-20, BEP-20 and other EVM chains

BEP-20 is BSC's name for the same token standard as ERC-20, so a honeypot is built the same way on Ethereum, BSC, Base, Arbitrum, Polygon and Robinhood Chain. The sell test and the steps above work on all of them; only the explorer changes — Etherscan, BscScan, Basescan, Arbiscan, PolygonScan, or Blockscout for Robinhood Chain. The same holds on other EVM chains such as Avalanche, Fantom or Sonic, but our check does not cover them.

Solana: the honeypot is the freeze authority

Solana tokens work differently. Most are created by Solana's standard token program rather than by a contract of their own, so there is no custom code to hide a sell block in. What traps holders there is the freeze authority: while it is set, its holder can freeze any account that holds the token, and a frozen account cannot sell. Solana Explorer shows it on the token's page as Freeze Authority. Once it has been revoked, there is none, and nobody can freeze accounts.

Tokens made with the newer Token-2022 program can carry more: a transfer fee, a transfer hook that runs outside code on every transfer, or a permanent delegate that can move tokens out of any account. The explorer lists these as extensions. Our free check does not cover Solana.

Common questions

Is there a free honeypot checker? Yes — the form on this page. Paste a token address on Ethereum, BSC, Base, Arbitrum or Polygon. No sign-up, no wallet, nothing to sign.

Does a honeypot check need my wallet? No. The test is a simulation, not a trade from your wallet, and it costs no gas. A checker that asks you to connect a wallet or sign a transaction is asking for something other than a check.

Why do honeypot checkers say “no data” for USDC, AAVE or ARB? Those tokens are upgradeable proxies: the address you trade keeps no token logic of its own and passes every call to a separate contract, which can be replaced. Most scanners don't analyse that setup and return nothing. Our check reads the proxy itself — who can replace the code, which functions the current code has — and runs a sell test of its own. On 8 October 2026 the code of USDC on Ethereum could be replaced by a single wallet, and so could the code of H (Humanity Protocol) on BSC; AAVE's is held by Aave's governance contracts.

Can a token pass a honeypot check and still trap me later? Yes. A transfer pause, a blacklist, a tax the owner can raise and code that can be replaced all leave the test untouched until someone uses them. That is why the check reports pause and blacklist on lines of their own.

Is a very high sell tax a honeypot? It works like one without failing the test. The sale goes through, and most of what it should return stays behind as tax. That is why the check shows the sell tax as a number, right next to the sell test.

How do I check for a honeypot on BSC? Choose BSC in the form and paste the token address. By hand, the four steps above work the same way on BscScan with PancakeSwap pools.

The free check runs the sell test and reports pause and blacklist on separate lines, each with the date it read them. Paste a contract address: