Honeypots: how they work

A honeypot token lets you buy and blocks the sell. The contract mechanisms behind it, the trade-history signals, and what a passed test does not prove.

1,179 words · about 5 minutes·Article updated 20 August 2026
The short answer

A honeypot token works by letting you buy and then blocking the sell. The buy confirms normally, the balance appears in your wallet, and every attempt to swap back reverts or returns nothing. The block lives in the token contract itself, not in the exchange or the wallet you used.

The mechanism, in one line

A token contract controls its own transfer function. Every swap is a transfer, so a contract can make buying work and selling fail simply by treating the two directions differently.

That is the whole of it. There is no exploit and no broken exchange. The decentralized exchange does exactly what it is told: it calls transfer, the token contract refuses, the transaction reverts, and your gas is spent on a failure. Because the refusal is written into the token, no interface can route around it. Trying a different aggregator changes nothing.

The five ways sells get blocked

The trap is usually one of these, occasionally several.

Address rules. The contract keeps a list — a blocklist that catches buyers, or an allowlist that only the deployer's own addresses appear on. Anyone else's transfer to the pool reverts.

A sell fee that takes everything. Fees on transfers are ordinary. A contract with a setter that lets the owner raise the sell fee to effectively the whole trade, with no ceiling written into the code, is a switch, not a fee.

Transaction and wallet caps. A maximum transfer size set low enough that any real sell exceeds it, sometimes combined with a cooldown that resets on every buy.

A trading switch. A pausable transfer function, or a tradingEnabled flag the owner controls. Buying is open while the flag is set one way; the same flag closes the exit.

An upgradeable contract. Behind a proxy, the code you read today can be replaced tomorrow. The contract that lets you sell now may not be the contract that runs when you try. A mint function that survives launch belongs in the same category: the rules can change after you commit.

Note what the last two mean. A honeypot does not have to be a honeypot at the moment you buy. It has to be one at the moment you sell.

How this differs from a rug pull

A rug pull removes the liquidity: the pool is drained, the price collapses, and your sell fails for lack of anything to sell into. A honeypot leaves the pool exactly where it is. Liquidity can look deep, the chart can look ordinary, and the buys keep confirming — the exit is closed at the token level while the market appears to function.

The fixes and the signals are not the same. Rug pulls, explained honestly covers the liquidity side; if you are stuck right now, I can't sell my token separates the three common causes in order.

Detection behaviors that actually help

None of these is a verdict. Each one moves you from guessing to reading.

Look for completed sells.

Open the pool's trade history and look for sells that settled, from addresses that are not the deployer. A liquidity pool with a long column of buys and nothing going the other way is the single clearest behavioral signal there is.

Simulate the sell before you buy.

Several explorers and aggregators submit a sell against current chain state and report whether it reverts. A revert in simulation is a hard stop. A clean simulation only describes this block.

Read the owner's powers, not the marketing.

Is ownership renounced? Is the contract behind a proxy? Are there functions to set fees, pause transfers, or edit an address list? An unrenounced owner holding those functions is the same exposure with a delay attached.

Test with an amount you would shrug at.

Buy small, sell immediately, then decide. This costs gas twice and some slippage, and it proves only that the exit was open for that transaction, at that size, from that address.

Check whether the caps bind.

Compare the maximum transaction size to the position you intend to take. A cap you cannot clear is a closed exit for you even where others sell freely.

Run these before the buy, not after. With pending tokens created on Robinhood Chain in the last 24 hours, per Locksley's contract reads, most of what you find on new tokens is minutes old — the trade history is short at that age, so step three carries more of the weight. The wider pre-trade routine is in how to buy tokens safely, and the same checks apply whenever you buy tokens on Robinhood Chain.

What a passed test does not prove

A successful test sell is evidence about one transaction in the past. It is not a property of the token, and it does not transfer to the next sell.

Three specific gaps. An owner can flip a switch between your test and your exit. A proxy can be upgraded after you read the code. And a cap or cooldown can allow a small sell while blocking the one that matters to you.

The useful posture is a size you can afford to leave behind, an exit tested at the size you actually hold, and no expectation that any check converts to a promise. What you have read is a mechanism, and mechanisms can change.

Frequently asked questions

Can I get my money back from a honeypot?

Not through the chain. A settled buy is final, and if the contract blocks transfers, nobody — including us, the exchange, or the wallet — can move the balance for you. Sometimes the block is a cap or a cooldown rather than a permanent rule, in which case a smaller sell or a later attempt can go through. Test with a fraction before assuming either way.

Does locked liquidity mean a token cannot be a honeypot?

No. A lock governs the pool position and says nothing about the token contract's transfer rules. Liquidity can be locked for years while the contract still blocks sells, because the two live in different places. A lock guarantees exactly one thing: the pool cannot be withdrawn before the release date. Not the price, not the team, not the token. A locked pool can still fall.

Are honeypot checkers reliable?

They report a simulation against current chain state, which is a real and useful reading. What they cannot do is see a future upgrade behind a proxy, a switch the owner has not flipped yet, or a cap that binds at your size but not at the test size. Treat a failed check as a stop and a passed check as one input among several.

Why did my sell fail when other people are selling?

Several mechanisms produce that pattern. A per-wallet or per-transaction cap can block your size while smaller sells go through, a cooldown can block you for a window after your buy, and an address list can catch some wallets and not others. Slippage set below what a taxed transfer needs also fails while other trades succeed.

FiguresEvery number on this page is frozen at the date printed beside it and refreshed when the page is rebuilt — not live. The sentences reason about the figures, so a value that changed underneath them would make the prose wrong. Live values live on Explore and the pages it links out to. Methodology →
CorrectionsFound something wrong? Send the page and what you computed instead through the contact page. Every correction is logged publicly.
ReusePublished under CC BY 4.0. Quote it, translate it, fork it — cite the page and the date.
Who wrote thisWritten and maintained by the Locksley editorial team. Locksley is built by TrustSwap, which also owns Team Finance — the tool linked above.