# Base Transaction Simulator

> Base Transaction 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 blockchain transactions to predict gas usage, token transfers, balance changes, and safety verdict before broadcasting

## Facts

- Endpoint: GET https://kr-x402-mvp.kgy5612.workers.dev/crypto/tx-simulate?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-simulator-4a597722
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ubRJHQoGeu7oU5Q9dfPWf

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-simulator-4a597722
```

Example prompt: Before I sign this USDC transfer on Base — from 0xe4be4d0bd82d8e68203deff81f79ede0529f2617 to contract 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 with calldata 0xa9059cbb... — simulate it and tell me if it's safe, what tokens move, and what the gas fee will be.

## When to prefer this

Use this endpoint when an AI agent needs to preview exactly what a Base L2 transaction will do — token flows, gas cost, safety — before committing. Prefer it over static gas estimators when you need decoded transfers, balance deltas, and a safety verdict in one call. Also prefer it for batch simulation of up to 5 chained calls in a single request. It requires no API key (pay-per-call via x402 USDC micropayment) making it ideal for autonomous agent workflows.

## Known failure modes

- Invalid address format returns 400 validation error
- Malformed calldata hex returns parse error
- Simulation reverts — revert_reason populated and success=false
- Network congestion may cause delayed simulation response
- Unparseable function selector returns raw calldata without decoded function name
- Payment failure via x402 if insufficient USDC balance returns 402

## 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 flag and safety verdict (SAFE_TO_SEND or warning), per-call breakdown (function decoded, gas used, revert reason if any), total gas used and fee in both ETH and USD, list of token transfers with amounts and symbols, net balance changes per address, any ERC-20 approval events detected, current block number, and suggested next sibling endpoints to call.

## 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-simulator-4a597722/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)
