Token Taxes Explained: What Buy and Sell Taxes Are and Where the Money Goes
Why some tokens take a cut of every trade, what counts as normal, the three versions that are traps, and why a 10% tax costs you a lot more than 10%

Merlin
Author

Buy a token on Ethereum or BSC, check your wallet, and you’ve got 5% fewer tokens than the price said you should. Sell, and 5% of the proceeds disappear again. That’s a token tax. On the EVM chains it’s one of the most common things in the small print, and one of the most common ways people get trapped.
What a token tax is
A percentage the token’s own contract takes on every buy, every sell, or both. It’s not gas, it’s not your bot’s fee, and it’s not the DEX pool fee. It’s written into the token’s transfer function by whoever deployed it, so it happens inside the trade, before you see the result.
Where it goes depends on the contract. The usual destinations are a dev or “marketing” wallet, an auto-liquidity function that adds to the pool, reflections paid out to existing holders, or a burn. Most tax tokens use a mix, and the split is usually in the contract or the launch post.
It’s mostly an EVM thing. Taxes are a feature of how ERC-20 contracts can be written, so you see them on Ethereum, Base and BSC. A standard Solana token can’t do it, which is why the vast majority of pump.fun tokens have none. Solana’s Token-2022 standard does include a transfer fee extension, which is a tax by another name, so it’s not impossible there, just rare. Taxes are also different from fee-router tokens, where the cut is taken and routed at the launchpad level rather than inside the token contract.
What’s normal
Zero is the most common tax on memecoins now, and anything with a tax needs a reason.
One to five percent total is the typical range on tokens that have one, usually split between marketing and liquidity. Five to ten percent is high and you should be able to find out why. Above ten percent is either a launch-phase anti-snipe tax that’s supposed to drop, or a problem.
Anti-snipe taxes deserve their own line. Some tokens launch with a tax of 90% or more for the first few blocks, then step it down to the normal rate, to make bot sniping unprofitable. That’s fine if the schedule is enforced in the contract. If it’s “we’ll lower it later” with nothing in the code making that happen, you’re trusting the dev to give up free money.
Why a 10% tax costs more than 10%
The tax hits twice, and it stacks on everything else.
A 5% buy and 5% sell tax is 10% gone on a round trip before anything else happens. Add your bot’s fee, which on Axxel is 0.9% each way, the gas, and the price impact of your own trade on a thin pool. The token now needs to move somewhere around 13% to 15% in your favour just to get you back to flat. A 10/10 tax token needs 25% or more. Bot fees are covered separately, but the point is that tax is the biggest line on that bill by a distance, and it’s the one people forget to count.
Tax and slippage, and why your transaction failed
To your wallet, tax looks like slippage. If you set 5% slippage on a token with a 10% buy tax, the swap fails, because you received less than your minimum. This is one of the most common reasons a transaction fails on a tax token.
The reflex is to crank slippage to 20% so it goes through. It does, and now you’ve left 20% of room for a sandwich bot to take the difference. The better fix is to set slippage just above the tax and use MEV protection. And if a token needs 30% or more slippage to go through at all, that’s the contract telling you something.
The three versions that are traps
Mutable tax. The owner can change the tax after launch. A sell tax of 5% at launch and 99% a week later is a honeypot by another route: you can technically sell, you just get nothing. If ownership hasn’t been renounced, the tax is whatever the dev decides it is tomorrow.
Asymmetric tax. Zero percent on buys, 25% on sells. Designed so the chart looks great on the way in and the exit costs a quarter of your position. Always read both numbers. A page that just says “tax: 2%” is telling you half.
Conditional tax. Different rates for different wallets. The dev’s wallets whitelisted at 0%, everyone else at 10%, or a blacklist that quietly sets certain addresses to 100%, or a tax that scales with the size of the sell. These are what token scanners flag as “modifiable tax” or “blacklist” warnings, and they’re the ones that are hardest to see from the chart. Max-transaction limits and sell cooldowns aren’t taxes, but they belong to the same family: things in the contract whose purpose is to make sure you can’t actually leave.
How to check before you buy
Read the numbers on the pair page. DexScreener and most scanners show buy and sell tax for EVM pairs, usually from a simulated trade.
Check whether the tax can change. Open the contract on a block explorer, look at the write functions for anything like setTax, setFees or updateFees, and check whether ownership has been renounced. If the owner is still a live wallet and those functions exist, the tax is not fixed, whatever the launch post says.
Simulate a sell. Honeypot checkers do this for you: they simulate a buy followed by a sell and tell you whether the sell went through and at what tax. A token you can buy but can’t sell is exactly what taxes are often used to build.
Then set a ceiling in your bot so you don’t have to do this at 3am. In Axxel, open Settings and choose Buy and Sell Tax Limits. Before a trade executes, the bot checks the token’s buy or sell tax, and if the detected tax is higher than your limit, the trade is blocked. Both limits start at 100% by default so nothing gets blocked by accident, which means they do nothing until you set them. A buy limit of 15% blocks a token with a 20% buy tax. For memecoins, 10% each way is a reasonable ceiling, and anything above that needs a reason you’ve read yourself.
All of this sits alongside the standard rug pull checks, because tax is one lever a dev has, not the only one.
One thing people miss: taxes outlive the dev
When a community takes over a token, they inherit the contract exactly as it was left. If the original dev wrote in a mutable tax and never renounced ownership, the community can’t fix that, and the old keys still work. A well-run CTO can be sitting on a contract that was never safe.
Axxel runs on Ethereum, Base, BSC, Solana and Robinhood Chain from a wallet you control, with buy and sell tax limits, configurable slippage, limit and trailing orders, and MEV protection through bloXroute on Ethereum and Jito on Solana. Flat 0.9%, non-custodial, no subscription.
A tax is just a number in a contract. The question is always who can change it.
Crypto trading carries risk. Most memecoins lose value. Nothing here is financial advice. Axxel is not available in all regions.