# Gas Optimization

> Gas optimization skill for EVM chains. Use when batching txs, optimizing gas estimates, predicting base fee, or deciding when and how to send transactions cheaper (EIP-4844 blob, batch vs separate).

- Skill: `xspoonai/gas-optimization` (Agent Skill, multi-file: 8 files)
- Install (CLI): `npx skillmds@latest add xspoonai/gas-optimization`
- Raw SKILL.md: https://api.skillmd.com/api/skills/xspoonai/gas-optimization/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: XSpoonAi (https://skillmd.com/u/xspoonai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/xspoonai/gas-optimization

---


# 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:**
```json
{"chain": "ethereum", "blocks": 20}
```

**Batch vs separate gas:**
```json
{"chain": "ethereum", "operations": ["erc20_transfer", "erc20_transfer", "uniswap_swap"]}
```

**Estimate and optimize a specific tx:**
```json
{"chain": "ethereum", "to": "0x...", "data": "0x...", "value": "0"}
```

**EIP-4844 blob quote (Ethereum):**
```json
{"chain": "ethereum"}
```

**All-in-one report:**
```json
{"chain": "ethereum", "priority": "medium"}
```

## Scripts

| Script | Purpose |
|--------|---------|
| [base_fee_predict.py](scripts/base_fee_predict.py) | Base fee history, simple prediction, when-to-send advice |
| [batch_quote.py](scripts/batch_quote.py) | Batch vs separate gas and savings (multicall-style) |
| [estimate_optimize.py](scripts/estimate_optimize.py) | eth_estimateGas + suggested gas limit and EIP-1559 fees |
| [blob_quote.py](scripts/blob_quote.py) | EIP-4844 blob base fee and cost per blob (Ethereum) |
| [optimization_report.py](scripts/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

1. **Check base fee trend** before large txs; avoid peak hours when possible.
2. **Batch** multiple operations (e.g. multicall) to save on repeated base fee and overhead.
3. **Use estimate_optimize** for contract calls; use suggested gas limit with ~10–15% buffer.
4. **EIP-4844 blobs** are for large data (e.g. L2 batches); use only when needed.

