``` //token_address is the adress of the contract : 0xc2132D05D31c914a87C6611C10748AEb04B58e8F //minABI is the abi of the USDT contract on ETH, since the one on Polygon has no methods decimals or transfer let contract = new web3.eth.Contract(minABI, token_address); //Calculate the amount to transfer. In this example I want to transfer 5.44 usdt let decimals_bn = await contract.methods.decimals().call(); const base = new BigNumber(10); const amount_to_transfer = base.pow(decimals_bn).times(balance);//this gives 5440000 which seems correct //Transaction count for nonce let transaction_count = await web3.eth.getTransactionCount(account_from.address); //Get gas price let gas_price = await web3.eth.getGasPrice(); //Estimate gas let estimated_gas = await web3.eth.estimateGas({from: account_from.address}); const createTransaction = await sails.config.web3.clients[token_network].eth.accounts.signTransaction( { from: account_from.address, nonce: web3.toHex(transaction_count), gasPrice: web3.utils.toHex(gas_price), gas: web3.utils.toHex(estimated_gas), //gasLimit: web3.utils.toHex(estimated_gas),//I tried with gas , gasLimit or both to: token_address, value: "0x0", data: contract.methods.transfer(adress_to, web3.toHex(amount_to_transfer)).encodeABI(), }, account_from.privateKey ); //this is when the error trigger await web3.eth.sendSignedTransaction(createTransaction.rawTransaction); //Error : 'Error happened while trying to execute a function inside a smart contract' ``` 48 hours on this matter and still no solution. I don't know if the problem is related to gas value or to something else. Please advise, any help is appreciated.