# Base Transaction Simulator (x402)

> Base Transaction Simulator (x402) 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 Ethereum calldata transactions on Base, returning gas usage, token transfers, balance changes, and a SAFE/UNSAFE verdict before execution.

## Facts

- Endpoint: GET https://kr-x402-mvp.kgy5612.workers.dev/v1/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-x402-beb3bcf8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_tqSoHiW8jYHBuU52vwuKH

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-x402-beb3bcf8
```

Example prompt: Before I send this USDC transfer on Base, simulate the transaction from 0xe4be4d0bd82d8e68203deff81f79ede0529f2617 calling 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 with calldata 0xa9059cbb...0001 and tell me if it's safe, what it'll cost in gas, and what token balances will change.

## When to prefer this

Use this endpoint when you need to pre-flight a Base chain transaction before committing — especially for DeFi operations, token transfers, or unknown contract calls where you want to verify safety, decode intent, and see exact token movements without spending gas. Prefer over raw eth_call when you want human-readable transfer summaries, USD fee estimates, and a SAFE/UNSAFE verdict in one call. Requires only $0.003 USDC via x402, no API key setup.

## Known failure modes

- Invalid address format returns 400 with schema validation error
- Reverted simulation returns success:false with revert_reason populated
- Malformed calldata hex rejected with parse error
- More than 5 calls in batch array rejected
- x402 payment not provided or insufficient returns 402 Payment Required
- Network timeout on Base RPC node returns 5xx

## 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/fail verdict (SAFE_TO_SEND or unsafe), decoded function name, gas used per call and total, fee in ETH and USD, list of token transfers (from/to/amount/symbol), per-address balance changes, approval events, revert reasons if any, current Base 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-simulator-x402-beb3bcf8/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)
