i have been asking by my client to save ETH when transfer out his USDT, he hope there is no or very little ETH left in his new USDT address. Please assume that USDT address has no initial ETH and next i got to transfer some ETH into it.
after long refer from other old transactions. i decided to use 26500 as gas limit (i assure that the recipient address has USDT) and not long needed ETH come after this and now i have enough gas to transfer USDT.
After broadcast the new tx to network, a moment later i encounter out-of-gas error. I tried with higher gas limit until i give up and set it to 60000. then guess now what, the tx is success! and actual consume gas is even lesser than 26500.
Anybody explain me why this happen? why i cant set exact gas limit to solve my problem? is transfer() in usdt contract has special condition? Thanks in advanced.