Gas Optimization Skill
Help agents decide when to send and how to send cheaper: base fee prediction, batch vs separate gas comparison, per-tx estimation with suggested limits and EIP-1559 fees, and EIP-4844 blob quotes on Ethereum.
Quick Start
Base fee prediction and when-to-send:
{"chain": "ethereum", "blocks": 20}
Batch vs separate gas:
{"chain": "ethereum", "operations": ["erc20_transfer", "erc20_transfer", "uniswap_swap"]}
Estimate and optimize a specific tx:
{"chain": "ethereum", "to": "0x...", "data": "0x...", "value": "0"}
EIP-4844 blob quote (Ethereum):
{"chain": "ethereum"}
All-in-one report:
{"chain": "ethereum", "priority": "medium"}
Scripts
| Script | Purpose |
|---|---|
| base_fee_predict.py | Base fee history, simple prediction, when-to-send advice |
| batch_quote.py | Batch vs separate gas and savings (multicall-style) |
| estimate_optimize.py | eth_estimateGas + suggested gas limit and EIP-1559 fees |
| blob_quote.py | EIP-4844 blob base fee and cost per blob (Ethereum) |
| optimization_report.py | Combined report: gas now, base fee, batch hint, recommendations |
Environment Variables
| Variable | Required | Description |
|---|---|---|
ETHEREUM_RPC |
No | Override Ethereum RPC (default public RPC) |
POLYGON_RPC |
No | Override Polygon RPC |
ARBITRUM_RPC |
No | Override Arbitrum RPC |
OPTIMISM_RPC |
No | Override Optimism RPC |
BASE_RPC |
No | Override Base RPC |
ETHERSCAN_API_KEY |
No | For ETH price USD conversion (optional) |
Best Practices
- Check base fee trend before large txs; avoid peak hours when possible.
- Batch multiple operations (e.g. multicall) to save on repeated base fee and overhead.
- Use estimate_optimize for contract calls; use suggested gas limit with ~10–15% buffer.
- EIP-4844 blobs are for large data (e.g. L2 batches); use only when needed.