{
  "openapi": "3.0.0",
  "info": {
    "title": "Abstract JSON-RPC API",
    "description": "JSON-RPC API documentation for Abstract blockchain",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://api.mainnet.abs.xyz",
      "description": "Abstract Mainnet"
    }
  ],
  "tags": [
    {
      "name": "Overview",
      "description": "Overview of the Abstract JSON-RPC API"
    },
    {
      "name": "Ethereum API",
      "description": "Standard Ethereum JSON-RPC methods"
    },
    {
      "name": "ZKSync API",
      "description": "ZKSync-specific JSON-RPC methods"
    }
  ],
  "paths": {
    "/": {
      "post": {
        "tags": ["Overview"],
        "summary": "Abstract JSON-RPC API",
        "description": "Single endpoint that accepts all JSON-RPC method calls",
        "operationId": "jsonrpc",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_chainId"],
                        "description": "Gets the current chain ID"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Parameters (empty for this method)",
                        "default": []
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id", "params"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_call"],
                        "description": "Executes a new message call immediately without creating a transaction"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Call parameters",
                        "default": [
                          {
                            "to": "0xc94770007dda54cF92009BFF0dE90c06F603a09f"
                          },
                          "latest"
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id", "params"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_estimateGas"],
                        "description": "Estimates the amount of gas needed to execute a call"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Parameters for gas estimation",
                        "default": [
                          {
                            "to": "0xc94770007dda54cF92009BFF0dE90c06F603a09f",
                            "data": "0x"
                          }
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_gasPrice"],
                        "description": "Returns the current gas price in wei"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "No parameters",
                        "default": []
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id", "params"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_newFilter"],
                        "description": "Creates a filter object to notify when the state changes"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Filter options",
                        "default": [
                          {
                            "topics": [
                              "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
                            ]
                          }
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_newBlockFilter"],
                        "description": "Creates a filter to notify when a new block arrives"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "No parameters",
                        "default": []
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id", "params"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_uninstallFilter"],
                        "description": "Uninstalls a filter with the given ID"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Filter ID",
                        "default": [
                          "0xb415d4b0e6ca750802be8c84c99a68170deeb9ed09c4e2eb0dc5299ab715e978"
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_newPendingTransactionFilter"],
                        "description": "Creates a filter to notify when new pending transactions arrive"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "No parameters",
                        "default": []
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id", "params"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_getLogs"],
                        "description": "Returns logs matching the filter criteria"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Filter options",
                        "default": [
                          {
                            "fromBlock": "0x1",
                            "toBlock": "0x2",
                            "address": "0x8320fe7702b96808f7bbc0d4a888ed1468216cfd",
                            "topics": [
                              "0xd78a0cb8bb633d06981248b816e7bd33c2a35a6089241d099fa519e361cab902"
                            ]
                          }
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id", "params"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_getFilterLogs"],
                        "description": "Returns logs for the specified filter"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Filter ID",
                        "default": [
                          "0xb415d4b0e6ca750802be8c84c99a68170deeb9ed09c4e2eb0dc5299ab715e978"
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id", "params"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_getFilterChanges"],
                        "description": "Returns filter changes since last poll"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Filter ID",
                        "default": [
                          "0xb415d4b0e6ca750802be8c84c99a68170deeb9ed09c4e2eb0dc5299ab715e978"
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id", "params"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_getBalance"],
                        "description": "Returns the balance of the given address"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Address and block parameter",
                        "default": [
                          "0x8fe5810cd78eb8d8b9abad8527dfc1265bee6c56",
                          "latest"
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id", "params"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_getBlockByNumber"],
                        "description": "Returns information about a block by number"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Block number and transaction details flag",
                        "default": ["0x1b4", false]
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id", "params"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_getBlockByHash"],
                        "description": "Returns information about a block by hash"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Block hash and transaction details flag",
                        "default": [
                          "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae",
                          false
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id", "params"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_getBlockTransactionCountByNumber"],
                        "description": "Returns the number of transactions in a block by block number"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Block number",
                        "default": ["0x1b4"]
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id", "params"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_getBlockReceipts"],
                        "description": "Returns all transaction receipts for a given block"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Block parameter (number or hash)",
                        "default": ["0x1b4"]
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id", "params"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_getBlockTransactionCountByHash"],
                        "description": "Returns the number of transactions in a block by block hash"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Block hash",
                        "default": [
                          "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae"
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id", "params"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_getCode"],
                        "description": "Returns the code stored at the given address"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Address and block parameter",
                        "default": [
                          "0x8fe5810cd78eb8d8b9abad8527dfc1265bee6c56",
                          "latest"
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id", "params"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_getStorageAt"],
                        "description": "Returns the value from a storage position at a given address"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Address, storage position, and block parameter",
                        "default": [
                          "0x8fe5810cd78eb8d8b9abad8527dfc1265bee6c56",
                          "0x0",
                          "latest"
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id", "params"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_getTransactionCount"],
                        "description": "Returns the number of transactions sent from an address"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Address and block parameter",
                        "default": [
                          "0x8fe5810cd78eb8d8b9abad8527dfc1265bee6c56",
                          "latest"
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id", "params"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_getTransactionByHash"],
                        "description": "Returns information about a transaction by hash"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Transaction hash",
                        "default": [
                          "0xef395f7a595f28e833583c50c2e1949a15516a2e0f346b8891024ecf8ca825ec"
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id", "params"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_getTransactionByBlockHashAndIndex"],
                        "description": "Returns information about a transaction by block hash and index"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Block hash and transaction index",
                        "default": [
                          "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae",
                          "0x0"
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id", "params"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_getTransactionReceipt"],
                        "description": "Returns the receipt of a transaction by hash"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Transaction hash",
                        "default": [
                          "0x5e98cafbdbb08e77c77a942314c7dd45a6f0ba4ffcc4428303bf814e1a1645a9"
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_protocolVersion"],
                        "description": "Returns the current Ethereum protocol version"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "No parameters",
                        "default": []
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id", "params"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_sendRawTransaction"],
                        "description": "Submits a pre-signed transaction for broadcast"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Signed transaction data",
                        "default": [
                          "0xf86c808504a817c80082520894095e7baea6a6c7c4c2dfeb977efac326af552d870a8e8..."
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_accounts"],
                        "description": "Returns a list of addresses owned by the client"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "No parameters",
                        "default": []
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id", "params"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["eth_feeHistory"],
                        "description": "Returns fee data for historical blocks"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "Block count, latest block, and reward percentiles",
                        "default": ["10", "0x3039", [25.0, 50.0, 75.0]]
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": ["jsonrpc", "method", "id"],
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0",
                        "description": "JSON-RPC version"
                      },
                      "method": {
                        "type": "string",
                        "enum": ["web3_clientVersion"],
                        "description": "Returns the current client version"
                      },
                      "params": {
                        "type": "array",
                        "items": {},
                        "description": "No parameters",
                        "default": []
                      },
                      "id": {
                        "type": "integer",
                        "default": 1,
                        "description": "Request identifier"
                      }
                    }
                  }
                ]
              },
              "examples": {
                "eth_chainId": {
                  "value": {
                    "jsonrpc": "2.0",
                    "id": 1,
                    "method": "eth_chainId",
                    "params": []
                  }
                },
                "eth_call": {
                  "value": {
                    "jsonrpc": "2.0",
                    "id": 1,
                    "method": "eth_call",
                    "params": [
                      {
                        "to": "0xc94770007dda54cF92009BFF0dE90c06F603a09f"
                      },
                      "latest"
                    ]
                  }
                },
                "eth_estimateGas": {
                  "value": {
                    "jsonrpc": "2.0",
                    "id": 1,
                    "method": "eth_estimateGas",
                    "params": [
                      {
                        "to": "0xc94770007dda54cF92009BFF0dE90c06F603a09f",
                        "data": "0x"
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "method",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "eth_chainId",
                "eth_call",
                "eth_estimateGas",
                "eth_gasPrice",
                "eth_newFilter",
                "eth_newBlockFilter",
                "eth_uninstallFilter",
                "eth_newPendingTransactionFilter",
                "eth_getLogs",
                "eth_getFilterLogs",
                "eth_getFilterChanges",
                "eth_getBalance",
                "eth_getBlockByNumber",
                "eth_getBlockByHash",
                "eth_getBlockTransactionCountByNumber",
                "eth_getBlockReceipts",
                "eth_getBlockTransactionCountByHash",
                "eth_getCode",
                "eth_getStorageAt",
                "eth_getTransactionCount",
                "eth_getTransactionByHash",
                "eth_getTransactionByBlockHashAndIndex",
                "eth_getTransactionReceipt",
                "eth_protocolVersion",
                "eth_sendRawTransaction",
                "eth_accounts",
                "eth_feeHistory",
                "web3_clientVersion"
              ]
            },
            "description": "The JSON-RPC method to call",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "properties": {
                        "jsonrpc": {
                          "type": "string",
                          "example": "2.0"
                        },
                        "id": {
                          "type": "integer",
                          "example": 1
                        },
                        "result": {
                          "type": "string",
                          "description": "Response for eth_chainId",
                          "example": "0x144"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "jsonrpc": {
                          "type": "string",
                          "example": "2.0"
                        },
                        "id": {
                          "type": "integer",
                          "example": 1
                        },
                        "result": {
                          "type": "string",
                          "description": "Response for eth_call",
                          "example": "0x"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "jsonrpc": {
                          "type": "string",
                          "example": "2.0"
                        },
                        "id": {
                          "type": "integer",
                          "example": 1
                        },
                        "result": {
                          "type": "string",
                          "description": "Response for eth_estimateGas",
                          "example": "0x5cec"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "jsonrpc": {
                          "type": "string",
                          "example": "2.0"
                        },
                        "id": {
                          "type": "integer",
                          "example": 1
                        },
                        "result": {
                          "type": "string",
                          "description": "Response for eth_gasPrice",
                          "example": "0x17d7840"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "jsonrpc": {
                          "type": "string",
                          "example": "2.0"
                        },
                        "id": {
                          "type": "integer",
                          "example": 1
                        },
                        "error": {
                          "type": "object",
                          "properties": {
                            "code": {
                              "type": "integer"
                            },
                            "message": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  ]
                },
                "examples": {
                  "eth_chainId": {
                    "value": {
                      "jsonrpc": "2.0",
                      "result": "0x144",
                      "id": 1
                    }
                  },
                  "eth_call": {
                    "value": {
                      "jsonrpc": "2.0",
                      "result": "0x",
                      "id": 1
                    }
                  },
                  "eth_estimateGas": {
                    "value": {
                      "jsonrpc": "2.0",
                      "id": 1,
                      "result": "0x5cec"
                    }
                  },
                  "eth_gasPrice": {
                    "value": {
                      "jsonrpc": "2.0",
                      "result": "0x17d7840",
                      "id": 1
                    }
                  },
                  "error": {
                    "value": {
                      "jsonrpc": "2.0",
                      "id": 1,
                      "error": {
                        "code": -32602,
                        "message": "Invalid params"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/eth_chainId": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_chainId",
        "description": "Gets the current chain ID",
        "operationId": "eth_chainId",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_chainId",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Parameters (empty for this method)",
                    "default": []
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_chainId",
                "params": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the chain ID in hexadecimal format",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "string",
                      "description": "Hexadecimal representation of the current blockchain network's chain ID",
                      "example": "0x144"
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": "0x144",
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/eth_call": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_call",
        "description": "Executes a new message call immediately without creating a transaction on the blockchain",
        "operationId": "eth_call",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_call",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Call parameters",
                    "default": [
                      {
                        "to": "0xc94770007dda54cF92009BFF0dE90c06F603a09f"
                      },
                      "latest"
                    ]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_call",
                "params": [
                  {
                    "to": "0xc94770007dda54cF92009BFF0dE90c06F603a09f"
                  },
                  "latest"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the result of the contract execution",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "string",
                      "description": "The return value of the executed contract method",
                      "example": "0x"
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": "0x",
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/eth_estimateGas": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_estimateGas",
        "description": "Estimates the amount of gas needed to execute a call",
        "operationId": "eth_estimateGas",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_estimateGas",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Parameters for gas estimation",
                    "default": [
                      {
                        "to": "0xc94770007dda54cF92009BFF0dE90c06F603a09f",
                        "data": "0x"
                      }
                    ]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_estimateGas",
                "params": [
                  {
                    "to": "0xc94770007dda54cF92009BFF0dE90c06F603a09f",
                    "data": "0x"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the estimated gas amount",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "string",
                      "description": "The estimated amount of gas needed",
                      "example": "0x5cec"
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "id": 1,
                  "result": "0x5cec"
                }
              }
            }
          }
        }
      }
    },
    "/eth_gasPrice": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_gasPrice",
        "description": "Returns the current gas price in wei",
        "operationId": "eth_gasPrice",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_gasPrice",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "No parameters",
                    "default": []
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_gasPrice",
                "params": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the current gas price",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "string",
                      "description": "The current gas price in wei",
                      "example": "0x17d7840"
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": "0x17d7840",
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/eth_newFilter": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_newFilter",
        "description": "Creates a filter object to notify when the state changes",
        "operationId": "eth_newFilter",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_newFilter",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Filter options",
                    "default": [
                      {
                        "topics": [
                          "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
                        ]
                      }
                    ]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_newFilter",
                "params": [
                  {
                    "topics": [
                      "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the filter ID",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "string",
                      "description": "The filter ID",
                      "example": "0xb415d4b0e6ca750802be8c84c99a68170deeb9ed09c4e2eb0dc5299ab715e978"
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": "0xb415d4b0e6ca750802be8c84c99a68170deeb9ed09c4e2eb0dc5299ab715e978",
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/eth_newBlockFilter": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_newBlockFilter",
        "description": "Creates a filter to notify when a new block arrives",
        "operationId": "eth_newBlockFilter",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_newBlockFilter",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "No parameters",
                    "default": []
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_newBlockFilter",
                "params": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the filter ID",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "string",
                      "description": "The filter ID",
                      "example": "0xb415d4b0e6ca750802be8c84c99a68170deeb9ed09c4e2eb0dc5299ab715e978"
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": "0xb415d4b0e6ca750802be8c84c99a68170deeb9ed09c4e2eb0dc5299ab715e978",
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/eth_uninstallFilter": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_uninstallFilter",
        "description": "Uninstalls a filter with the given ID",
        "operationId": "eth_uninstallFilter",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_uninstallFilter",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Filter ID",
                    "default": [
                      "0xb415d4b0e6ca750802be8c84c99a68170deeb9ed09c4e2eb0dc5299ab715e978"
                    ]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_uninstallFilter",
                "params": [
                  "0xb415d4b0e6ca750802be8c84c99a68170deeb9ed09c4e2eb0dc5299ab715e978"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns whether the filter was uninstalled",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "boolean",
                      "description": "True if the filter was uninstalled",
                      "example": true
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": true,
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/eth_newPendingTransactionFilter": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_newPendingTransactionFilter",
        "description": "Creates a filter to notify when new pending transactions arrive",
        "operationId": "eth_newPendingTransactionFilter",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_newPendingTransactionFilter",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "No parameters",
                    "default": []
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_newPendingTransactionFilter",
                "params": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the filter ID",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "string",
                      "description": "The filter ID",
                      "example": "0xb415d4b0e6ca750802be8c84c99a68170deeb9ed09c4e2eb0dc5299ab715e978"
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": "0xb415d4b0e6ca750802be8c84c99a68170deeb9ed09c4e2eb0dc5299ab715e978",
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/eth_getLogs": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_getLogs",
        "description": "Returns logs matching the filter criteria",
        "operationId": "eth_getLogs",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_getLogs",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Filter options",
                    "default": [
                      {
                        "fromBlock": "0x1",
                        "toBlock": "0x2",
                        "address": "0x8320fe7702b96808f7bbc0d4a888ed1468216cfd",
                        "topics": [
                          "0xd78a0cb8bb633d06981248b816e7bd33c2a35a6089241d099fa519e361cab902"
                        ]
                      }
                    ]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_getLogs",
                "params": [
                  {
                    "fromBlock": "0x1",
                    "toBlock": "0x2",
                    "address": "0x8320fe7702b96808f7bbc0d4a888ed1468216cfd",
                    "topics": [
                      "0xd78a0cb8bb633d06981248b816e7bd33c2a35a6089241d099fa519e361cab902"
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the matching logs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "array",
                      "description": "Array of log objects",
                      "items": {
                        "type": "object",
                        "properties": {
                          "address": {
                            "type": "string",
                            "example": "0x8320fe7702b96808f7bbc0d4a888ed1468216cfd"
                          },
                          "topics": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "example": [
                              "0xd78a0cb8bb633d06981248b816e7bd33c2a35a6089241d099fa519e361cab902"
                            ]
                          },
                          "data": {
                            "type": "string",
                            "example": "0x0000000000000000000000000000000000000000000000000000000000000001"
                          },
                          "blockNumber": {
                            "type": "string",
                            "example": "0x1"
                          },
                          "logIndex": {
                            "type": "string",
                            "example": "0x0"
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "id": 1,
                  "result": [
                    {
                      "address": "0x8320fe7702b96808f7bbc0d4a888ed1468216cfd",
                      "topics": [
                        "0xd78a0cb8bb633d06981248b816e7bd33c2a35a6089241d099fa519e361cab902"
                      ],
                      "data": "0x0000000000000000000000000000000000000000000000000000000000000001",
                      "blockNumber": "0x1",
                      "logIndex": "0x0"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/eth_getFilterLogs": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_getFilterLogs",
        "description": "Returns logs for the specified filter",
        "operationId": "eth_getFilterLogs",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_getFilterLogs",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Filter ID",
                    "default": [
                      "0xb415d4b0e6ca750802be8c84c99a68170deeb9ed09c4e2eb0dc5299ab715e978"
                    ]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_getFilterLogs",
                "params": [
                  "0xb415d4b0e6ca750802be8c84c99a68170deeb9ed09c4e2eb0dc5299ab715e978"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the logs for the filter",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "array",
                      "description": "Array of log objects",
                      "items": {
                        "type": "object",
                        "properties": {
                          "address": {
                            "type": "string",
                            "example": "0x8320fe7702b96808f7bbc0d4a888ed1468216cfd"
                          },
                          "topics": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "example": [
                              "0xd78a0cb8bb633d06981248b816e7bd33c2a35a6089241d099fa519e361cab902"
                            ]
                          },
                          "data": {
                            "type": "string",
                            "example": "0x0000000000000000000000000000000000000000000000000000000000000001"
                          },
                          "blockNumber": {
                            "type": "string",
                            "example": "0x1"
                          },
                          "logIndex": {
                            "type": "string",
                            "example": "0x0"
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "id": 1,
                  "result": [
                    {
                      "address": "0x8320fe7702b96808f7bbc0d4a888ed1468216cfd",
                      "topics": [
                        "0xd78a0cb8bb633d06981248b816e7bd33c2a35a6089241d099fa519e361cab902"
                      ],
                      "data": "0x0000000000000000000000000000000000000000000000000000000000000001",
                      "blockNumber": "0x1",
                      "logIndex": "0x0"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/eth_getFilterChanges": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_getFilterChanges",
        "description": "Returns filter changes since last poll",
        "operationId": "eth_getFilterChanges",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_getFilterChanges",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Filter ID",
                    "default": [
                      "0xb415d4b0e6ca750802be8c84c99a68170deeb9ed09c4e2eb0dc5299ab715e978"
                    ]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_getFilterChanges",
                "params": [
                  "0xb415d4b0e6ca750802be8c84c99a68170deeb9ed09c4e2eb0dc5299ab715e978"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the filter changes",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "array",
                      "description": "Array of log objects or block hashes",
                      "items": {
                        "type": "string"
                      },
                      "example": [
                        "0x7d41f9c59bbb29e583acd91c897f6db64b0cbf7b2102b4edf9cf7c69e901b24e",
                        "0x183082354c667d6261e05606e59745ef43b527545cd0cfa7a0ea1bb3e46cdb87"
                      ]
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "id": 1,
                  "result": [
                    "0x7d41f9c59bbb29e583acd91c897f6db64b0cbf7b2102b4edf9cf7c69e901b24e",
                    "0x183082354c667d6261e05606e59745ef43b527545cd0cfa7a0ea1bb3e46cdb87"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/eth_getBalance": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_getBalance",
        "description": "Returns the balance of the given address",
        "operationId": "eth_getBalance",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_getBalance",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Address and block parameter",
                    "default": [
                      "0x8fe5810cd78eb8d8b9abad8527dfc1265bee6c56",
                      "latest"
                    ]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_getBalance",
                "params": [
                  "0x8fe5810cd78eb8d8b9abad8527dfc1265bee6c56",
                  "latest"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the account balance",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "string",
                      "description": "The current balance in wei",
                      "example": "0x4563918244f40000"
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": "0x4563918244f40000",
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/web3_clientVersion": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "web3_clientVersion",
        "description": "Returns the current client version",
        "operationId": "web3_clientVersion",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "web3_clientVersion",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "No parameters",
                    "default": []
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "web3_clientVersion",
                "params": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns client version information",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "string",
                      "description": "Client version string",
                      "example": "Abstract/v2.0"
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": "Abstract/v2.0",
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/eth_getBlockByNumber": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_getBlockByNumber",
        "description": "Returns information about a block by number",
        "operationId": "eth_getBlockByNumber",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_getBlockByNumber",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Block number and transaction details flag",
                    "default": ["0x1b4", false]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_getBlockByNumber",
                "params": ["0x1b4", false]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns block information",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "object",
                      "description": "Block information",
                      "properties": {
                        "number": {
                          "type": "string",
                          "example": "0x1b4"
                        },
                        "hash": {
                          "type": "string",
                          "example": "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae"
                        },
                        "parentHash": {
                          "type": "string",
                          "example": "0x59f0ff194fe56f5b5fe5436df726c0f6201ce7d6364a04361c7324cceb322a67"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "id": 1,
                  "result": {
                    "number": "0x1b4",
                    "hash": "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae",
                    "parentHash": "0x59f0ff194fe56f5b5fe5436df726c0f6201ce7d6364a04361c7324cceb322a67",
                    "nonce": "0x0000000000000000",
                    "sha3Uncles": "0x0000000000000000000000000000000000000000000000000000000000000000",
                    "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                    "transactionsRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
                    "stateRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
                    "receiptsRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
                    "miner": "0x0000000000000000000000000000000000000000",
                    "difficulty": "0x0",
                    "totalDifficulty": "0x0",
                    "extraData": "0x",
                    "size": "0x3e8",
                    "gasLimit": "0x6691b7",
                    "gasUsed": "0x5208",
                    "timestamp": "0x5d9676a0",
                    "transactions": [],
                    "uncles": []
                  }
                }
              }
            }
          }
        }
      }
    },
    "/eth_getBlockByHash": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_getBlockByHash",
        "description": "Returns information about a block by hash",
        "operationId": "eth_getBlockByHash",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_getBlockByHash",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Block hash and transaction details flag",
                    "default": [
                      "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae",
                      false
                    ]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_getBlockByHash",
                "params": [
                  "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae",
                  false
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns block information",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "object",
                      "description": "Block information",
                      "properties": {
                        "number": {
                          "type": "string",
                          "example": "0x1b4"
                        },
                        "hash": {
                          "type": "string",
                          "example": "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae"
                        },
                        "parentHash": {
                          "type": "string",
                          "example": "0x59f0ff194fe56f5b5fe5436df726c0f6201ce7d6364a04361c7324cceb322a67"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "id": 1,
                  "result": {
                    "number": "0x1b4",
                    "hash": "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae",
                    "parentHash": "0x59f0ff194fe56f5b5fe5436df726c0f6201ce7d6364a04361c7324cceb322a67",
                    "nonce": "0x0000000000000000",
                    "sha3Uncles": "0x0000000000000000000000000000000000000000000000000000000000000000",
                    "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                    "transactionsRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
                    "stateRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
                    "receiptsRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
                    "miner": "0x0000000000000000000000000000000000000000",
                    "difficulty": "0x0",
                    "totalDifficulty": "0x0",
                    "extraData": "0x",
                    "size": "0x3e8",
                    "gasLimit": "0x6691b7",
                    "gasUsed": "0x5208",
                    "timestamp": "0x5d9676a0",
                    "transactions": [],
                    "uncles": []
                  }
                }
              }
            }
          }
        }
      }
    },
    "/eth_getBlockTransactionCountByNumber": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_getBlockTransactionCountByNumber",
        "description": "Returns the number of transactions in a block by block number",
        "operationId": "eth_getBlockTransactionCountByNumber",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_getBlockTransactionCountByNumber",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Block number",
                    "default": ["0x1b4"]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_getBlockTransactionCountByNumber",
                "params": ["0x1b4"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the number of transactions in the block",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "string",
                      "description": "The number of transactions in the block",
                      "example": "0x0"
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "id": 1,
                  "result": "0x0"
                }
              }
            }
          }
        }
      }
    },
    "/eth_getBlockReceipts": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_getBlockReceipts",
        "description": "Returns all transaction receipts for a given block",
        "operationId": "eth_getBlockReceipts",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_getBlockReceipts",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Block parameter (number or hash)",
                    "default": ["0x1b4"]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_getBlockReceipts",
                "params": ["0x1b4"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns all transaction receipts for the block",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "array",
                      "description": "Array of transaction receipts",
                      "items": {
                        "type": "object"
                      },
                      "example": []
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "id": 1,
                  "result": []
                }
              }
            }
          }
        }
      }
    },
    "/eth_getBlockTransactionCountByHash": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_getBlockTransactionCountByHash",
        "description": "Returns the number of transactions in a block by block hash",
        "operationId": "eth_getBlockTransactionCountByHash",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_getBlockTransactionCountByHash",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Block hash",
                    "default": [
                      "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae"
                    ]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_getBlockTransactionCountByHash",
                "params": [
                  "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the number of transactions in the block",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "string",
                      "description": "The number of transactions in the block",
                      "example": "0x0"
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "id": 1,
                  "result": "0x0"
                }
              }
            }
          }
        }
      }
    },
    "/eth_getCode": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_getCode",
        "description": "Returns the code stored at the given address",
        "operationId": "eth_getCode",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_getCode",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Address and block parameter",
                    "default": [
                      "0x8fe5810cd78eb8d8b9abad8527dfc1265bee6c56",
                      "latest"
                    ]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_getCode",
                "params": [
                  "0x8fe5810cd78eb8d8b9abad8527dfc1265bee6c56",
                  "latest"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the code at the given address",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "string",
                      "description": "The code at the given address",
                      "example": "0x"
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "id": 1,
                  "result": "0x"
                }
              }
            }
          }
        }
      }
    },
    "/eth_getStorageAt": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_getStorageAt",
        "description": "Returns the value from a storage position at a given address",
        "operationId": "eth_getStorageAt",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_getStorageAt",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Address, storage position, and block parameter",
                    "default": [
                      "0x8fe5810cd78eb8d8b9abad8527dfc1265bee6c56",
                      "0x0",
                      "latest"
                    ]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_getStorageAt",
                "params": [
                  "0x8fe5810cd78eb8d8b9abad8527dfc1265bee6c56",
                  "0x0",
                  "latest"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the storage value at the given position",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "string",
                      "description": "The value at the storage position",
                      "example": "0x0000000000000000000000000000000000000000000000000000000000000000"
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "id": 1,
                  "result": "0x0000000000000000000000000000000000000000000000000000000000000000"
                }
              }
            }
          }
        }
      }
    },
    "/eth_getTransactionCount": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_getTransactionCount",
        "description": "Returns the number of transactions sent from an address",
        "operationId": "eth_getTransactionCount",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_getTransactionCount",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Address and block parameter",
                    "default": [
                      "0x8fe5810cd78eb8d8b9abad8527dfc1265bee6c56",
                      "latest"
                    ]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_sendRawTransaction",
                "params": [
                  "0xf86c808504a817c80082520894095e7baea6a6c7c4c2dfeb977efac326af552d870a8e8..."
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the transaction hash",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "string",
                      "description": "The transaction hash",
                      "example": "0x2f5d6a8af654c249bc487e7c7b926a3f3f165b575a6485a487f12c7a9e3c8e45"
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": "0x2f5d6a8af654c249bc487e7c7b926a3f3f165b575a6485a487f12c7a9e3c8e45",
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/eth_sendRawTransaction": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_sendRawTransaction",
        "description": "Submits a pre-signed transaction for broadcast",
        "operationId": "eth_sendRawTransaction",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_sendRawTransaction",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Signed transaction data",
                    "default": [
                      "0xf86c808504a817c80082520894095e7baea6a6c7c4c2dfeb977efac326af552d870a8e8..."
                    ]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_sendRawTransaction",
                "params": [
                  "0xf86c808504a817c80082520894095e7baea6a6c7c4c2dfeb977efac326af552d870a8e8..."
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the transaction hash",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "string",
                      "description": "The transaction hash",
                      "example": "0x2f5d6a8af654c249bc487e7c7b926a3f3f165b575a6485a487f12c7a9e3c8e45"
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": "0x2f5d6a8af654c249bc487e7c7b926a3f3f165b575a6485a487f12c7a9e3c8e45",
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/eth_accounts": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_accounts",
        "description": "Returns a list of addresses owned by the client",
        "operationId": "eth_accounts",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_accounts",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "No parameters",
                    "default": []
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_accounts",
                "params": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a list of addresses owned by the client",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "array",
                      "description": "List of addresses",
                      "items": {
                        "type": "string"
                      },
                      "example": []
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "id": 1,
                  "result": []
                }
              }
            }
          }
        }
      }
    },
    "/eth_feeHistory": {
      "post": {
        "tags": ["Ethereum API"],
        "summary": "eth_feeHistory",
        "description": "Returns fee data for historical blocks",
        "operationId": "eth_feeHistory",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_feeHistory",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Block count, latest block, and reward percentiles",
                    "default": ["10", "0x3039", [25.0, 50.0, 75.0]]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "eth_feeHistory",
                "params": ["10", "0x3039", [25.0, 50.0, 75.0]]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns fee history data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "object",
                      "description": "Fee history data",
                      "properties": {
                        "oldestBlock": {
                          "type": "string",
                          "example": "0x3030"
                        },
                        "baseFeePerGas": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "example": [
                            "0x7",
                            "0x6",
                            "0x6",
                            "0x5",
                            "0x4",
                            "0x3",
                            "0x3",
                            "0x3",
                            "0x3",
                            "0x3",
                            "0x3"
                          ]
                        },
                        "gasUsedRatio": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          },
                          "example": [
                            0.5, 0.4, 0.5, 0.4, 0.5, 0.4, 0.5, 0.4, 0.5, 0.4
                          ]
                        }
                      }
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "id": 1,
                  "result": {
                    "oldestBlock": "0x3030",
                    "baseFeePerGas": [
                      "0x7",
                      "0x6",
                      "0x6",
                      "0x5",
                      "0x4",
                      "0x3",
                      "0x3",
                      "0x3",
                      "0x3",
                      "0x3",
                      "0x3"
                    ],
                    "gasUsedRatio": [
                      0.5, 0.4, 0.5, 0.4, 0.5, 0.4, 0.5, 0.4, 0.5, 0.4
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/zks_estimateFee": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_estimateFee",
        "description": "Estimates the fee for a given call request",
        "operationId": "zks_estimateFee",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_estimateFee",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Call parameters",
                    "default": [
                      {
                        "from": "0x1111111111111111111111111111111111111111",
                        "to": "0x2222222222222222222222222222222222222222",
                        "data": "0xffffffff"
                      }
                    ]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 2,
                "method": "zks_estimateFee",
                "params": [
                  {
                    "from": "0x1111111111111111111111111111111111111111",
                    "to": "0x2222222222222222222222222222222222222222",
                    "data": "0xffffffff"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the estimated fee details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 2
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "gas_limit": {
                          "type": "string",
                          "description": "The maximum amount of gas that can be used",
                          "example": "0x1ea9a9"
                        },
                        "max_fee_per_gas": {
                          "type": "string",
                          "description": "The maximum fee per unit of gas that the sender is willing to pay",
                          "example": "0x17d7840"
                        },
                        "max_priority_fee_per_gas": {
                          "type": "string",
                          "description": "The maximum priority fee per unit of gas to incentivize miners",
                          "example": "0x0"
                        },
                        "gas_per_pubdata_limit": {
                          "type": "string",
                          "description": "The gas limit per unit of public data",
                          "example": "0x5340"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": {
                    "gas_limit": "0x1ea9a9",
                    "max_fee_per_gas": "0x17d7840",
                    "max_priority_fee_per_gas": "0x0",
                    "gas_per_pubdata_limit": "0x5340"
                  },
                  "id": 2
                }
              }
            }
          }
        }
      }
    },
    "/zks_estimateGasL1ToL2": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_estimateGasL1ToL2",
        "description": "Estimates the gas required for an L1 to L2 transaction",
        "operationId": "zks_estimateGasL1ToL2",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_estimateGasL1ToL2",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Call parameters",
                    "default": [
                      {
                        "from": "0x1111111111111111111111111111111111111111",
                        "to": "0x2222222222222222222222222222222222222222",
                        "data": "0xffffffff"
                      }
                    ]
                  },
                  "id": {
                    "type": "integer",
                    "default": 2,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 2,
                "method": "zks_estimateGasL1ToL2",
                "params": [
                  {
                    "from": "0x1111111111111111111111111111111111111111",
                    "to": "0x2222222222222222222222222222222222222222",
                    "data": "0xffffffff"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the estimated gas amount",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 2
                    },
                    "result": {
                      "type": "string",
                      "description": "The estimated gas amount in hexadecimal format",
                      "example": "0x25f64db"
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": "0x25f64db",
                  "id": 2
                }
              }
            }
          }
        }
      }
    },
    "/zks_getBridgehubContract": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_getBridgehubContract",
        "description": "Retrieves the bridge hub contract address",
        "operationId": "zks_getBridgehubContract",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_getBridgehubContract",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "No parameters",
                    "default": []
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "zks_getBridgehubContract",
                "params": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the bridge hub contract address",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "string",
                      "description": "The bridge hub contract address (20 bytes)",
                      "example": "0x303a465b659cbb0ab36ee643ea362c509eeb5213"
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": "0x303a465b659cbb0ab36ee643ea362c509eeb5213",
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/zks_getMainContract": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_getMainContract",
        "description": "Retrieves the main contract address, also known as the DiamondProxy",
        "operationId": "zks_getMainContract",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_getMainContract",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "No parameters",
                    "default": []
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "zks_getMainContract",
                "params": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the main contract address",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "string",
                      "description": "The main contract address (20 bytes)",
                      "example": "0x32400084c286cf3e17e7b677ea9583e60a000324"
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": "0x32400084c286cf3e17e7b677ea9583e60a000324",
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/zks_getTestnetPaymaster": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_getTestnetPaymaster",
        "description": "Retrieves the testnet paymaster address, specifically for interactions within the Abstract Sepolia Testnet environment. Note: This method is only applicable for Abstract Sepolia Testnet (i.e. not mainnet).",
        "operationId": "zks_getTestnetPaymaster",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_getTestnetPaymaster",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "No parameters",
                    "default": []
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "zks_getTestnetPaymaster",
                "params": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the testnet paymaster address",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "string",
                      "description": "The testnet paymaster address (20 bytes)",
                      "example": "0x3cb2b87d10ac01736a65688f3e0fb1b070b3eea3"
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": "0x3cb2b87d10ac01736a65688f3e0fb1b070b3eea3",
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/zks_getL1BatchBlockRange": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_getL1BatchBlockRange",
        "description": "Returns the range of blocks contained within a specified L1 batch. The range is provided by the beginning and end block numbers in hexadecimal.",
        "operationId": "zks_getL1BatchBlockRange",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_getL1BatchBlockRange",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Call parameters",
                    "default": [12345]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "zks_getL1BatchBlockRange",
                "params": [12345]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the range of blocks in the batch",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "array",
                      "description": "Array with two elements: the first and the last block number (inclusive) of the requested batch",
                      "items": {
                        "type": "string",
                        "description": "Block number in hexadecimal format"
                      },
                      "example": ["0x1", "0x4"]
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": ["0x1", "0x4"],
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/zks_getL1BatchDetails": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_getL1BatchDetails",
        "description": "Returns data pertaining to a specific L1 batch",
        "operationId": "zks_getL1BatchDetails",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_getL1BatchDetails",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Call parameters",
                    "default": [1]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "zks_getL1BatchDetails",
                "params": [1]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the details of the L1 batch",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/L1BatchDetailsResponse"
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": {
                    "baseSystemContractsHashes": {
                      "bootloader": "0x010007fcd651b289b6490bd5c486c8e4991528709311b88d821e55dc7f9fb9d8",
                      "defaultAa": "0x0100066a8106bcdf1ce55cc99fa43c0f23d883755572b17e9a00d8cfa8f145f6"
                    },
                    "commitTxHash": "0xb5f9b86c661053e7d7e864f11bc33bf9fa2c6dc9d5432cf0fa7bf0bce5921747",
                    "committedAt": "2023-10-18T14:00:33.546988Z",
                    "executeTxHash": "0x2a7ab1ccf99cb20765f3ae5b079a9be8c77df3b84fe1e237c262cb0b7d92e4c6",
                    "executedAt": "2023-10-18T14:05:38.651462Z",
                    "l1GasPrice": "0x2a0aafd7c",
                    "l1TxCount": "0x1",
                    "l2FairGasPrice": "0x5f5e100",
                    "l2TxCount": "0x2",
                    "number": "0x1",
                    "proveTxHash": "0xc47a5a9407df1c95e71a9de9e7dba8e28a6922e55a99cf8d7f9d706afc89958c",
                    "provenAt": "2023-10-18T14:03:11.398461Z",
                    "rootHash": "0x4bff3066df2ac2fbf2d8c1267ce9afab85a8e8b406ab849f94f4defcb618a4b8",
                    "status": "verified",
                    "timestamp": "0x6530111a"
                  },
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/zks_L1BatchNumber": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_L1BatchNumber",
        "description": "Returns the latest L1 batch number",
        "operationId": "zks_L1BatchNumber",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_L1BatchNumber",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "No parameters",
                    "default": []
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "zks_L1BatchNumber",
                "params": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the latest L1 batch number",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "string",
                      "description": "The latest L1 batch number in hexadecimal format",
                      "example": "0x2b13"
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": "0x2b13",
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/zks_L1ChainId": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_L1ChainId",
        "description": "Returns the chain id of the underlying L1",
        "operationId": "zks_L1ChainId",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_L1ChainId",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "No parameters",
                    "default": []
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "zks_L1ChainId",
                "params": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the L1 chain ID",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "string",
                      "description": "The L1 chain ID in hexadecimal format",
                      "example": "0x1"
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": "0x1",
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/zks_getConfirmedTokens": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_getConfirmedTokens",
        "description": "Lists confirmed tokens. Confirmed in the method name means any token bridged to Abstract via the official bridge. The tokens are returned in alphabetical order by their symbol. This means the token id is its position in an alphabetically sorted array of tokens.",
        "operationId": "zks_getConfirmedTokens",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_getConfirmedTokens",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Call parameters",
                    "default": [0, 10]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "zks_getConfirmedTokens",
                "params": [0, 10]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the list of tokens",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "array",
                      "description": "List of token objects",
                      "items": {
                        "type": "object",
                        "properties": {
                          "decimals": {
                            "type": "integer",
                            "description": "Number of token decimals",
                            "example": 18
                          },
                          "l1Address": {
                            "type": "string",
                            "description": "Token address on L1",
                            "example": "0x0000000000000000000000000000000000000000"
                          },
                          "l2Address": {
                            "type": "string",
                            "description": "Token address on L2",
                            "example": "0x000000000000000000000000000000000000800A"
                          },
                          "name": {
                            "type": "string",
                            "description": "Token name",
                            "example": "Ether"
                          },
                          "symbol": {
                            "type": "string",
                            "description": "Token symbol",
                            "example": "ETH"
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": [
                    {
                      "decimals": 18,
                      "l1Address": "0x0000000000000000000000000000000000000000",
                      "l2Address": "0x000000000000000000000000000000000000800A",
                      "name": "Ether",
                      "symbol": "ETH"
                    }
                  ],
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/zks_getAllAccountBalances": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_getAllAccountBalances",
        "description": "Gets all account balances for a given address. The method returns an object with token addresses as keys and their corresponding balances as values. Each key-value pair represents the balance of a specific token held by the account",
        "operationId": "zks_getAllAccountBalances",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_getAllAccountBalances",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Call parameters",
                    "default": ["0x06639F064b82595F3BE7621F607F8e8726852fCf"]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "zks_getAllAccountBalances",
                "params": ["0x1111111111111111111111111111111111111111"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns all token balances for the account",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "object",
                      "description": "Map of token addresses to balances",
                      "additionalProperties": {
                        "type": "string",
                        "description": "Token balance in hexadecimal format"
                      },
                      "example": {
                        "0x000000000000000000000000000000000000800A": "0x3635c9adc5dea00000"
                      }
                    }
                  }
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": {
                    "0x000000000000000000000000000000000000800A": "0x3635c9adc5dea00000"
                  },
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/zks_getTransactionDetails": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_getTransactionDetails",
        "description": "Returns data from a specific transaction",
        "operationId": "zks_getTransactionDetails",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_getTransactionDetails",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Call parameters",
                    "default": [
                      "0xe72d991deef96a0dd64a71ceea2006eef779ce220bb36e7fe5f503b1c24c7205"
                    ]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "zks_getTransactionDetails",
                "params": [
                  "0x5e4243c644d2f1cd5a7ad6ef7b4bb233a3ed7eac71b7bd4fb71e2c62929a69ab"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the transaction details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProofResponse"
                },
                "examples": {
                  "example1": {
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "address": "0x0000000000000000000000000000000000008003",
                        "storageProof": [
                          {
                            "key": "0x8b65c0cf1012ea9f393197eb24619fd814379b298b238285649e14f936a5eb12",
                            "proof": [
                              "0xe3e8e49a998b3abf8926f62a5a832d829aadc1b7e059f1ea59ffbab8e11edfb7"
                            ]
                          }
                        ]
                      },
                      "id": 1
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/zks_getBlockDetails": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_getBlockDetails",
        "description": "Returns data about a specific block",
        "operationId": "zks_getBlockDetails",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_getBlockDetails",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Call parameters",
                    "default": [140599]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "zks_getBlockDetails",
                "params": [140599]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the block details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BlockDetailsResponse"
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": {
                    "baseFeePerGas": "0x5f5e100",
                    "commitTxHash": "0xd5a30a78d36b1a0a875abd4c0056113af33be4f2a669b07ab9b099ada5d869da",
                    "committedAt": "2023-10-18T14:00:33.546988Z",
                    "executeTxHash": "0xa11e9442340271a4495234953ac1e2ae9acc8c39bcea656544ac201a57f806a4",
                    "executedAt": "2023-10-18T14:05:38.651462Z",
                    "gasUsed": "0x0",
                    "l1BatchNumber": "0x1",
                    "l1TxCount": "0x0",
                    "l2TxCount": "0x0",
                    "number": "0x1",
                    "operatorAddress": "0xfeea44bc2161f360272ce5bd0577b1c3cf5a1a47",
                    "proveTxHash": "0x8d750a548c5c73132f9cb0e1e612a61531d2c4b636641c43c41d59fafd0a5a23",
                    "provenAt": "2023-10-18T14:03:11.398461Z",
                    "rootHash": "0x51f81bcdfc324a0dff2b5bec9d92e21cbebc4d5e29d3a3d30de3e03fbeab8d7f",
                    "status": "verified",
                    "timestamp": "0x651053b9"
                  },
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/zks_getBridgeContracts": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_getBridgeContracts",
        "description": "Returns the addresses of the bridge contracts on L1 and L2",
        "operationId": "zks_getBridgeContracts",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_getBridgeContracts",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "No parameters",
                    "default": []
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "zks_getBridgeContracts",
                "params": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the bridge contract addresses",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BridgeContractsResponse"
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": {
                    "l1Erc20DefaultBridge": "0x57891966931eb4bb6fb81430e6ce0a03aabde063",
                    "l1SharedDefaultBridge": "0x8829ad80e425c646dab305381ff105169feece56",
                    "l1WethBridge": "0x0000000000000000000000000000000000000000",
                    "l2Erc20DefaultBridge": "0x0000000000000000000000000000000000010003",
                    "l2LegacySharedBridge": "0x954ba8223a6bfec1cc3867139243a02ba0bc66e4",
                    "l2SharedDefaultBridge": "0x0000000000000000000000000000000000010003",
                    "l2WethBridge": "0x0000000000000000000000000000000000000000"
                  },
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/debug_traceBlockByHash": {
      "post": {
        "tags": ["Debug API"],
        "summary": "debug_traceBlockByHash",
        "description": "Returns debug trace of all transactions in a block given block hash",
        "operationId": "debug_traceBlockByHash",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "debug_traceBlockByHash",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Call parameters",
                    "default": [
                      "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae",
                      { "tracer": "callTracer" }
                    ]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "debug_traceBlockByHash",
                "params": [
                  "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae",
                  { "tracer": "callTracer" }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the debug trace",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebugTraceBlockResponse"
                }
              }
            }
          }
        }
      }
    },
    "/debug_traceBlockByNumber": {
      "post": {
        "tags": ["Debug API"],
        "summary": "debug_traceBlockByNumber",
        "description": "Returns debug trace of all transactions in a block given block number",
        "operationId": "debug_traceBlockByNumber",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "debug_traceBlockByNumber",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Call parameters",
                    "default": ["0x1", { "tracer": "callTracer" }]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "debug_traceBlockByNumber",
                "params": ["0x1", { "tracer": "callTracer" }]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the debug trace",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebugTraceBlockResponse"
                }
              }
            }
          }
        }
      }
    },
    "/debug_traceTransaction": {
      "post": {
        "tags": ["Debug API"],
        "summary": "debug_traceTransaction",
        "description": "Returns debug trace of a transaction",
        "operationId": "debug_traceTransaction",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "debug_traceTransaction",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Call parameters",
                    "default": [
                      "0x5e4243c644d2f1cd5a7ad6ef7b4bb233a3ed7eac71b7bd4fb71e2c62929a69ab",
                      { "tracer": "callTracer" }
                    ]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "debug_traceTransaction",
                "params": [
                  "0x5e4243c644d2f1cd5a7ad6ef7b4bb233a3ed7eac71b7bd4fb71e2c62929a69ab",
                  { "tracer": "callTracer" }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the debug trace",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebugTraceTransactionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/debug_traceCall": {
      "post": {
        "tags": ["Debug API"],
        "summary": "debug_traceCall",
        "description": "Returns debug trace of a call",
        "operationId": "debug_traceCall",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "debug_traceCall",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Call parameters",
                    "default": [
                      {
                        "from": "0x1111111111111111111111111111111111111111",
                        "to": "0x2222222222222222222222222222222222222222",
                        "data": "0xa9059cbb000000000000000000000000a7253f21f1d9f5ce90da63a6c2b5548226cc9627000000000000000000000000000000000000000000000000000000000001e240"
                      },
                      "latest",
                      { "tracer": "callTracer" }
                    ]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "debug_traceCall",
                "params": [
                  {
                    "from": "0x1111111111111111111111111111111111111111",
                    "to": "0x2222222222222222222222222222222222222222",
                    "data": "0xa9059cbb000000000000000000000000a7253f21f1d9f5ce90da63a6c2b5548226cc9627000000000000000000000000000000000000000000000000000000000001e240"
                  },
                  "latest",
                  { "tracer": "callTracer" }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the debug trace",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebugTraceCallResponse"
                }
              }
            }
          }
        }
      }
    },
    "/zks_getBaseTokenL1Address": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_getBaseTokenL1Address",
        "description": "Retrieves the L1 base token address",
        "operationId": "zks_getBaseTokenL1Address",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_getBaseTokenL1Address",
                    "description": "The RPC method to be invoked"
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "default": [],
                    "description": "No parameters required"
                  }
                }
              },
              "examples": {
                "example1": {
                  "value": {
                    "jsonrpc": "2.0",
                    "id": 1,
                    "method": "zks_getBaseTokenL1Address",
                    "params": []
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the Layer 1 Ethereum address of base token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseTokenL1AddressResponse"
                },
                "examples": {
                  "example1": {
                    "value": {
                      "jsonrpc": "2.0",
                      "result": "0x0000000000000000000000000000000000000001",
                      "id": 1
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/zks_getL2ToL1MsgProof": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_getL2ToL1MsgProof",
        "description": "Retrieves the proof for an L2 to L1 message",
        "operationId": "zks_getL2ToL1MsgProof",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_getL2ToL1MsgProof",
                    "description": "The RPC method to be invoked"
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Parameters for the L2 to L1 message proof",
                    "default": [
                      12345,
                      "0x0000000000000000000000000000000000000000",
                      "0x0000000000000000000000000000000000000000000000000000000000000000"
                    ],
                    "minItems": 3,
                    "maxItems": 4
                  }
                }
              },
              "examples": {
                "example1": {
                  "value": {
                    "jsonrpc": "2.0",
                    "id": 1,
                    "method": "zks_getL2ToL1MsgProof",
                    "params": [
                      12345,
                      "0x0000000000000000000000000000000000000000",
                      "0x0000000000000000000000000000000000000000000000000000000000000000"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the proof for the L2 to L1 message",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/L2ToL1MsgProofResponse"
                }
              }
            }
          }
        }
      }
    },
    "/zks_getL2ToL1LogProof": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_getL2ToL1LogProof",
        "description": "Retrieves the log proof for an L2 to L1 transaction",
        "operationId": "zks_getL2ToL1LogProof",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_getL2ToL1LogProof",
                    "description": "The RPC method to be invoked"
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Parameters for the log proof",
                    "minItems": 1,
                    "maxItems": 2,
                    "default": [
                      "0x2a1c6c74b184965c0cb015aae9ea134fd96215d2e4f4979cfec12563295f610e"
                    ]
                  }
                }
              },
              "examples": {
                "example1": {
                  "value": {
                    "jsonrpc": "2.0",
                    "id": 1,
                    "method": "zks_getL2ToL1LogProof",
                    "params": [
                      "0x2a1c6c74b184965c0cb015aae9ea134fd96215d2e4f4979cfec12563295f610e"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the proof for the L2 to L1 log",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/L2ToL1LogProofResponse"
                },
                "examples": {
                  "example1": {
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "proof": [
                          "0x8c48910df2ca7de509daf50b3182fcdf2dd6c422c6704054fd857d6c9516d6fc",
                          "0xc5028885760b8b596c4fa11497c783752cb3a3fb3b8e6b52d7e54b9f1c63521e",
                          "0xeb1f451eb8163723ee19940cf3a8f2a2afdf51100ce8ba25839bd94a057cda16",
                          "0x7aabfd367dea2b5306b8071c246b99566dae551a1dbd40da791e66c4f696b236",
                          "0xe4733f281f18ba3ea8775dd62d2fcd84011c8c938f16ea5790fd29a03bf8db89",
                          "0x1798a1fd9c8fbb818c98cff190daa7cc10b6e5ac9716b4a2649f7c2ebcef2272",
                          "0x66d7c5983afe44cf15ea8cf565b34c6c31ff0cb4dd744524f7842b942d08770d",
                          "0xb04e5ee349086985f74b73971ce9dfe76bbed95c84906c5dffd96504e1e5396c",
                          "0xac506ecb5465659b3a927143f6d724f91d8d9c4bdb2463aee111d9aa869874db"
                        ],
                        "id": 0,
                        "root": "0x920c63cb0066a08da45f0a9bf934517141bd72d8e5a51421a94b517bf49a0d39"
                      },
                      "id": 1
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/zks_getRawBlockTransactions": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_getRawBlockTransactions",
        "description": "Lists transactions in a block without processing them",
        "operationId": "zks_getRawBlockTransactions",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_getRawBlockTransactions",
                    "description": "The RPC method to be invoked"
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Parameters for retrieving raw block transactions",
                    "minItems": 1,
                    "maxItems": 1,
                    "default": [7469801]
                  }
                }
              },
              "examples": {
                "example1": {
                  "value": {
                    "jsonrpc": "2.0",
                    "id": 1,
                    "method": "zks_getRawBlockTransactions",
                    "params": [7469801]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns an array of raw transaction objects",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RawBlockTransactionsResponse"
                },
                "examples": {
                  "example1": {
                    "value": {
                      "jsonrpc": "2.0",
                      "result": [
                        {
                          "common_data": {
                            "L2": {
                              "nonce": 117,
                              "fee": {
                                "gas_limit": "0xbadbc",
                                "max_fee_per_gas": "0x202fbf0",
                                "max_priority_fee_per_gas": "0x0",
                                "gas_per_pubdata_limit": "0xc350"
                              },
                              "initiatorAddress": "0xe7734c4a8201af41db64da90eddb4c19bbf64710",
                              "signature": [
                                203, 118, 119, 63, 1, 54, 91, 252, 188, 23, 120,
                                51, 4, 28
                              ],
                              "transactionType": "EIP1559Transaction",
                              "input": {
                                "hash": "0x970c9480960818b05832f7e5b76a0c46956003c34942e005672d7ddc537aaa59",
                                "data": [
                                  2, 249, 1, 111, 1305, 187, 2, 170, 21, 166,
                                  251, 255
                                ]
                              },
                              "paymasterParams": {
                                "paymaster": "0x0000000000000000000000000000000000000000",
                                "paymasterInput": []
                              }
                            }
                          },
                          "execute": {
                            "contractAddress": "0x5155704bb41fde152ad3e1ae402e8e8b9ba335d3",
                            "calldata": "0fa0x5155704bb41fde152ad3e1ae402e8e8b9ba335d3",
                            "value": "0x0",
                            "factoryDeps": null
                          },
                          "received_timestamp_ms": 1711649348872,
                          "raw_bytes": "0x02f9016f8201447580840202fbf"
                        }
                      ],
                      "id": 1
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/zks_getBytecodeByHash": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_getBytecodeByHash",
        "description": "Retrieves the bytecode of a transaction by its hash",
        "operationId": "zks_getBytecodeByHash",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_getBytecodeByHash",
                    "description": "The RPC method to be invoked"
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Parameters for retrieving bytecode",
                    "minItems": 1,
                    "maxItems": 1,
                    "default": [
                      "0x3ff97eb2bc8a040d2e50863fb586a841f385293fa583a0e4c5ebe6e2f4cbb069"
                    ]
                  }
                }
              },
              "examples": {
                "example1": {
                  "value": {
                    "jsonrpc": "2.0",
                    "id": 1,
                    "method": "zks_getBytecodeByHash",
                    "params": [
                      "0x3ff97eb2bc8a040d2e50863fb586a841f385293fa583a0e4c5ebe6e2f4cbb069"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns an array of the transaction's bytecode",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BytecodeByHashResponse"
                }
              }
            }
          }
        }
      }
    },
    "/zks_getL1GasPrice": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_getL1GasPrice",
        "description": "Retrieves the current L1 gas price",
        "operationId": "zks_getL1GasPrice",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_getL1GasPrice",
                    "description": "The RPC method to be invoked"
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "default": [],
                    "description": "No parameters required"
                  }
                }
              },
              "examples": {
                "example1": {
                  "value": {
                    "jsonrpc": "2.0",
                    "id": 1,
                    "method": "zks_getL1GasPrice",
                    "params": []
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the current L1 gas price in wei (hexadecimal)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/L1GasPriceResponse"
                },
                "examples": {
                  "example1": {
                    "value": {
                      "jsonrpc": "2.0",
                      "result": "0x11cccd9f58",
                      "id": 1
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/zks_getFeeParams": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_getFeeParams",
        "description": "Retrieves the current fee parameters",
        "operationId": "zks_getFeeParams",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_getFeeParams",
                    "description": "The RPC method to be invoked"
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "default": [],
                    "description": "No parameters required"
                  }
                }
              },
              "examples": {
                "example1": {
                  "value": {
                    "jsonrpc": "2.0",
                    "id": 1,
                    "method": "zks_getFeeParams",
                    "params": []
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the current fee parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeeParamsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/zks_getProtocolVersion": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_getProtocolVersion",
        "description": "Gets the protocol version",
        "operationId": "zks_getProtocolVersion",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_getProtocolVersion",
                    "description": "The RPC method to be invoked"
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "default": [],
                    "description": "Optional version ID parameter"
                  }
                }
              },
              "examples": {
                "example1": {
                  "value": {
                    "jsonrpc": "2.0",
                    "id": 1,
                    "method": "zks_getProtocolVersion",
                    "params": []
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the protocol version information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtocolVersionResponse"
                },
                "examples": {
                  "example1": {
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "version_id": 22,
                        "timestamp": 1710264138,
                        "verification_keys_hashes": {
                          "params": {
                            "recursion_node_level_vk_hash": "0x5a3ef282b21e12fe1f4438e5bb158fc5060b160559c5158c6389d62d9fe3d080",
                            "recursion_leaf_level_vk_hash": "0x400a4b532c6f072c00d1806ef299300d4c104f4ac55bd8698ade78894fcadc0a",
                            "recursion_circuits_set_vks_hash": "0x0000000000000000000000000000000000000000000000000000000000000000"
                          },
                          "recursion_scheduler_level_vk_hash": "0x063c6fb5c70404c2867f413a8e35563ad3d040b1ad8c11786231bfdba7b472c7"
                        },
                        "base_system_contracts": {
                          "bootloader": "0x010007ede999d096c84553fb514d3d6ca76fbf39789dda76bfeda9f3ae06236e",
                          "default_aa": "0x0100055b041eb28aff6e3a6e0f37c31fd053fc9ef142683b05e5f0aee6934066"
                        },
                        "l2_system_upgrade_tx_hash": null
                      },
                      "id": 1
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/zks_getProof": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_getProof",
        "description": "Generates Merkle proofs for one or more storage values associated with a specific account, accompanied by a proof of their authenticity",
        "operationId": "zks_getProof",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_getProof",
                    "description": "The RPC method to be invoked"
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  },
                  "params": {
                    "type": "array",
                    "items": {},
                    "description": "Parameters for generating proofs",
                    "minItems": 3,
                    "maxItems": 3,
                    "default": [
                      "0x0000000000000000000000000000000000008003",
                      [
                        "0x8b65c0cf1012ea9f393197eb24619fd814379b298b238285649e14f936a5eb12"
                      ],
                      354895
                    ]
                  }
                }
              },
              "examples": {
                "example1": {
                  "value": {
                    "jsonrpc": "2.0",
                    "id": 1,
                    "method": "zks_getProof",
                    "params": [
                      "0x0000000000000000000000000000000000008003",
                      [
                        "0x8b65c0cf1012ea9f393197eb24619fd814379b298b238285649e14f936a5eb12"
                      ],
                      354895
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the account details and proofs for storage keys",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "address": {
                          "type": "string",
                          "description": "Account address associated with the storage proofs"
                        },
                        "storageProof": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "key": {
                                "type": "string",
                                "description": "Storage key for which the proof is provided"
                              },
                              "value": {
                                "type": "string",
                                "description": "Value stored in the specified storage key"
                              },
                              "index": {
                                "type": "integer",
                                "description": "Position of the tree entry within the Merkle tree"
                              },
                              "proof": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "Array of hashes that constitute the Merkle path"
                              }
                            }
                          }
                        }
                      }
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    }
                  }
                },
                "examples": {
                  "example1": {
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "address": "0x0000000000000000000000000000000000008003",
                        "storageProof": [
                          {
                            "key": "0x8b65c0cf1012ea9f393197eb24619fd814379b298b238285649e14f936a5eb12",
                            "proof": [
                              "0xe3e8e49a998b3abf8926f62a5a832d829aadc1b7e059f1ea59ffbab8e11edfb7"
                            ]
                          }
                        ]
                      },
                      "id": 1
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/zks_sendRawTransactionWithDetailedOutput": {
      "post": {
        "tags": ["ZKSync API"],
        "summary": "zks_sendRawTransactionWithDetailedOutput",
        "description": "Executes a transaction and returns its hash, storage logs, and events that would have been generated if the transaction had already been included in the block. The API has a similar behaviour to eth_sendRawTransaction but with some extra data returned from it. With this API Consumer apps can apply \"optimistic\" events in their applications instantly without having to wait for ZKsync block confirmation time. It's expected that the optimistic logs of two uncommitted transactions that modify the same state will not have causal relationships between each other.",
        "operationId": "zks_sendRawTransactionWithDetailedOutput",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id", "params"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "zks_sendRawTransactionWithDetailedOutput",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "The signed transaction",
                    "default": ["0x..."]
                  },
                  "id": {
                    "type": "integer",
                    "default": 1,
                    "description": "Request identifier"
                  }
                }
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "zks_sendRawTransactionWithDetailedOutput",
                "params": ["0x...SignedTransaction..."]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns transaction hash, storage logs, and events",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SendRawTransactionWithDetailedOutputResponse"
                },
                "example": {
                  "jsonrpc": "2.0",
                  "result": {
                    "transactionHash": "0xd586a9381ac33a70d1c34704664209242ee90316878fc1695aa8e4cf553c8595",
                    "storageLogs": [
                      {
                        "address": "0x000000000000000000000000000000000000800b",
                        "key": "0x7",
                        "writtenValue": "0x40000000000000000000000006641f961"
                      }
                    ],
                    "events": [
                      {
                        "address": "0x000000000000000000000000000000000000800a",
                        "topics": [
                          "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
                          "0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049",
                          "0x0000000000000000000000000000000000000000000000000000000000008001"
                        ],
                        "data": "0x00000000000000000000000000000000000000000000000000000b9b031bf400",
                        "blockHash": null,
                        "blockNumber": null,
                        "l1BatchNumber": "0x4",
                        "transactionHash": "0xd586a9381ac33a70d1c34704664209242ee90316878fc1695aa8e4cf553c8595",
                        "transactionIndex": "0x0",
                        "logIndex": null,
                        "transactionLogIndex": null,
                        "logType": null,
                        "removed": false
                      }
                    ]
                  },
                  "id": 1
                }
              }
            }
          }
        }
      }
    },
    "/eth_subscribe": {
      "post": {
        "tags": ["PubSub API"],
        "summary": "eth_subscribe",
        "description": "Creates a new subscription for events.",
        "operationId": "eth_subscribe",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_subscribe",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {
                      "oneOf": [
                        {
                          "type": "string",
                          "description": "Name of the subscription (e.g., 'newHeads', 'logs')"
                        },
                        {
                          "type": "object",
                          "description": "Optional filter conditions for the subscription"
                        }
                      ]
                    },
                    "description": "Parameters for the subscription",
                    "example": ["newHeads"]
                  },
                  "id": {
                    "type": "integer",
                    "description": "Request identifier",
                    "example": 1
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A subscription ID used to identify and manage the subscription",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "string",
                      "description": "Subscription ID",
                      "example": "0x9cef478923ff08bf67fde6c64013158d"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/eth_unsubscribe": {
      "post": {
        "tags": ["PubSub API"],
        "summary": "eth_unsubscribe",
        "description": "Cancels an existing subscription.",
        "operationId": "eth_unsubscribe",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["jsonrpc", "method", "id"],
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "default": "2.0",
                    "description": "JSON-RPC version"
                  },
                  "method": {
                    "type": "string",
                    "default": "eth_unsubscribe",
                    "description": "The method to call"
                  },
                  "params": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "description": "The ID of the subscription to cancel"
                    },
                    "description": "Parameters for unsubscribing",
                    "example": ["0x9cef478923ff08bf67fde6c64013158d"]
                  },
                  "id": {
                    "type": "integer",
                    "description": "Request identifier",
                    "example": 1
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Boolean indicating if the subscription was successfully cancelled",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "example": "2.0"
                    },
                    "id": {
                      "type": "integer",
                      "example": 1
                    },
                    "result": {
                      "type": "boolean",
                      "description": "Success status",
                      "example": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "SendRawTransactionWithDetailedOutputResponse": {
        "$ref": "#/x-definitions/SendRawTransactionWithDetailedOutputResponse"
      },
      "ProtocolVersionResponse": {
        "$ref": "#/x-definitions/ProtocolVersionResponse"
      },
      "L1BatchDetailsResponse": {
        "$ref": "#/x-definitions/L1BatchDetailsResponse"
      },
      "BlockDetailsResponse": {
        "$ref": "#/x-definitions/BlockDetailsResponse"
      },
      "BridgeContractsResponse": {
        "$ref": "#/x-definitions/BridgeContractsResponse"
      },
      "DebugTraceBlockResponse": {
        "$ref": "#/x-definitions/DebugTraceBlockResponse"
      },
      "DebugTraceTransactionResponse": {
        "$ref": "#/x-definitions/DebugTraceTransactionResponse"
      },
      "DebugTraceCallResponse": {
        "$ref": "#/x-definitions/DebugTraceCallResponse"
      },
      "BaseTokenL1AddressResponse": {
        "$ref": "#/x-definitions/BaseTokenL1AddressResponse"
      },
      "L2ToL1MsgProofResponse": {
        "$ref": "#/x-definitions/L2ToL1MsgProofResponse"
      },
      "L2ToL1LogProofResponse": {
        "$ref": "#/x-definitions/L2ToL1LogProofResponse"
      },
      "RawBlockTransactionsResponse": {
        "$ref": "#/x-definitions/RawBlockTransactionsResponse"
      },
      "BytecodeByHashResponse": {
        "$ref": "#/x-definitions/BytecodeByHashResponse"
      },
      "L1GasPriceResponse": {
        "$ref": "#/x-definitions/L1GasPriceResponse"
      },
      "FeeParamsResponse": {
        "$ref": "#/x-definitions/FeeParamsResponse"
      },
      "ProofResponse": {
        "$ref": "#/x-definitions/ProofResponse"
      }
    }
  },
  "x-definitions": {
    "ProtocolVersionResponse": {
      "type": "object",
      "properties": {
        "jsonrpc": {
          "type": "string",
          "example": "2.0"
        },
        "id": {
          "type": "integer",
          "example": 1
        },
        "result": {
          "type": "object",
          "properties": {
            "version_id": {
              "type": "integer",
              "description": "Protocol version ID"
            },
            "timestamp": {
              "type": "integer",
              "description": "Unix timestamp of the version's activation"
            },
            "verification_keys_hashes": {
              "type": "object",
              "description": "Hashes of various verification keys used in the protocol"
            },
            "base_system_contracts": {
              "type": "object",
              "properties": {
                "bootloader": {
                  "type": "string",
                  "description": "Hash of the bootloader contract"
                },
                "default_aa": {
                  "type": "string",
                  "description": "Hash of the default account abstraction contract"
                }
              }
            },
            "l2_system_upgrade_tx_hash": {
              "type": ["string", "null"],
              "description": "Hash of the transaction used for system upgrade, if any"
            }
          }
        }
      }
    },
    "L1BatchDetailsResponse": {
      "type": "object",
      "properties": {
        "jsonrpc": {
          "type": "string",
          "example": "2.0"
        },
        "id": {
          "type": "integer",
          "example": 1
        },
        "result": {
          "type": "object",
          "properties": {
            "baseSystemContractsHashes": {
              "type": "object",
              "description": "System contract hashes",
              "properties": {
                "bootloader": {
                  "type": "string",
                  "description": "Bootloader hash",
                  "example": "0x010007fcd651b289b6490bd5c486c8e4991528709311b88d821e55dc7f9fb9d8"
                },
                "defaultAa": {
                  "type": "string",
                  "description": "Default account abstraction hash",
                  "example": "0x0100066a8106bcdf1ce55cc99fa43c0f23d883755572b17e9a00d8cfa8f145f6"
                }
              }
            },
            "commitTxHash": {
              "type": "string",
              "description": "Commitment transaction hash",
              "example": "0xb5f9b86c661053e7d7e864f11bc33bf9fa2c6dc9d5432cf0fa7bf0bce5921747"
            },
            "committedAt": {
              "type": "string",
              "description": "Timestamp of commitment",
              "example": "2023-10-18T14:00:33.546988Z"
            },
            "executeTxHash": {
              "type": "string",
              "description": "Execution transaction hash",
              "example": "0x2a7ab1ccf99cb20765f3ae5b079a9be8c77df3b84fe1e237c262cb0b7d92e4c6"
            },
            "executedAt": {
              "type": "string",
              "description": "Timestamp of execution",
              "example": "2023-10-18T14:05:38.651462Z"
            },
            "l1GasPrice": {
              "type": "string",
              "description": "L1 gas price",
              "example": "0x2a0aafd7c"
            },
            "l1TxCount": {
              "type": "string",
              "description": "Number of L1 transactions",
              "example": "0x1"
            },
            "l2FairGasPrice": {
              "type": "string",
              "description": "L2 fair gas price",
              "example": "0x5f5e100"
            },
            "l2TxCount": {
              "type": "string",
              "description": "Number of L2 transactions",
              "example": "0x2"
            },
            "number": {
              "type": "string",
              "description": "Batch number",
              "example": "0x1"
            },
            "proveTxHash": {
              "type": "string",
              "description": "Proof transaction hash",
              "example": "0xc47a5a9407df1c95e71a9de9e7dba8e28a6922e55a99cf8d7f9d706afc89958c"
            },
            "provenAt": {
              "type": "string",
              "description": "Timestamp of proof",
              "example": "2023-10-18T14:03:11.398461Z"
            },
            "rootHash": {
              "type": "string",
              "description": "Root hash",
              "example": "0x4bff3066df2ac2fbf2d8c1267ce9afab85a8e8b406ab849f94f4defcb618a4b8"
            },
            "status": {
              "type": "string",
              "description": "Status of the batch",
              "example": "verified"
            },
            "timestamp": {
              "type": "string",
              "description": "Timestamp of batch",
              "example": "0x6530111a"
            }
          }
        }
      }
    },
    "BlockDetailsResponse": {
      "type": "object",
      "properties": {
        "jsonrpc": {
          "type": "string",
          "example": "2.0"
        },
        "id": {
          "type": "integer",
          "example": 1
        },
        "result": {
          "type": "object",
          "properties": {
            "baseFeePerGas": {
              "type": "string",
              "description": "Base fee per gas",
              "example": "0x5f5e100"
            },
            "commitTxHash": {
              "type": "string",
              "description": "Commitment transaction hash",
              "example": "0xd5a30a78d36b1a0a875abd4c0056113af33be4f2a669b07ab9b099ada5d869da"
            },
            "committedAt": {
              "type": "string",
              "description": "Timestamp of commitment",
              "example": "2023-10-18T14:00:33.546988Z"
            },
            "executeTxHash": {
              "type": "string",
              "description": "Execution transaction hash",
              "example": "0xa11e9442340271a4495234953ac1e2ae9acc8c39bcea656544ac201a57f806a4"
            },
            "executedAt": {
              "type": "string",
              "description": "Timestamp of execution",
              "example": "2023-10-18T14:05:38.651462Z"
            },
            "gasUsed": {
              "type": "string",
              "description": "Gas used in the block",
              "example": "0x0"
            },
            "l1BatchNumber": {
              "type": "string",
              "description": "L1 batch number that includes this block",
              "example": "0x1"
            },
            "l1TxCount": {
              "type": "string",
              "description": "Number of L1 transactions",
              "example": "0x0"
            },
            "l2TxCount": {
              "type": "string",
              "description": "Number of L2 transactions",
              "example": "0x0"
            },
            "number": {
              "type": "string",
              "description": "Block number",
              "example": "0x1"
            },
            "operatorAddress": {
              "type": "string",
              "description": "Operator address",
              "example": "0xfeea44bc2161f360272ce5bd0577b1c3cf5a1a47"
            },
            "proveTxHash": {
              "type": "string",
              "description": "Proof transaction hash",
              "example": "0x8d750a548c5c73132f9cb0e1e612a61531d2c4b636641c43c41d59fafd0a5a23"
            },
            "provenAt": {
              "type": "string",
              "description": "Timestamp of proof",
              "example": "2023-10-18T14:03:11.398461Z"
            },
            "rootHash": {
              "type": "string",
              "description": "Root hash",
              "example": "0x51f81bcdfc324a0dff2b5bec9d92e21cbebc4d5e29d3a3d30de3e03fbeab8d7f"
            },
            "status": {
              "type": "string",
              "description": "Status of the block",
              "example": "verified"
            },
            "timestamp": {
              "type": "string",
              "description": "Timestamp of block",
              "example": "0x651053b9"
            }
          }
        }
      }
    },
    "BridgeContractsResponse": {
      "type": "object",
      "properties": {
        "jsonrpc": {
          "type": "string",
          "example": "2.0"
        },
        "id": {
          "type": "integer",
          "example": 1
        },
        "result": {
          "type": "object",
          "properties": {
            "l1Erc20DefaultBridge": {
              "type": "string",
              "description": "L1 ERC20 default bridge address",
              "example": "0x927ddfcc55164a59e0f33918d13a2a210aa4ee65"
            },
            "l2Erc20DefaultBridge": {
              "type": "string",
              "description": "L2 ERC20 default bridge address",
              "example": "0x0000000000000000000000000000000000008006"
            },
            "l1WethBridge": {
              "type": "string",
              "description": "L1 WETH bridge address",
              "example": "0x0000000000000000000000000000000000000000"
            },
            "l2WethBridge": {
              "type": "string",
              "description": "L2 WETH bridge address",
              "example": "0x0000000000000000000000000000000000000000"
            }
          }
        }
      }
    },
    "DebugTraceBlockResponse": {
      "type": "object",
      "properties": {
        "jsonrpc": {
          "type": "string",
          "example": "2.0"
        },
        "id": {
          "type": "integer",
          "example": 1
        },
        "result": {
          "type": "array",
          "description": "Array of transaction traces",
          "items": {
            "type": "object",
            "description": "Transaction trace information"
          }
        }
      }
    },
    "DebugTraceTransactionResponse": {
      "type": "object",
      "properties": {
        "jsonrpc": {
          "type": "string",
          "example": "2.0"
        },
        "id": {
          "type": "integer",
          "example": 1
        },
        "result": {
          "type": "object",
          "description": "Transaction trace information"
        }
      }
    },
    "DebugTraceCallResponse": {
      "type": "object",
      "properties": {
        "jsonrpc": {
          "type": "string",
          "example": "2.0"
        },
        "id": {
          "type": "integer",
          "example": 1
        },
        "result": {
          "type": "object",
          "description": "Call trace information"
        }
      }
    },
    "BaseTokenL1AddressResponse": {
      "type": "object",
      "properties": {
        "jsonrpc": {
          "type": "string",
          "example": "2.0"
        },
        "id": {
          "type": "integer",
          "example": 1
        },
        "result": {
          "type": "string",
          "description": "Layer 1 Ethereum address of base token",
          "example": "0x0000000000000000000000000000000000000001"
        }
      }
    },
    "L2ToL1MsgProofResponse": {
      "type": "object",
      "properties": {
        "jsonrpc": {
          "type": "string",
          "example": "2.0"
        },
        "id": {
          "type": "integer",
          "example": 1
        },
        "result": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "description": "Message identifier"
            },
            "proof": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Array of proof elements"
            },
            "root": {
              "type": "string",
              "description": "Root hash"
            }
          }
        }
      }
    },
    "L2ToL1LogProofResponse": {
      "type": "object",
      "properties": {
        "jsonrpc": {
          "type": "string",
          "example": "2.0"
        },
        "id": {
          "type": "integer",
          "example": 1
        },
        "result": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "description": "Identifier of the log within the transaction"
            },
            "proof": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Array of proof elements"
            },
            "root": {
              "type": "string",
              "description": "Root hash"
            }
          }
        }
      }
    },
    "RawBlockTransactionsResponse": {
      "type": "object",
      "properties": {
        "jsonrpc": {
          "type": "string",
          "example": "2.0"
        },
        "id": {
          "type": "integer",
          "example": 1
        },
        "result": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "common_data": {
                "type": "object",
                "description": "General information about the L2 transaction"
              },
              "execute": {
                "type": "object",
                "description": "Details regarding the execution of the transaction"
              },
              "received_timestamp_ms": {
                "type": "integer",
                "description": "Timestamp when the transaction was received, in milliseconds"
              },
              "raw_bytes": {
                "type": "string",
                "description": "Raw bytes of the transaction as a hexadecimal string"
              }
            }
          }
        }
      }
    },
    "BytecodeByHashResponse": {
      "type": "object",
      "properties": {
        "jsonrpc": {
          "type": "string",
          "example": "2.0"
        },
        "id": {
          "type": "integer",
          "example": 1
        },
        "result": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "Array of bytecode values"
        }
      }
    },
    "L1GasPriceResponse": {
      "type": "object",
      "properties": {
        "jsonrpc": {
          "type": "string",
          "example": "2.0"
        },
        "id": {
          "type": "integer",
          "example": 1
        },
        "result": {
          "type": "string",
          "description": "Current L1 gas price in wei",
          "example": "0x11cccd9f58"
        }
      }
    },
    "FeeParamsResponse": {
      "type": "object",
      "properties": {
        "jsonrpc": {
          "type": "string",
          "example": "2.0"
        },
        "id": {
          "type": "integer",
          "example": 1
        },
        "result": {
          "type": "object",
          "properties": {
            "V2": {
              "type": "object",
              "properties": {
                "config": {
                  "type": "object",
                  "properties": {
                    "minimal_l2_gas_price": {
                      "type": "integer",
                      "description": "Minimal gas price on L2"
                    },
                    "compute_overhead_part": {
                      "type": "number",
                      "description": "Compute overhead part in fee calculation"
                    },
                    "pubdata_overhead_part": {
                      "type": "number",
                      "description": "Public data overhead part in fee calculation"
                    },
                    "batch_overhead_l1_gas": {
                      "type": "integer",
                      "description": "Overhead in L1 gas for a batch of transactions"
                    },
                    "max_gas_per_batch": {
                      "type": "integer",
                      "description": "Maximum gas allowed per batch"
                    },
                    "max_pubdata_per_batch": {
                      "type": "integer",
                      "description": "Maximum amount of public data allowed per batch"
                    }
                  }
                },
                "l1_gas_price": {
                  "type": "integer",
                  "description": "Current L1 gas price"
                },
                "l1_pubdata_price": {
                  "type": "integer",
                  "description": "Current L1 public data price"
                }
              }
            }
          }
        }
      }
    },
    "ProofResponse": {
      "type": "object",
      "properties": {
        "jsonrpc": {
          "type": "string",
          "example": "2.0"
        },
        "id": {
          "type": "integer",
          "example": 1
        },
        "result": {
          "type": "object",
          "properties": {
            "address": {
              "type": "string",
              "description": "Account address associated with the storage proofs"
            },
            "storageProof": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "Storage key for which the proof is provided"
                  },
                  "value": {
                    "type": "string",
                    "description": "Value stored in the specified storage key"
                  },
                  "index": {
                    "type": "integer",
                    "description": "Position of the tree entry within the Merkle tree"
                  },
                  "proof": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Array of hashes that constitute the Merkle path"
                  }
                }
              }
            }
          }
        }
      }
    },
    "SendRawTransactionWithDetailedOutputResponse": {
      "type": "object",
      "properties": {
        "jsonrpc": {
          "type": "string",
          "example": "2.0"
        },
        "id": {
          "type": "integer",
          "example": 1
        },
        "result": {
          "type": "object",
          "properties": {
            "transactionHash": {
              "type": "string",
              "description": "Hash of the transaction"
            },
            "storageLogs": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "address": {
                    "type": "string",
                    "description": "Address of the contract"
                  },
                  "key": {
                    "type": "string",
                    "description": "Storage key"
                  },
                  "writtenValue": {
                    "type": "string",
                    "description": "Value written to storage"
                  }
                }
              }
            },
            "events": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "address": {
                    "type": "string",
                    "description": "Address of the contract that emitted the event"
                  },
                  "topics": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Array of topics for the event"
                  },
                  "data": {
                    "type": "string",
                    "description": "Data for the event"
                  },
                  "blockHash": {
                    "type": ["string", "null"],
                    "description": "Hash of the block"
                  },
                  "blockNumber": {
                    "type": ["string", "null"],
                    "description": "Block number"
                  },
                  "l1BatchNumber": {
                    "type": "string",
                    "description": "L1 batch number"
                  },
                  "transactionHash": {
                    "type": "string",
                    "description": "Hash of the transaction"
                  },
                  "transactionIndex": {
                    "type": "string",
                    "description": "Index of the transaction"
                  },
                  "logIndex": {
                    "type": ["string", "null"],
                    "description": "Index of the log"
                  },
                  "transactionLogIndex": {
                    "type": ["string", "null"],
                    "description": "Index of the transaction log"
                  },
                  "logType": {
                    "type": ["string", "null"],
                    "description": "Type of the log"
                  },
                  "removed": {
                    "type": "boolean",
                    "description": "Whether the log was removed"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
