# EVM Read-Only Contract Call Simulator

> EVM Read-Only Contract Call Simulator is a paid API for AI agents from twin.unykorn.org, paid per call via x402, $0.003/call, status unknown (last checked 2026-09-29).

Simulates any read-only (eth_call) smart contract call across 10 EVM chains without sending a transaction

## Facts

- Endpoint: POST https://twin.unykorn.org/evm-call?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/evm-read-only-contract-call-simulator-776ef644
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_KPgeIrGlKq4M1Woz1q06R

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 evm-read-only-contract-call-simulator-776ef644 -d '<json body>'
```

Example prompt: Simulate a read-only contract call on Ethereum to address 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 with calldata 0x70a08231000000000000000000000000d8dA6BF26964aF9D7eEd9e03E53415D37aA96045 so I can check the USDC balance without sending a real transaction.

## When to prefer this

Choose this endpoint when you need to query smart contract state (view/pure functions) across any of 10 major EVM chains without running your own node or RPC provider. It is ideal for agents that need to read on-chain data (balances, reserves, prices, ownership) as part of a workflow, especially when the chain coverage (Ethereum, Base, Polygon, Arbitrum, Optimism, BSC, Avalanche, Gnosis, Linea, Scroll) or pay-per-call pricing model ($0.003/call via x402) is preferable to a subscription RPC service.

## Known failure modes

- Invalid contract address format returns validation error
- Malformed or misaligned calldata causes revert with EVM error message
- Unsupported chain name returns enum validation error
- Contract reverts on-chain return a revert reason or empty response
- Block number out of range or not yet finalized may return not-found error
- Payment failure (x402 protocol) prevents call execution
- Rate limiting or quota exhaustion returns 402 or 429 error

## How this service works

Simulate any read-only contract call — Genesis402 / UnyKorn Operator Network

## Output

Returns a JSON object with ok=true, a type field ('evm-call'), and a receipt object containing a tx_hash, amount_usd paid, and receipt_id, plus a generated_at ISO8601 timestamp. The actual return value from the simulated call would be decoded from the response payload.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "params": {
   "type": "object",
   "properties": {
    "to": {
     "type": "string",
     "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "data": {
     "type": "string",
     "pattern": "^0x[0-9a-fA-F]*$"
    },
    "from": {
     "type": "string",
     "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "block": {
     "type": "string"
    },
    "chain": {
     "enum": [
      "ethereum",
      "base",
      "polygon",
      "arbitrum",
      "optimism",
      "bsc",
      "avalanche",
      "gnosis",
      "linea",
      "scroll"
     ],
     "type": "string"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "type": "evm-call",
  "receipt": {
   "tx_hash": "0x<64hex>",
   "amount_usd": 0.25,
   "receipt_id": "g402-<16hex>"
  },
  "generated_at": "<iso8601>"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/evm-read-only-contract-call-simulator-776ef644/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from twin.unykorn.org](https://www.zero.xyz/host/twin.unykorn.org/llms.txt)
