Why did my swap succeed but I received zero tokens?
A swap that appears to succeed on-chain but delivers no tokens to your wallet is almost always a receive-address mismatch, a transfer tax trap, or a honeypot token. The transaction went through, but the token contract itself blocked the transfer or sent the tokens to the wrong address.
The most common cause: you set the wrong receive address
When you initiate a swap on MilkshakeSwap or any DEX, you specify two addresses: the token you are sending (input) and the token you want to receive (output). If you accidentally paste your input token’s contract address into the “receive” field, the swap executes but sends the output tokens to that contract address - not to your wallet. The contract cannot hold tokens for you, so they are effectively lost unless the contract has a withdrawal function (most do not).
How to check: On Etherscan or your block explorer, look up the transaction hash. Under “ERC-20 Tokens Transferred,” you will see the output token going to an address that is not your wallet. If that address is the input token’s contract, you have found the cause.
Transfer tax tokens: the swap succeeds, the transfer fails silently
Some tokens charge a fee on every transfer - a “transfer tax.” If the tax is high enough, the amount of output tokens the swap calculated may be less than the minimum required for a transfer. The DEX’s router sends the tokens to your wallet, but the token contract rejects the transfer because the net amount (after tax) falls below a minimum threshold or triggers a revert.
In this case, the transaction shows as “success” on the block explorer because the swap itself (the exchange of input tokens for output tokens) completed. The failure happens during the final transfer step, which is part of the same transaction. The block explorer may show a “Success” status but with zero tokens transferred to you.
How to confirm: Look at the transaction’s internal calls. You will see a transfer from the liquidity pool to your wallet, followed by a second transfer back to the pool (the tax) or a revert. If the token contract has a transfer function that returns false instead of reverting, the DEX’s router may not detect the failure.
Honeypot tokens: you can buy but not sell
A honeypot token allows you to buy it (swap into it) but prevents you from selling it (swapping it back). The buy transaction succeeds - you see the token in your wallet momentarily - but the token contract blacklists your address or checks a condition that blocks outgoing transfers. You hold the token but cannot trade it.
How to check: Try to swap a small amount of the token back to a stablecoin on the same DEX. If the swap fails with a “transfer from” error or a “revert,” the token is likely a honeypot. You can also check the token contract on Etherscan for functions like _isBlacklisted or _isExcludedFromFee patterns that indicate selective blocking.
Slippage Set Too Low for a Transfer-Tax Token
Even if you set a reasonable slippage tolerance for the swap itself, the transfer tax eats into the final amount. If the tax is 5% and you set slippage to 0.5%, the router may calculate a minimum output that is higher than what the token contract will actually deliver. The swap executes, but the final transfer fails because the net amount is below the router’s minimum.
What to do: For tokens with a known transfer tax, increase slippage to at least double the tax rate. For example, if the tax is 5%, set slippage to 10% or higher. This allows the router to accept the reduced final amount.
The Token Contract Has a “Max Wallet” or “Max Transaction” Limit
Some tokens impose a maximum number of tokens any single wallet can hold, or a maximum per transaction. If your swap would push your wallet over the limit, the token contract rejects the transfer. The swap succeeds, the tokens are sent to your wallet address, but the contract blocks the deposit.
How to check: Look at the token’s contract for functions like _maxWalletSize or _maxTxAmount. Compare your current balance plus the swap amount to these limits.
How to Prevent This in Future Swaps
- Double-check the receive address before confirming. Never paste a token contract address into the “receive” field.
- Check the token’s transfer tax on a site like DexScreener or by reading the contract. If the tax is above 2%, increase slippage accordingly.
- Test with a very small amount before swapping a large sum. A failed test costs only the gas fee.
- Use a DEX aggregator that simulates the entire transaction, including transfer taxes. Some aggregators show the exact amount you will receive after all fees.
- Verify the token contract on Etherscan. Look for functions like
_transfer,_isBlacklisted, and_maxTxAmount. If the code is obfuscated or unverified, proceed with extreme caution.
What to do if it already happened
- If the tokens went to the wrong address (e.g., the input token contract), they are likely unrecoverable unless the contract has a rescue function. Check the contract’s read functions for
withdraworrescueTokens. - If the tokens are in your wallet but you cannot sell them, you are holding a honeypot. No legitimate method exists to recover the value.
- If the transaction succeeded but no tokens appear, and the block explorer shows zero tokens transferred, the token contract likely blocked the transfer. You have not lost your input tokens - they are still in the liquidity pool - but you have paid gas fees for a failed swap. Try swapping again with higher slippage or a different token.
The short answer: a “successful” swap with zero tokens received means the token contract itself prevented the transfer, not that the DEX failed. Always verify the token’s behavior before trading.
Not financial advice. milkshakeswap.finance publishes market data and general information about MilkshakeSwap Token. Crypto assets are volatile and you can lose everything you put in. Nothing here is a recommendation to buy, sell or hold, and we make no price predictions.
Prices are sourced from third parties and may be delayed or wrong. Verify anything you intend to act on against a primary source.