# Base Transaction Gas Estimator & Simulator

> Base Transaction Gas Estimator & Simulator is a paid API for AI agents from kr-x402-mvp.kgy5612.workers.dev, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-31).

Simulates one or more Base chain transactions, estimating gas cost, USD fee, token transfers, approval changes, and safety verdict before sending.

## Facts

- Endpoint: GET https://kr-x402-mvp.kgy5612.workers.dev/api/chain/estimate-gas?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/base-transaction-gas-estimator-simulator-c0fd1ad8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_5SWEevwBPJahCmfA0ISqr

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability base-transaction-gas-estimator-simulator-c0fd1ad8
```

Example prompt: Before I send this USDC transfer on Base — from 0xe4be4d0bd82d8e68203deff81f79ede0529f2617 to contract 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 with calldata 0xa9059cbb — can you simulate it and tell me the gas cost in USD, whether it will succeed, and what token balances will change?

## When to prefer this

Use this endpoint when an AI agent needs to pre-flight a Base chain transaction before broadcasting — especially to check for reverts, estimate USD gas cost, or audit token flows without spending gas. Prefer over raw RPC eth_estimateGas calls because this endpoint also decodes function names, enumerates token transfers and approvals, gives a USD fee estimate, and provides a human-readable safety verdict. Supports batching up to 5 sequential calls. Requires no API key — pay $0.003 USDC per call via x402.

## Known failure modes

- Invalid address format returns 400 validation error
- Calldata that causes revert returns success:false with revert_reason populated
- Malformed calls JSON array returns parse error
- Missing required 'to' for single-call mode may return incomplete simulation
- Network congestion on Base RPC may cause timeout
- Payment failure via x402 (insufficient USDC) blocks the call entirely

## How this service works

Pay-per-call crypto microdata for trading/onchain AI agents via x402 (USDC on Base): Base gas, token risk, balances, multi-venue prices, Hyperliquid book/funding, kimchi premium. No API keys.

## Output

Returns a JSON object with: overall success/revert verdict (SAFE_TO_SEND or revert reason), total gas used, fee in ETH and USD, per-call breakdown (function signature, gas used, success, revert reason), detected token transfers with amounts and symbols, approval changes, net balance changes per address, current block number, and suggested next API endpoints.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "to": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "examples": [
        "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
       ],
       "description": "Target contract or recipient"
      },
      "data": {
       "type": "string",
       "pattern": "^0x([0-9a-fA-F]{2})*$",
       "description": "Calldata (default 0x)"
      },
      "from": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "examples": [
        "0xe4be4d0bd82d8e68203deff81f79ede0529f2617"
       ],
       "description": "Sender (signer) address"
      },
      "calls": {
       "type": "string",
       "description": "URL-encoded JSON array of up to 5 {to,data,value_eth|value} run in order from the same sender"
      },
      "value_eth": {
       "type": "string",
       "examples": [
        "0.01"
       ],
       "description": "ETH to send, decimal (default 0)"
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "from": "0xe4be4d0bd82d8e68203deff81f79ede0529f2617",
  "next": [
   "/crypto/base-gas",
   "/crypto/tx-status?hash="
  ],
  "block": 53272234,
  "calls": [
   {
    "to": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
    "index": 0,
    "success": true,
    "function": "transfer(address,uint256)",
    "gas_used": 45047,
    "revert_reason": null
   }
  ],
  "chain": "base",
  "flags": [],
  "fee_eth": 5e-7,
  "fee_usd": 0.0019,
  "success": true,
  "summary": "1 call succeeds; sender sends 0.001 USDC",
  "verdict": "SAFE_TO_SEND",
  "approvals": [],
  "transfers": [
   {
    "to": "0xa587d73489f8f09d1975f1ddbb1c61c93e8fa9d7",
    "from": "0xe4be4d0bd82d8e68203deff81f79ede0529f2617",
    "token": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
    "amount": 0.001,
    "symbol": "USDC"
   }
  ],
  "gas_used_total": 45047,
  "sender_changes": {
   "USDC": -0.001
  },
  "balance_changes": {
   "0xa587d73489f8f09d1975f1ddbb1c61c93e8fa9d7": {
    "USDC": 0.001
   },
   "0xe4be4d0bd82d8e68203deff81f79ede0529f2617": {
    "USDC": -0.001
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/base-transaction-gas-estimator-simulator-c0fd1ad8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from kr-x402-mvp.kgy5612.workers.dev](https://www.zero.xyz/host/kr-x402-mvp.kgy5612.workers.dev/llms.txt)
