openapi: 3.0.3 info: title: Chainstack Polygon zkEVM Node API version: 1.0.0 description: Chainstack-managed RPC node API for the Polygon zkEVM blockchain. Endpoints follow the canonical JSON-RPC over HTTPS interface for the network. Authenticate against your Chainstack node's per-node URL (e.g. https://nd-XXX-XXX-XXX.p2pify.com/). Merged from the Chainstack Developer Portal per-method fragments at https://github.com/chainstack/dev-portal/tree/main/openapi/polygon_zkevm_node_api. contact: name: Chainstack API Support email: support@chainstack.com license: name: Chainstack Terms url: https://chainstack.com/terms-of-service/ servers: - url: https://{node_id}.p2pify.com/{api_key} description: Chainstack-managed node endpoint variables: node_id: default: nd-000-000-000 description: Your Chainstack node identifier api_key: default: description: Per-node access key tags: - name: General - name: Zkevm Methods paths: /eth_blockNumber: post: tags: - General summary: eth_blockNumber operationId: eth_blockNumber requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: eth_blockNumber params: type: array default: [] responses: '200': description: The latest block number. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: object /eth_call: post: tags: - General summary: Eth_Call operationId: ethCall requestBody: required: true content: application/json: schema: type: object properties: jsonrpc: type: string default: '2.0' method: type: string default: eth_call id: type: integer default: 1 params: type: array items: type: object title: Call object properties: to: type: string description: The address of the contract to call. data: type: string description: The data to send with the call. default: - to: '0x4F9A0e7FD2Bf6067db6994CF12E4495Df938E6e9' data: '0x18160ddd' - latest responses: '200': description: The result of the call. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: string /eth_chainId: post: tags: - General summary: eth_chainId operationId: getChainId requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: eth_chainId params: type: array default: [] responses: '200': description: The network Chain ID content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: string /eth_estimateGas: post: tags: - General summary: eth_estimateGas operationId: estimateGas requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: eth_estimateGas params: type: array items: type: object properties: from: type: string format: byte to: type: string format: byte default: - from: '0xb218C5D6aF1F979aC42BC68d98A5A0D796C6aB01' to: '0x2A39319dB98A3982F7C363380b72C66Ab1FFe228' - latest responses: '200': description: The estimated gas amount content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: string format: byte /eth_gasPrice: post: tags: - General summary: eth_gasPrice operationId: getGasPrice requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: eth_gasPrice params: type: array default: [] responses: '200': description: The value of the current gas base fee in Wei. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: string /eth_getBalance: post: tags: - General summary: eth_getBalance operationId: getBalance requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: eth_getBalance params: type: array items: anyOf: - type: string title: Address description: The address identifier. - type: string title: Block identifier description: The block identifier. default: - '0x3eb6347f6282E78F778C23c97E8657F5EE5378E0' - pending responses: '200': description: The account balance. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: object /eth_getBlockByHash: post: tags: - General summary: eth_getBlockByHash operationId: getBlockByHash requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: eth_getBlockByHash params: type: array items: anyOf: - type: string title: Block Hash description: The hash identifying the block. - type: boolean title: Transaction selector description: True for the full transactions, false for only the transaction hashes. default: - '0x2b10ad54fb64a69f0cf0395eda2b97d6dfb853a184a31cb6da53d5a360789331' - true responses: '200': description: The block information content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: object /eth_getBlockByNumber: post: tags: - General summary: eth_getBlockByNumber operationId: getBlockByNumber requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: eth_getBlockByNumber params: type: array items: anyOf: - type: string title: Block identifier description: The block number or tag. - type: boolean title: Transaction selector description: True for the full transactions, false for only the transaction hashes. default: - latest - false responses: '200': description: The block information content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: object /eth_getBlockTransactionCountByHash: post: tags: - General summary: eth_getBlockTransactionCountByHash operationId: getBlockTransactionCountByHash requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: eth_getBlockTransactionCountByHash params: type: array items: type: string title: Block hash description: The block hash identifier. default: - '0x2b10ad54fb64a69f0cf0395eda2b97d6dfb853a184a31cb6da53d5a360789331' responses: '200': description: The block information content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: string /eth_getBlockTransactionCountByNumber: post: tags: - General summary: eth_getBlockTransactionCountByNumber operationId: getBlockTransactionCountByNumber requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: eth_getBlockTransactionCountByNumber params: type: array items: type: string title: Block identifier description: The block number or tag. default: - latest responses: '200': description: The block transaction count information content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: string /eth_getCode: post: tags: - General summary: eth_getCode operationId: getCode requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: eth_getCode params: type: array items: anyOf: - type: string title: Smart contract address description: The address identifier. - type: string title: Block identifier description: The block identifier. default: - '0x4F9A0e7FD2Bf6067db6994CF12E4495Df938E6e9' - latest responses: '200': description: The smart contract code. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: object /eth_getFilterChanges: post: summary: eth_getFilterChanges operationId: getFilterChanges requestBody: required: true content: application/json: schema: type: object properties: jsonrpc: type: string default: '2.0' method: type: string default: eth_getFilterChanges params: type: array items: type: string title: The filter ID default: - '0xbdc5b4b99ca699e1d734fc4202afee79' id: type: integer default: 1 responses: '200': description: The filter changes. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: array items: type: string tags: - General /eth_getLogs: post: tags: - General summary: eth_getLogs operationId: getLogs requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: eth_getLogs params: type: array items: type: object properties: fromBlock: type: string title: from block description: The block number or tag to start searching for logs from. default: latest address: type: string title: smart contract address description: The contract address to retrieve the logs for. topics: type: array title: topics items: type: string description: An array of 32-byte topics to filter for. Each topic is treated as an OR condition. default: - fromBlock: latest address: '0x4F9A0e7FD2Bf6067db6994CF12E4495Df938E6e9' topics: - '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef' id: type: integer default: 1 jsonrpc: type: string default: '2.0' responses: '200': description: An array of log objects matching the specified filter. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: array items: type: object /eth_getStorageAt: post: tags: - General summary: eth_getStorageAt operationId: getStorageAt requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: eth_getStorageAt params: type: array items: anyOf: - type: string title: Smart contract address description: The address of the contract to query. - type: string title: Slot index description: The index of the storage position to query. - type: string title: Block ID description: The block number or tag to use as a reference. default: - '0x4F9A0e7FD2Bf6067db6994CF12E4495Df938E6e9' - '0x0' - latest id: type: integer default: 1 jsonrpc: type: string default: '2.0' responses: '200': description: The value stored at the specified position. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: string /eth_getTransactionByBlockHashAndIndex: post: tags: - General summary: eth_getTransactionByBlockHashAndIndex operationId: getTransactionByBlockHashAndIndex requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: eth_getTransactionByBlockHashAndIndex params: type: array items: anyOf: - type: string title: Block hash - type: string title: Transaction index default: - '0x903ed68911726435b5c48c46ffafaecd83ce2782ec9e0e34b9c5ab44ad9eb170' - '0x0' responses: '200': description: The transaction information content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: object /eth_getTransactionByBlockNumberAndIndex: post: tags: - General summary: eth_getTransactionByBlockNumberAndIndex operationId: getTransactionByBlockNumberAndIndex requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: eth_getTransactionByBlockNumberAndIndex params: type: array items: anyOf: - type: string title: Block number - type: string title: Transaction index default: - '0xacea6f' - '0x0' responses: '200': description: The transaction information content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: object /eth_getTransactionByHash: post: tags: - General summary: eth_getTransactionByHash operationId: getTransactionByHash requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: eth_getTransactionByHash params: type: array items: type: string title: Transaction hash default: - '0x0171f86491724ccacd10e67f358a240c026c60b0d48305c2c8f7ff59b5831aeb' responses: '200': description: The transaction information content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: object /eth_getTransactionCount: post: tags: - General summary: eth_getTransactionCount operationId: getTransactionCount requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: eth_getTransactionCount params: type: array items: anyOf: - type: string title: Address description: The address to check - type: string title: Block identifier description: The block identifier default: - '0x7BF729D443da412C001862a577fdC5B6EB6a4127' - latest responses: '200': description: The address nonce content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: object /eth_getTransactionReceipt: post: tags: - General summary: eth_getTransactionReceipt operationId: getTransactionReceipt requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: eth_getTransactionReceipt params: type: array items: type: string title: Transaction hash default: - '0x0171f86491724ccacd10e67f358a240c026c60b0d48305c2c8f7ff59b5831aeb' responses: '200': description: The transaction receipt content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: object /eth_newBlockFilter: post: summary: eth_newBlockFilter operationId: newBlockFilter requestBody: required: true content: application/json: schema: type: object properties: jsonrpc: type: string default: '2.0' method: type: string default: eth_newBlockFilter params: type: array default: [] id: type: integer default: 1 responses: '200': description: The new filter ID. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: array items: type: string tags: - General /eth_newFilter: post: tags: - General summary: eth_newFilter operationId: newFilter requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: eth_newFilter params: type: array items: type: object properties: fromBlock: type: string title: from block description: The block number or tag to start searching for logs from. default: latest address: type: string title: smart contract address description: The contract address to retrieve the logs for. topics: type: array title: topics items: type: string description: An array of 32-byte topics to filter for. Each topic is treated as an OR condition. default: - fromBlock: latest address: '0x4F9A0e7FD2Bf6067db6994CF12E4495Df938E6e9' topics: - '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef' id: type: integer default: 1 jsonrpc: type: string default: '2.0' responses: '200': description: The filter ID. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: string /eth_newPendingTransactionFilter: post: summary: eth_newPendingTransactionFilter operationId: newPendingTransactionFilter requestBody: required: true content: application/json: schema: type: object properties: jsonrpc: type: string default: '2.0' method: type: string default: eth_newPendingTransactionFilter params: type: array default: [] id: type: integer default: 1 responses: '200': description: The new filter ID. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: array items: type: string tags: - General /eth_sendRawTransaction: post: tags: - General summary: eth_sendRawTransaction operationId: sendRawTransaction requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: eth_sendRawTransaction params: type: array items: anyOf: - type: string description: The signed transaction. default: - '0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675' responses: '200': description: The transaction hash. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: object /eth_syncing: post: tags: - General summary: Eth_Syncing operationId: syncing requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: eth_syncing params: type: array default: [] responses: '200': description: Syncing information content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: object /eth_uninstallFilter: post: summary: eth_uninstallFilter operationId: uninstallFilter requestBody: required: true content: application/json: schema: type: object properties: jsonrpc: type: string default: '2.0' method: type: string default: eth_uninstallFilter params: type: array items: type: string title: Filter ID default: - '0xbdc5b4b99ca699e1d734fc4202afee79' id: type: integer default: 1 responses: '200': description: Boolean value indicating if the filter was removed or not. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: boolean tags: - General /web3_clientVersion: post: tags: - General summary: web3_clientVersion operationId: clientVersion requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: web3_clientVersion params: type: array default: [] responses: '200': description: The client running on this node. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: string /zkevm_batchNumber: post: tags: - Zkevm Methods summary: zkevm_batchNumber operationId: zkevm_batchNumber requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: zkevm_batchNumber params: type: array default: [] responses: '200': description: Returns the current batch number. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: object /zkevm_batchNumberByBlockNumber: post: tags: - Zkevm Methods summary: zkevm_batchNumberByBlockNumber operationId: zkevm_batchNumberByBlockNumber requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: zkevm_batchNumberByBlockNumber params: type: array items: type: string default: - '0xD65B' responses: '200': description: Returns the batch number associated with the given block number. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: object /zkevm_consolidatedBlockNumber: post: tags: - Zkevm Methods summary: zkevm_consolidatedBlockNumber operationId: zkevm_consolidatedBlockNumber requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: zkevm_consolidatedBlockNumber params: type: array default: [] responses: '200': description: The latest consolidated block number. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: object /zkevm_getBatchByNumber: post: tags: - Zkevm Methods summary: zkevm_getBatchByNumber operationId: zkevm_getBatchByNumber requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: zkevm_getBatchByNumber params: type: array items: type: string default: - '0x1FC0' responses: '200': description: Returns information about a specific batch of transactions based on the batch number. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: object /zkevm_isBlockConsolidated: post: tags: - Zkevm Methods summary: zkevm_isBlockConsolidated operationId: zkevm_isBlockConsolidated requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: zkevm_isBlockConsolidated params: type: array items: type: string default: - '0xd29e' responses: '200': description: Checks if the given block is consolidated. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: object /zkevm_isBlockVirtualized: post: tags: - Zkevm Methods summary: zkevm_isBlockVirtualized operationId: zkevm_isBlockVirtualized requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: zkevm_isBlockVirtualized params: type: array items: type: string default: - '130000' responses: '200': description: Checks if the given block is virtualized. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: object /zkevm_verifiedBatchNumber: post: tags: - Zkevm Methods summary: zkevm_verifiedBatchNumber operationId: zkevm_verifiedBatchNumber requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: zkevm_verifiedBatchNumber params: type: array default: [] responses: '200': description: Returns the current verified batch number. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: object /zkevm_virtualBatchNumber: post: tags: - Zkevm Methods summary: zkevm_virtualBatchNumber operationId: zkevm_virtualBatchNumber requestBody: required: true content: application/json: schema: type: object properties: id: type: integer default: 1 jsonrpc: type: string default: '2.0' method: type: string default: zkevm_virtualBatchNumber params: type: array default: [] responses: '200': description: Returns the current virtual batch number. content: application/json: schema: type: object properties: jsonrpc: type: string id: type: integer result: type: object