Api Endpoint

EVM State Batch

Read-only EVM state API for wallet snapshots, ERC-20 balances, token allowances, contract code, block heights, and bounded eth_call reads across Ethereum, Base, Arbitrum, Optimism, and Polygon. Fixed price: $0.05 USDC on Base for a batch of up to 25 checks. Only submitted checks run. Results are provider-reported RPC data, not cryptographic proofs.

Open interactive test console

Offering

Provider
evmstate.com
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Blockchain And Crypto
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://evmstate.com/v1/state-batch
MIME type
Not provided
First seen
2026-10-16T01:50:38.788Z
Last seen
Tags
EVM, Wallet, multi-chain, Token, allowance

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.05 USDC
Atomic price: 50000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "50000",
    "payTo": "0xF33aEE5D3c11153BbF1cFb076d0793DE52F573e8"
  }
]

Observed health

Status
Healthy
Latest latency
110 ms
Average latency
469 ms
HTTP status
204
Last checked
Reachability
100% over 15 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "additionalProperties": false,
  "properties": {
    "body": {
      "properties": {
        "checks": {
          "description": "Only these checks run. Each check needs a unique id and supported chain. For a five-chain wallet snapshot, create one native_balance check for each supported chain using the same wallet address. The discovery example uses the valid all-zero address; replace it with the target wallet. Token and allowance checks need the token and spender targets already identified by the calling task.",
          "items": {
            "oneOf": [
              {
                "properties": {
                  "address": {
                    "pattern": "^0x[0-9a-fA-F]{40}$",
                    "type": "string"
                  },
                  "block": {
                    "pattern": "^0x[0-9a-fA-F]{1,64}$",
                    "type": "string"
                  },
                  "chain": {
                    "enum": [
                      "ethereum",
                      "base",
                      "arbitrum",
                      "optimism",
                      "polygon"
                    ],
                    "type": "string"
                  },
                  "id": {
                    "pattern": "^[a-zA-Z0-9_-]{1,64}$",
                    "type": "string"
                  },
                  "type": {
                    "const": "native_balance"
                  }
                },
                "required": [
                  "id",
                  "chain",
                  "type",
                  "address"
                ],
                "type": "object"
              },
              {
                "properties": {
                  "block": {
                    "pattern": "^0x[0-9a-fA-F]{1,64}$",
                    "type": "string"
                  },
                  "chain": {
                    "enum": [
                      "ethereum",
                      "base",
                      "arbitrum",
                      "optimism",
                      "polygon"
                    ],
                    "type": "string"
                  },
                  "id": {
                    "pattern": "^[a-zA-Z0-9_-]{1,64}$",
                    "type": "string"
                  },
                  "owner": {
                    "pattern": "^0x[0-9a-fA-F]{40}$",
                    "type": "string"
                  },
                  "token": {
                    "pattern": "^0x[0-9a-fA-F]{40}$",
                    "type": "string"
                  },
                  "type": {
                    "const": "erc20_balance"
                  }
                },
                "required": [
                  "id",
                  "chain",
                  "type",
                  "token",
                  "owner"
                ],
                "type": "object"
              },
              {
                "properties": {
                  "block": {
                    "pattern": "^0x[0-9a-fA-F]{1,64}$",
                    "type": "string"
                  },
                  "chain": {
                    "enum": [
                      "ethereum",
                      "base",
                      "arbitrum",
                      "optimism",
                      "polygon"
                    ],
                    "type": "string"
                  },
                  "id": {
                    "pattern": "^[a-zA-Z0-9_-]{1,64}$",
                    "type": "string"
                  },
                  "owner": {
                    "pattern": "^0x[0-9a-fA-F]{40}$",
                    "type": "string"
                  },
                  "spender": {
                    "pattern": "^0x[0-9a-fA-F]{40}$",
                    "type": "string"
                  },
                  "token": {
                    "pattern": "^0x[0-9a-fA-F]{40}$",
                    "type": "string"
                  },
                  "type": {
                    "const": "allowance"
                  }
                },
                "required": [
                  "id",
                  "chain",
                  "type",
                  "token",
                  "owner",
                  "spender"
                ],
                "type": "object"
              },
              {
                "properties": {
                  "address": {
                    "pattern": "^0x[0-9a-fA-F]{40}$",
                    "type": "string"
                  },
                  "block": {
                    "pattern": "^0x[0-9a-fA-F]{1,64}$",
                    "type": "string"
                  },
                  "chain": {
                    "enum": [
                      "ethereum",
                      "base",
                      "arbitrum",
                      "optimism",
                      "polygon"
                    ],
                    "type": "string"
                  },
                  "id": {
                    "pattern": "^[a-zA-Z0-9_-]{1,64}$",
                    "type": "string"
                  },
                  "type": {
                    "const": "contract_code"
                  }
                },
                "required": [
                  "id",
                  "chain",
                  "type",
                  "address"
                ],
                "type": "object"
              },
              {
                "properties": {
                  "chain": {
                    "enum": [
                      "ethereum",
                      "base",
                      "arbitrum",
                      "optimism",
                      "polygon"
                    ],
                    "type": "string"
                  },
                  "id": {
                    "pattern": "^[a-zA-Z0-9_-]{1,64}$",
                    "type": "string"
                  },
                  "type": {
                    "const": "block_number"
                  }
                },
                "required": [
                  "id",
                  "chain",
                  "type"
                ],
                "type": "object"
              },
              {
                "properties": {
                  "block": {
                    "pattern": "^0x[0-9a-fA-F]{1,64}$",
                    "type": "string"
                  },
                  "chain": {
                    "enum": [
                      "ethereum",
                      "base",
                      "arbitrum",
                      "optimism",
                      "polygon"
                    ],
                    "type": "string"
                  },
                  "data": {
                    "maxLength": 8194,
                    "pattern": "^0x(?:[0-9a-fA-F]{2})*$",
                    "type": "string"
                  },
                  "id": {
                    "pattern": "^[a-zA-Z0-9_-]{1,64}$",
                    "type": "string"
                  },
                  "to": {
                    "pattern": "^0x[0-9a-fA-F]{40}$",
                    "type": "string"
                  },
                  "type": {
                    "const": "eth_call"
                  }
                },
                "required": [
                  "id",
                  "chain",
                  "type",
                  "to",
                  "data"
                ],
                "type": "object"
              }
            ]
          },
          "maxItems": 25,
          "minItems": 1,
          "type": "array"
        },
        "requestId": {
          "description": "Generate a fresh UUIDv4 for each new request and retain it to recover the exact paid result. The Bazaar example UUID is illustrative; replace it before calling.",
          "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
          "type": "string"
        }
      },
      "required": [
        "requestId",
        "checks"
      ],
      "type": "object"
    },
    "bodyType": {
      "enum": [
        "json",
        "form-data",
        "text"
      ],
      "type": "string"
    },
    "method": {
      "enum": [
        "POST"
      ],
      "type": "string"
    },
    "type": {
      "const": "http",
      "type": "string"
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "example": {
      "description": "Illustrative five-chain snapshot response. The Ethereum example uses 1 ETH to show raw wei alongside its readable amount; other balances are zero. All addresses, heights, and values are examples, not live wallet data.",
      "properties": {
        "expiresAt": {
          "type": "string"
        },
        "recoveryUrl": {
          "type": "string"
        },
        "requestChecks": {
          "description": "The normalized submitted checks, retained separately from result echoes so a recovered receipt can verify its wallet and contract targets.",
          "items": {
            "type": "object"
          },
          "type": "array"
        },
        "requestId": {
          "type": "string"
        },
        "results": {
          "items": {
            "properties": {
              "blockNumber": {
                "type": "string"
              },
              "blockNumberDecimal": {
                "type": "string"
              },
              "chain": {
                "type": "string"
              },
              "check": {
                "description": "The exact normalized check targets that produced this result.",
                "type": "object"
              },
              "id": {
                "type": "string"
              },
              "interpretation": {
                "description": "Optional readable native/token amounts. ERC-20 symbol/decimals come from token contract metadata and are unverified; raw value remains authoritative.",
                "type": "object"
              },
              "type": {
                "type": "string"
              },
              "value": {}
            },
            "required": [
              "id",
              "chain",
              "type",
              "check",
              "blockNumber",
              "value"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "snapshotBlocks": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "snapshotBlocksDecimal": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "verification": {
          "type": "string"
        }
      },
      "required": [
        "requestId",
        "requestChecks",
        "results",
        "snapshotBlocks",
        "verification",
        "recoveryUrl",
        "expiresAt"
      ],
      "type": "object"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "type"
  ],
  "type": "object"
}