Estimate the gas a transaction will use (eth_estimateGas) and its cost at the current gas price, with a 20% buffer; fails clearly when the call would revert. Use before signing.