Migration failed due to insufficient fund

Hello, I am trying to deploy my smart contracts on Ethereum mainnet. During migration time I faced an error

“x” not deployed due to insufficient funds. I tested multiple times on several test networks like: rinkeby, ropsten and done my migration successfully. My balance for ropsten and rinkeby is the same as my main network account. But facing this problem in mainnet. can anyone help me?

Truffle configuration:

MainNet: {
  host: "xx.xx.xx.xx", 
  port: 8545,
  provider: function () {
    return new HDWalletProvider(privKeys, "wss://mainnet.infura.io/ws/v3/xxxxxxxx")
  network_id: 1,
  timeoutBlocks: 200,

  skipDryRun: true,


Image Link

Hi @Rakib_Hossain and welcome to the Infura community!

I have noticed you opened a support ticket on this and I will take it from there.

Additionally, please refer to the following post: Failed to migrate a smart contract using truffle, please help

I will update this post with the results soon for the rest of you!