What is the correct way to send a web3 token transaction on eth now?

EthereumEthereum
$1,358.03
3.10%
17D Ago
self.ethereum
Just tried to send a usdc transfer transaction on Eth and it resulted in a $17 gas fee (at a price of 324 gwei) :( gas related stuff in the rawTransaction: const gasPrice = parseInt(await web3.eth.getGasPrice()); let gasLimit = latestBlock && latestBlock.transactions.length ? Math.ceil(latestBlock.gasLimit / latestBlock.transactions.length) : 0; const gasestimate = await web3.eth.estimateGas({ from: fromAddress, to: tokenConfig.contractAddress, value: weiBN !== null ? Web3.utils.toHex(weiBN) : "0x0", data: Web3.utils.toHex(abi), nonce: nonce }); gas: Web3.utils.toHex(Web3.utils.toBN(gasestimate)), // amount of gas to process the transaction gasPrice: Web3.utils.toHex(Web3.utils.toBN(gasPrice)), gasLimit: Web3.utils.toHex(Web3.utils.toBN(gasLimit)), // upper limit to pay in gas