Insufficient funds for gas * price + value

Hi, I have a simple token transfer method that was working but now cannot understand why stopped. Is returning always “insufficient funds for gas * price + value” but in the wallet I have USDT and BNB.
The address is 0x10C9e3deF40c1a096A033bE5802E2678B6208d5c and has usdt: 11.8 and bnb: 0.0283286167266 ( in testnet ) this is my code:

let fromAddress = '0x10C9e3deF40c1a096A033bE5802E2678B6208d5c '
const web3 = new Web3("https://data-seed-prebsc-1-s1.binance.org:8545");
let contract = new web3.eth.Contract(contractABI, contractUSDT, {
                from: fromAddress
            })
web3.eth.accounts.wallet.add(fromPrivateKey);
// amount = 1 or 2 
let usdtAmount = web3.utils.toWei(amount.toString(), 'ether')
const gasLimit = await contract.methods
                .transfer(toAddress, usdtAmount)      
                .estimateGas({ fromAddress });
let resultTransfer = await contract.methods.transfer(toAddress, usdtAmount).send({
                gas: 5000000,
                gasPrice: 18e9,
                gasLimit: gasLimit
            });

Please some one can help me ?