Skip to main content
Accurately estimate gas costs for transactions to ensure reliable execution without overpaying.
Wagmi is not available on React Native. Use Ethers.js or Viem for EVM operations.

Estimate Gas for a Transaction

import { ethers } from "ethers";

async function estimateGas(
  provider: ethers.Provider,
  to: string,
  value: string,
  data?: string,
  maxFeePerGas?: string,
  maxPriorityFeePerGas?: string
) {
  const tx = {
    to,
    value: ethers.parseEther(value),
    data: data || "0x",
    ...(maxFeePerGas ? { maxFeePerGas: ethers.parseUnits(maxFeePerGas, "gwei") } : {}),
    ...(maxPriorityFeePerGas ? { maxPriorityFeePerGas: ethers.parseUnits(maxPriorityFeePerGas, "gwei") } : {})
  };

  const gasEstimate = await provider.estimateGas(tx);
  return gasEstimate;
}

Next Steps