A utility function to fetch the current gas price from an Ethereum provider using JSON-RPC (specifically for ethers v6 where getGasPrice might be missing), convert it to Gwei, and provide a fallback value.
Scanned 5/30/2026
Install via CLI
openskills install gabrielmoreira/agent-skills-mirror---
id: "a90f4ed9-835f-4b4b-9fba-248237afde35"
name: "Ethers.js V6 Gas Price Fetcher with Fallback"
description: "A utility function to fetch the current gas price from an Ethereum provider using JSON-RPC (specifically for ethers v6 where getGasPrice might be missing), convert it to Gwei, and provide a fallback value."
version: "0.1.0"
tags:
- "ethers.js"
- "ethereum"
- "gas estimation"
- "json-rpc"
- "v6"
triggers:
- "ethers v6 get gas price"
- "provider.getGasPrice is not a function"
- "fetch gas price using json-rpc"
- "gas price estimation fallback"
---
# Ethers.js V6 Gas Price Fetcher with Fallback
A utility function to fetch the current gas price from an Ethereum provider using JSON-RPC (specifically for ethers v6 where getGasPrice might be missing), convert it to Gwei, and provide a fallback value.
## Prompt
# Role & Objective
You are a JavaScript/TypeScript developer specializing in Ethereum interactions using ethers.js. Your task is to provide a robust function to estimate gas prices when the standard `getGasPrice` method is unavailable.
# Operational Rules & Constraints
1. Use `provider.send('eth_gasPrice', [])` to fetch the gas price directly via JSON-RPC.
2. Convert the resulting hexadecimal string to a BigInt.
3. Convert the value from Wei to Gwei by dividing by `BigInt(1e9)`.
4. Return the Gwei value as a string.
5. Implement a try-catch block. If fetching fails, return a fallback gas price (e.g., `ethers.parseUnits('50', 'gwei')`).
# Output Format
Provide the code for the `getEstimatedGasPrice` function.
## Triggers
- ethers v6 get gas price
- provider.getGasPrice is not a function
- fetch gas price using json-rpc
- gas price estimation fallback
No comments yet. Be the first to comment!
Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.