Cut ETH transaction costs by up to 80%
Automatically minimize gas fees across Ethereum and every major L2. Dynamic fee estimation, transaction batching, intelligent chain routing, and calldata compression — all via a single API call.
The Problem
For agents executing hundreds of transactions daily, gas costs silently erode 10-30% of trading profits. Understanding and managing gas is not optional — it is a core profitability lever.
Since London hard fork, every transaction has two components: a base fee that is burned (set by the network based on recent block utilization) and an optional priority fee (tip) paid to validators. Both fluctuate block-by-block — static gas prices overpay in calm markets and underpay during congestion.
Gas prices follow predictable daily patterns. During peak US and Asian trading hours, Ethereum base fees spike 5-10x above off-peak levels. An agent that executes 100 trades at 2pm UTC instead of 4am UTC can pay $500 in gas versus $60 for identical transactions.
At 20 gwei average gas price, a Uniswap swap costs around $4-8 in gas. At 80 gwei (common during market volatility), the same swap costs $16-32. For an agent running 200 swaps per week, this is the difference between $1,600 and $6,400 in monthly gas spend.
How It Works
Four complementary approaches that stack together to minimize every dollar of gas your agent spends.
Real-time base fee tracking with historical percentile analysis. The API calculates optimal maxFeePerGas and maxPriorityFeePerGas per transaction, targeting the sweet spot between inclusion speed and overpayment avoidance.
Combine 5-25 operations into a single transaction using the multicall pattern. Each avoided transaction saves 21,000 base gas units (the flat per-transaction cost). Typical savings of 25-40% on high-frequency operation sets.
When a transaction is fungible across chains, the API automatically routes to the cheapest execution environment. Arbitrum and Optimism are typically 10-100x cheaper than Ethereum mainnet for equivalent operations. Base excels for USDC-heavy workflows.
Calldata bytes cost gas: zero bytes cost 4 gas units, non-zero bytes cost 16. The API optimizes ABI encoding to maximize zero bytes through argument reordering and compact encoding schemes, reducing calldata costs by 10-25%.
API Reference
Five endpoints covering every gas optimization use case.
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/gas/estimate |
Current gas price across Ethereum mainnet and all supported L2s. Returns base fee, optimal tip, 10th/50th/90th percentile estimates. |
| POST | /v1/gas/optimize |
Submit a transaction payload for gas optimization analysis. Returns optimized calldata, recommended gas parameters, and estimated cost savings. |
| GET | /v1/gas/history |
Historical gas price data by hour-of-day and day-of-week over the past 30 days. Useful for timing strategy calibration. |
| POST | /v1/gas/batch |
Submit up to 25 transaction payloads for multicall batching. Returns a single optimized batched transaction with projected savings breakdown. |
| GET | /v1/gas/recommendation |
Given a transaction type (swap, transfer, contract deploy) and value size, returns the best chain and timing window for minimum cost. |
Code Example
An agent that checks gas before every trade, queues when fees are too high, and batches multiple small trades for maximum savings.
import requests
import time
from collections import deque
PF_BASE = "https://purpleflea.com/api"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY"}
# Pending trade queue for batching
pending_trades = deque()
def get_current_gas_gwei(chain="ethereum"):
"""Fetch current base fee in gwei"""
resp = requests.get(
f"{PF_BASE}/v1/gas/estimate?chain={chain}",
headers=HEADERS, timeout=5
)
return resp.json()["base_fee_gwei"]
def execute_trade_gas_aware(trade_params, max_gas_gwei=20):
"""Execute trade only when gas is below threshold"""
current_gwei = get_current_gas_gwei()
if current_gwei > max_gas_gwei:
# Queue for off-peak execution
pending_trades.append(trade_params)
return {
"status": "queued",
"current_gas": current_gwei,
"threshold": max_gas_gwei,
"queue_depth": len(pending_trades)
}
# If we have batched trades waiting, flush them together
if len(pending_trades) >= 5:
return flush_batch()
# Execute single trade with optimized gas
return requests.post(
f"{PF_BASE}/v1/gas/optimize",
json=trade_params,
headers=HEADERS
).json()
def flush_batch():
"""Batch all pending trades into a single transaction"""
trades = list(pending_trades)
pending_trades.clear()
result = requests.post(
f"{PF_BASE}/v1/gas/batch",
json={"transactions": trades},
headers=HEADERS
).json()
print(f"Batched {len(trades)} trades — saved {result['savings_usd']:.2f} USD in gas")
return result
# Main agent loop
def agent_loop():
while True:
trade = generate_next_trade() # your strategy logic
result = execute_trade_gas_aware(trade, max_gas_gwei=18)
print(f"Trade result: {result['status']}")
time.sleep(60) # check every minute
Coverage
Gas optimization across Ethereum mainnet and the seven leading L2 networks, with real-time fee data and cross-chain routing recommendations.
| Chain | Typical Gas Range | Savings vs Mainnet | Best For |
|---|---|---|---|
| Ethereum | 8 – 120 gwei | Baseline | Large trades, maximum security |
| Arbitrum One | 0.01 – 0.1 gwei | 90-99% | High-frequency trading, DeFi |
| Optimism | 0.001 – 0.05 gwei | 95-99% | Token transfers, small swaps |
| Base | 0.001 – 0.03 gwei | 97-99% | USDC workflows, Coinbase ecosystem |
| Polygon | 30 – 200 MATIC gwei | 80-95% | NFTs, gaming, micro-payments |
| zkSync Era | 0.02 – 0.2 gwei | 85-98% | ZK-proven DeFi, privacy |
| Scroll | 0.01 – 0.08 gwei | 90-99% | zkEVM compatible contracts |
| Linea | 0.005 – 0.05 gwei | 93-99% | ConsenSys ecosystem integrations |
ROI Analysis
The compounding effect of gas optimization becomes dramatic at scale. Here is what consistent optimization is worth in real dollars.
Based on March 2026 Ethereum mainnet average gas. Savings vary by market conditions. L2 routing and batching can push total savings to 80% on suitable workloads.
MCP Integration
Use gas optimization directly from your agent's system prompt via the Purple Flea MCP server.
gas_estimate
Get current gas price across all supported chains. Returns base fee, optimal tip, and percentile bands.
gas_optimize
Submit a transaction for optimization analysis. Returns calldata improvements and recommended gas parameters.
gas_batch
Combine up to 25 pending transactions into a single multicall batch. Returns projected savings.
gas_recommend_chain
Given a transaction type and size, recommend the cheapest chain and optimal execution window.
Related APIs
Start optimizing in minutes. Free API key, no credit card required. Supports Ethereum, Arbitrum, Optimism, Base, and four more chains out of the box.