{
  "serviceId": "chain-simulation",
  "displayName": "Chain Simulation",
  "description": "Pre-sign EVM transaction simulation: an eth_call with state overrides previewing the revert reason and asset deltas before you sign. POST /v1/chain with the call {to, data, ...} and get the outcome as one JSON object. Deterministic per state instant. Pay per request in USDC; no account, no API key.",
  "category": "blockchain",
  "resourceUrl": "https://agent.pocket.network/v1/chain-simulation",
  "priceUsd": "0.005000",
  "priceVersion": 1,
  "rails": [
    {
      "id": "base",
      "network": "eip155:8453",
      "chainId": 8453,
      "tokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "tokenDecimals": 6,
      "payToAddress": "0xF732ea490c5766071785a2310523f7fA2CEbB829"
    }
  ],
  "protocols": [
    "rest"
  ],
  "inputSchema": {
    "type": "object",
    "description": "The call to simulate before signing.",
    "properties": {
      "to": {
        "type": "string",
        "description": "Target contract address, 0x-prefixed."
      },
      "data": {
        "type": "string",
        "description": "Calldata, 0x-prefixed (0x for none)."
      },
      "from": {
        "type": "string",
        "description": "Optional sender address."
      },
      "chain_id": {
        "type": "integer",
        "description": "EVM chain id (default 1)."
      }
    },
    "required": [
      "to"
    ]
  },
  "outputSchema": {
    "type": "object",
    "description": "For POST /v1/chain, a JSON object with the simulated outcome: success or revert reason, asset deltas, and the chain_id. The exact shape is the service's own and is not pinned here; errors return a JSON object with an `error` field, and the GET routes return their own small JSON documents."
  },
  "methods": {
    "GET /v1/health": "read",
    "GET /v1/version": "read",
    "POST /v1/chain": "read"
  },
  "firstParty": true,
  "networks": [
    "eip155:8453"
  ],
  "serving": true,
  "page": "https://agent.pocket.network/services/chain-simulation",
  "descriptor": "https://agent.pocket.network/services/chain-simulation/descriptor.json"
}