Some ERC-20 tokens have an in-built functionality to transfer part of the traded tokens to a third-party address, which is commonly known as a ‘transfer tax.’
Due to the way these tokens work, it is not possible to easily trade them using exchange aggregators. This might lead to errors when building your transaction when trying to trade one of these tokens.
There are different ways for a token to implement the transfer tax functionality and hence, several ways of checking if a token is using it or not. Here are some non-exhaustive examples of how to check it.
NOTE: the following tokens are for educational purposes and are not served by ParaSwap in any way. They can still carry a risk if imported and traded. Please do your own research before importing any custom token onto ParaSwap, and consider the risks of using custom tokens.
Example 1 - Token: 0x8076c74c5e3f5852037f31ff0093eeb8c8add8d3
Search for the token on its corresponding chain explorer. In this case, its BSCscan: https://www.bscscan.com/token/0x8076c74c5e3f5852037f31ff0093eeb8c8add8d3
Head to the 'Contract' tab and search for the 'fee' word in the contract code
In this example, we find:
3% fee auto add to the liquidity pool to locked forever when selling2% fee auto distribute to all holders
Example 2 - Token: 0xac57de9c1a09fec648e93eb98875b212db0d460b
Search for the token on its corresponding chain explorer. In this case, its Etherscan https://etherscan.io/token/0xac57de9c1a09fec648e93eb98875b212db0d460b
Head to the 'Contract' tab and search for the 'fee' word in the contract code
In this example, we find: uint256 public _taxFee