{
  "openrpc": "1.2.6",
  "info": {
    "title": "java-tron JSON-RPC API",
    "version": "1.0.0",
    "description": "Machine-readable definition generated from java-tron source code, with human-facing metadata linked to the markdown API documentation.",
    "x-java-tron-source": {
      "repo": "tronprotocol/java-tron",
      "commit": "f8ff7c76f45ab41d9bb76922329657506819701b",
      "version": "GreatVoyage-v4.8.2"
    }
  },
  "servers": [
    {
      "name": "Nile testnet",
      "url": "https://nile.trongrid.io/jsonrpc"
    },
    {
      "name": "Local FullNode",
      "url": "http://127.0.0.1:8545/jsonrpc"
    },
    {
      "name": "Local Solidity",
      "url": "http://127.0.0.1:8555/jsonrpc"
    }
  ],
  "methods": [
    {
      "name": "web3_clientVersion",
      "tags": [
        {
          "name": "Node info / chain identity"
        }
      ],
      "summary": "Client version string",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/node/web3_clientVersion.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [],
      "result": {
        "name": "result",
        "schema": {
          "type": "string",
          "x-java-type": "String"
        }
      },
      "errors": [],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/node/web3_clientVersion.md"
      },
      "x-source-derived": true,
      "x-java-method": "web3ClientVersion",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#web3_clientVersion",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#web3ClientVersion"
      ],
      "x-tron-error-catalog": []
    },
    {
      "name": "web3_sha3",
      "tags": [
        {
          "name": "Node info / chain identity"
        }
      ],
      "summary": "Keccak-256 hash",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/node/web3_sha3.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [
        {
          "name": "data",
          "required": true,
          "description": "Hex-encoded input data.",
          "schema": {
            "type": "string"
          },
          "x-java-type": "String",
          "x-position": 0
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "type": "string",
          "x-java-type": "String"
        }
      },
      "errors": [
        {
          "code": -32602,
          "message": "JsonRpcInvalidParamsException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/node/web3_sha3.md"
      },
      "x-source-derived": true,
      "x-java-method": "web3Sha3",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#web3_sha3",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#web3Sha3"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_INVALID_PARAMS"
        }
      ]
    },
    {
      "name": "net_version",
      "tags": [
        {
          "name": "Node info / chain identity"
        }
      ],
      "summary": "Network ID (same as eth_chainId)",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/node/net_version.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [],
      "result": {
        "name": "result",
        "schema": {
          "type": "string",
          "x-java-type": "String"
        }
      },
      "errors": [
        {
          "code": -32001,
          "message": "<underlying exception message>"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/node/net_version.md"
      },
      "x-source-derived": true,
      "x-java-method": "getNetVersion",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#net_version",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#getNetVersion"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_UNDERLYING_INTERNAL_ERROR"
        }
      ]
    },
    {
      "name": "net_listening",
      "tags": [
        {
          "name": "Node info / chain identity"
        }
      ],
      "summary": "Whether listening on P2P",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/node/net_listening.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [],
      "result": {
        "name": "result",
        "schema": {
          "type": "boolean",
          "x-java-type": "boolean"
        }
      },
      "errors": [],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/node/net_listening.md"
      },
      "x-source-derived": true,
      "x-java-method": "isListening",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#net_listening",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#isListening"
      ],
      "x-tron-error-catalog": []
    },
    {
      "name": "net_peerCount",
      "tags": [
        {
          "name": "Node info / chain identity"
        }
      ],
      "summary": "Number of peers",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/node/net_peerCount.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [],
      "result": {
        "name": "result",
        "schema": {
          "type": "string",
          "x-java-type": "String"
        }
      },
      "errors": [],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/node/net_peerCount.md"
      },
      "x-source-derived": true,
      "x-java-method": "getPeerCount",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#net_peerCount",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#getPeerCount"
      ],
      "x-tron-error-catalog": []
    },
    {
      "name": "eth_chainId",
      "tags": [
        {
          "name": "Node info / chain identity"
        }
      ],
      "summary": "chainId (last 4 bytes of the genesis block hash)",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/node/eth_chainId.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [],
      "result": {
        "name": "result",
        "schema": {
          "type": "string",
          "x-java-type": "String"
        }
      },
      "errors": [
        {
          "code": -32001,
          "message": "<underlying exception message>"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/node/eth_chainId.md"
      },
      "x-source-derived": true,
      "x-java-method": "ethChainId",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_chainId",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#ethChainId"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_UNDERLYING_INTERNAL_ERROR"
        }
      ]
    },
    {
      "name": "eth_protocolVersion",
      "tags": [
        {
          "name": "Node info / chain identity"
        }
      ],
      "summary": "Protocol version of the current block header",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/node/eth_protocolVersion.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [],
      "result": {
        "name": "result",
        "schema": {
          "type": "string",
          "x-java-type": "String"
        }
      },
      "errors": [],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/node/eth_protocolVersion.md"
      },
      "x-source-derived": true,
      "x-java-method": "getProtocolVersion",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_protocolVersion",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#getProtocolVersion"
      ],
      "x-tron-error-catalog": []
    },
    {
      "name": "eth_syncing",
      "tags": [
        {
          "name": "Node info / chain identity"
        }
      ],
      "summary": "Sync status",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/node/eth_syncing.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [],
      "result": {
        "name": "result",
        "schema": {
          "x-java-type": "Object",
          "oneOf": [
            {
              "type": "boolean",
              "const": false,
              "title": "EthSyncingResultFalse1"
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "startingBlock": {
                  "type": "string"
                },
                "currentBlock": {
                  "type": "string"
                },
                "highestBlock": {
                  "type": "string"
                }
              },
              "required": [
                "startingBlock",
                "currentBlock",
                "highestBlock"
              ],
              "title": "EthSyncingResultRequiresStartingBlockCurrentBlockHighestBlock2"
            }
          ]
        }
      },
      "errors": [],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/node/eth_syncing.md"
      },
      "x-source-derived": true,
      "x-java-method": "getSyncingStatus",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_syncing",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#getSyncingStatus",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#class SyncingResult"
      ],
      "x-tron-error-catalog": []
    },
    {
      "name": "eth_blockNumber",
      "tags": [
        {
          "name": "Node info / chain identity"
        }
      ],
      "summary": "Latest block height",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/node/eth_blockNumber.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [],
      "result": {
        "name": "result",
        "schema": {
          "type": "string",
          "x-java-type": "String"
        }
      },
      "errors": [],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/node/eth_blockNumber.md"
      },
      "x-source-derived": true,
      "x-java-method": "getLatestBlockNum",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_blockNumber",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#getLatestBlockNum"
      ],
      "x-tron-error-catalog": []
    },
    {
      "name": "eth_gasPrice",
      "tags": [
        {
          "name": "Node info / chain identity"
        }
      ],
      "summary": "Current energy unit price (sun)",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/node/eth_gasPrice.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [],
      "result": {
        "name": "result",
        "schema": {
          "type": "string",
          "x-java-type": "String"
        }
      },
      "errors": [],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/node/eth_gasPrice.md"
      },
      "x-source-derived": true,
      "x-java-method": "gasPrice",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_gasPrice",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#gasPrice"
      ],
      "x-tron-error-catalog": []
    },
    {
      "name": "eth_getBlockByHash",
      "tags": [
        {
          "name": "Block / transaction query"
        }
      ],
      "summary": "Query a block by hash",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/block-and-tx-query/eth_getBlockByHash.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [
        {
          "name": "blockHash",
          "required": true,
          "schema": {
            "type": "string",
            "pattern": "^(0x)?[0-9a-fA-F]{64}$"
          },
          "x-java-type": "String",
          "x-position": 0,
          "description": "32-byte block hash, with or without the 0x prefix."
        },
        {
          "name": "fullTransactionObjects",
          "required": true,
          "schema": {
            "type": "boolean"
          },
          "x-java-type": "Boolean",
          "x-position": 1,
          "description": "Whether to return full transaction objects instead of transaction hashes."
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/BlockResult"
            },
            {
              "type": "null",
              "title": "EthGetBlockByHashResultNull2"
            }
          ]
        }
      },
      "errors": [
        {
          "code": -32602,
          "message": "JsonRpcInvalidParamsException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/block-and-tx-query/eth_getBlockByHash.md"
      },
      "x-source-derived": true,
      "x-java-method": "ethGetBlockByHash",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_getBlockByHash",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#ethGetBlockByHash",
        "framework/src/main/java/org/tron/core/services/jsonrpc/types/BlockResult.java#class BlockResult",
        "framework/src/main/java/org/tron/core/services/jsonrpc/types/TransactionResult.java#class TransactionResult"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_INVALID_PARAMS"
        }
      ]
    },
    {
      "name": "eth_getBlockByNumber",
      "tags": [
        {
          "name": "Block / transaction query"
        }
      ],
      "summary": "Query a block by height / tag",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/block-and-tx-query/eth_getBlockByNumber.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [
        {
          "name": "bnOrId",
          "required": true,
          "description": "Non-negative block height (0x-prefixed hexadecimal or decimal) or case-insensitive latest, earliest, or finalized tag.",
          "schema": {
            "oneOf": [
              {
                "type": "string",
                "pattern": "^(?:[lL][aA][tT][eE][sS][tT]|[eE][aA][rR][lL][iI][eE][sS][tT]|[fF][iI][nN][aA][lL][iI][zZ][eE][dD])$",
                "title": "EthGetBlockByNumberParamString1"
              },
              {
                "$ref": "#/components/schemas/BlockNumber"
              }
            ]
          },
          "x-java-type": "String",
          "x-position": 0
        },
        {
          "name": "fullTransactionObjects",
          "required": true,
          "description": "Whether to return full transaction objects instead of transaction hashes.",
          "schema": {
            "type": "boolean"
          },
          "x-java-type": "Boolean",
          "x-position": 1
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/BlockResult"
            },
            {
              "type": "null",
              "title": "EthGetBlockByNumberResultNull2"
            }
          ]
        }
      },
      "errors": [
        {
          "code": -32602,
          "message": "JsonRpcInvalidParamsException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/block-and-tx-query/eth_getBlockByNumber.md"
      },
      "x-source-derived": true,
      "x-java-method": "ethGetBlockByNumber",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_getBlockByNumber",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#ethGetBlockByNumber",
        "framework/src/main/java/org/tron/core/services/jsonrpc/JsonRpcApiUtil.java#parseBlockNumber",
        "framework/src/main/java/org/tron/core/services/jsonrpc/types/BlockResult.java#class BlockResult",
        "framework/src/main/java/org/tron/core/services/jsonrpc/types/TransactionResult.java#class TransactionResult"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_INVALID_PARAMS"
        }
      ]
    },
    {
      "name": "eth_getBlockTransactionCountByHash",
      "tags": [
        {
          "name": "Block / transaction query"
        }
      ],
      "summary": "Block transaction count (by hash)",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/block-and-tx-query/eth_getBlockTransactionCountByHash.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [
        {
          "name": "blockHash",
          "required": true,
          "schema": {
            "type": "string",
            "pattern": "^(0x)?[0-9a-fA-F]{64}$"
          },
          "x-java-type": "String",
          "x-position": 0,
          "description": "32-byte block hash, with or without the 0x prefix."
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "oneOf": [
            {
              "type": "string",
              "x-java-type": "String",
              "title": "EthGetBlockTransactionCountByHashResultString1"
            },
            {
              "type": "null",
              "title": "EthGetBlockTransactionCountByHashResultNull2"
            }
          ]
        }
      },
      "errors": [
        {
          "code": -32602,
          "message": "JsonRpcInvalidParamsException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/block-and-tx-query/eth_getBlockTransactionCountByHash.md"
      },
      "x-source-derived": true,
      "x-java-method": "ethGetBlockTransactionCountByHash",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_getBlockTransactionCountByHash",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#ethGetBlockTransactionCountByHash"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_INVALID_PARAMS"
        }
      ]
    },
    {
      "name": "eth_getBlockTransactionCountByNumber",
      "tags": [
        {
          "name": "Block / transaction query"
        }
      ],
      "summary": "Block transaction count (by height)",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/block-and-tx-query/eth_getBlockTransactionCountByNumber.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [
        {
          "name": "bnOrId",
          "required": true,
          "description": "Non-negative block height (0x-prefixed hexadecimal or decimal) or case-insensitive latest, earliest, or finalized tag.",
          "schema": {
            "oneOf": [
              {
                "type": "string",
                "pattern": "^(?:[lL][aA][tT][eE][sS][tT]|[eE][aA][rR][lL][iI][eE][sS][tT]|[fF][iI][nN][aA][lL][iI][zZ][eE][dD])$",
                "title": "EthGetBlockTransactionCountByNumberParamString1"
              },
              {
                "$ref": "#/components/schemas/BlockNumber"
              }
            ]
          },
          "x-java-type": "String",
          "x-position": 0
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "oneOf": [
            {
              "type": "string",
              "x-java-type": "String",
              "title": "EthGetBlockTransactionCountByNumberResultString1"
            },
            {
              "type": "null",
              "title": "EthGetBlockTransactionCountByNumberResultNull2"
            }
          ]
        }
      },
      "errors": [
        {
          "code": -32602,
          "message": "JsonRpcInvalidParamsException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/block-and-tx-query/eth_getBlockTransactionCountByNumber.md"
      },
      "x-source-derived": true,
      "x-java-method": "ethGetBlockTransactionCountByNumber",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_getBlockTransactionCountByNumber",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#ethGetBlockTransactionCountByNumber"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_INVALID_PARAMS"
        }
      ]
    },
    {
      "name": "eth_getTransactionByHash",
      "tags": [
        {
          "name": "Block / transaction query"
        }
      ],
      "summary": "Query a transaction by txid",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/block-and-tx-query/eth_getTransactionByHash.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [
        {
          "name": "txId",
          "required": true,
          "schema": {
            "type": "string",
            "pattern": "^(0x)?[0-9a-fA-F]{64}$"
          },
          "x-java-type": "String",
          "x-position": 0,
          "description": "32-byte transaction id, with or without the 0x prefix."
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/TransactionResult"
            },
            {
              "type": "null",
              "title": "EthGetTransactionByHashResultNull2"
            }
          ]
        }
      },
      "errors": [
        {
          "code": -32602,
          "message": "JsonRpcInvalidParamsException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/block-and-tx-query/eth_getTransactionByHash.md"
      },
      "x-source-derived": true,
      "x-java-method": "getTransactionByHash",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_getTransactionByHash",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#getTransactionByHash",
        "framework/src/main/java/org/tron/core/services/jsonrpc/types/TransactionResult.java#class TransactionResult"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_INVALID_PARAMS"
        }
      ]
    },
    {
      "name": "eth_getTransactionByBlockHashAndIndex",
      "tags": [
        {
          "name": "Block / transaction query"
        }
      ],
      "summary": "Query a transaction by block hash + index",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/block-and-tx-query/eth_getTransactionByBlockHashAndIndex.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [
        {
          "name": "blockHash",
          "required": true,
          "schema": {
            "type": "string",
            "pattern": "^(0x)?[0-9a-fA-F]{64}$"
          },
          "x-java-type": "String",
          "x-position": 0,
          "description": "32-byte block hash, with or without the 0x prefix."
        },
        {
          "name": "index",
          "required": true,
          "schema": {
            "type": "string",
            "pattern": "^0x(?:[0-9a-fA-F]{1,7}|[0-7][0-9a-fA-F]{7})$"
          },
          "x-java-type": "String",
          "x-position": 1,
          "description": "Hex-encoded transaction index within the block."
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/TransactionResult"
            },
            {
              "type": "null",
              "title": "EthGetTransactionByBlockHashAndIndexResultNull2"
            }
          ]
        }
      },
      "errors": [
        {
          "code": -32602,
          "message": "JsonRpcInvalidParamsException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/block-and-tx-query/eth_getTransactionByBlockHashAndIndex.md"
      },
      "x-source-derived": true,
      "x-java-method": "getTransactionByBlockHashAndIndex",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_getTransactionByBlockHashAndIndex",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#getTransactionByBlockHashAndIndex",
        "framework/src/main/java/org/tron/core/services/jsonrpc/types/TransactionResult.java#class TransactionResult"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_INVALID_PARAMS"
        }
      ]
    },
    {
      "name": "eth_getTransactionByBlockNumberAndIndex",
      "tags": [
        {
          "name": "Block / transaction query"
        }
      ],
      "summary": "Query a transaction by block height + index",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/block-and-tx-query/eth_getTransactionByBlockNumberAndIndex.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [
        {
          "name": "blockNumOrTag",
          "required": true,
          "description": "Non-negative block height (0x-prefixed hexadecimal or decimal) or case-insensitive latest, earliest, or finalized tag.",
          "schema": {
            "oneOf": [
              {
                "type": "string",
                "pattern": "^(?:[lL][aA][tT][eE][sS][tT]|[eE][aA][rR][lL][iI][eE][sS][tT]|[fF][iI][nN][aA][lL][iI][zZ][eE][dD])$",
                "title": "EthGetTransactionByBlockNumberAndIndexParamString1"
              },
              {
                "$ref": "#/components/schemas/BlockNumber"
              }
            ]
          },
          "x-java-type": "String",
          "x-position": 0
        },
        {
          "name": "index",
          "required": true,
          "description": "0x-prefixed transaction index from 0x0 through 0x7fffffff.",
          "schema": {
            "type": "string",
            "pattern": "^0x(?:[0-9a-fA-F]{1,7}|[0-7][0-9a-fA-F]{7})$"
          },
          "x-java-type": "String",
          "x-position": 1
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/TransactionResult"
            },
            {
              "type": "null",
              "title": "EthGetTransactionByBlockNumberAndIndexResultNull2"
            }
          ]
        }
      },
      "errors": [
        {
          "code": -32602,
          "message": "JsonRpcInvalidParamsException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/block-and-tx-query/eth_getTransactionByBlockNumberAndIndex.md"
      },
      "x-source-derived": true,
      "x-java-method": "getTransactionByBlockNumberAndIndex",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_getTransactionByBlockNumberAndIndex",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#getTransactionByBlockNumberAndIndex",
        "framework/src/main/java/org/tron/core/services/jsonrpc/types/TransactionResult.java#class TransactionResult"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_INVALID_PARAMS"
        }
      ]
    },
    {
      "name": "eth_getTransactionReceipt",
      "tags": [
        {
          "name": "Block / transaction query"
        }
      ],
      "summary": "Query a receipt by txid",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/block-and-tx-query/eth_getTransactionReceipt.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [
        {
          "name": "txid",
          "required": true,
          "schema": {
            "type": "string",
            "pattern": "^(0x)?[0-9a-fA-F]{64}$"
          },
          "x-java-type": "String",
          "x-position": 0,
          "description": "32-byte transaction id, with or without the 0x prefix."
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/TransactionReceipt"
            },
            {
              "type": "null",
              "title": "EthGetTransactionReceiptResultNull2"
            }
          ]
        }
      },
      "errors": [
        {
          "code": -32602,
          "message": "JsonRpcInvalidParamsException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/block-and-tx-query/eth_getTransactionReceipt.md"
      },
      "x-source-derived": true,
      "x-java-method": "getTransactionReceipt",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_getTransactionReceipt",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#getTransactionReceipt",
        "framework/src/main/java/org/tron/core/services/jsonrpc/types/TransactionReceipt.java#class TransactionReceipt"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_INVALID_PARAMS"
        }
      ]
    },
    {
      "name": "eth_getBlockReceipts",
      "tags": [
        {
          "name": "Block / transaction query"
        }
      ],
      "summary": "Receipt list for an entire block",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/block-and-tx-query/eth_getBlockReceipts.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [
        {
          "name": "blockNumOrHashOrTag",
          "required": true,
          "description": "Strict 32-byte block hash, non-negative block height (0x-prefixed hexadecimal or decimal), or case-insensitive latest, earliest, or finalized tag.",
          "schema": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^(0x)?[0-9a-fA-F]{64}$",
                "title": "EthGetBlockReceiptsParamString1"
              },
              {
                "type": "string",
                "pattern": "^(?:[lL][aA][tT][eE][sS][tT]|[eE][aA][rR][lL][iI][eE][sS][tT]|[fF][iI][nN][aA][lL][iI][zZ][eE][dD])$",
                "title": "EthGetBlockReceiptsParamString2"
              },
              {
                "$ref": "#/components/schemas/BlockNumber"
              }
            ]
          },
          "x-java-type": "String",
          "x-position": 0
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "oneOf": [
            {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TransactionReceipt"
              },
              "title": "EthGetBlockReceiptsResultArray1"
            },
            {
              "type": "null",
              "title": "EthGetBlockReceiptsResultNull2"
            }
          ]
        }
      },
      "errors": [
        {
          "code": -32602,
          "message": "JsonRpcInvalidParamsException"
        },
        {
          "code": -32000,
          "message": "JsonRpcInternalException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/block-and-tx-query/eth_getBlockReceipts.md"
      },
      "x-source-derived": true,
      "x-java-method": "getBlockReceipts",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_getBlockReceipts",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#getBlockReceipts",
        "framework/src/main/java/org/tron/core/services/jsonrpc/types/TransactionReceipt.java#class TransactionReceipt"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_INVALID_PARAMS"
        },
        {
          "errorIndex": 1,
          "catalogId": "JSON_RPC_INTERNAL_ERROR"
        }
      ]
    },
    {
      "name": "eth_getBalance",
      "tags": [
        {
          "name": "Account state"
        }
      ],
      "summary": "Account TRX balance (sun)",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/account/eth_getBalance.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [
        {
          "name": "address",
          "required": true,
          "schema": {
            "type": "string",
            "pattern": "^(0x)?(?:[0-9a-fA-F]{39,40}|41[0-9a-fA-F]{40})$",
            "description": "EVM hex address using 39 or 40 digits (39 digits are left-padded), or 21-byte Tron hex address beginning with 41; base58check is not accepted."
          },
          "x-java-type": "String",
          "x-position": 0,
          "description": "Account or contract address."
        },
        {
          "name": "blockNumOrTag",
          "required": true,
          "description": "Only the case-insensitive latest tag is supported.",
          "schema": {
            "type": "string",
            "pattern": "^[lL][aA][tT][eE][sS][tT]$"
          },
          "x-java-type": "String",
          "x-position": 1
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "type": "string",
          "x-java-type": "String"
        }
      },
      "errors": [
        {
          "code": -32602,
          "message": "JsonRpcInvalidParamsException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/account/eth_getBalance.md"
      },
      "x-source-derived": true,
      "x-java-method": "getTrxBalance",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_getBalance",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#getTrxBalance"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_INVALID_PARAMS"
        }
      ]
    },
    {
      "name": "eth_getStorageAt",
      "tags": [
        {
          "name": "Account state"
        }
      ],
      "summary": "Contract storage slot",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/account/eth_getStorageAt.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [
        {
          "name": "address",
          "required": true,
          "schema": {
            "type": "string",
            "pattern": "^(0x)?(?:[0-9a-fA-F]{39,40}|41[0-9a-fA-F]{40})$",
            "description": "EVM hex address using 39 or 40 digits (39 digits are left-padded), or 21-byte Tron hex address beginning with 41; base58check is not accepted."
          },
          "x-java-type": "String",
          "x-position": 0,
          "description": "Account or contract address."
        },
        {
          "name": "storageIdx",
          "required": true,
          "schema": {
            "type": "string",
            "pattern": "^(0x)?[0-9a-fA-F]{0,64}$",
            "description": "Hex storage slot of at most 32 bytes, with or without 0x; shorter values are left-padded with zeros."
          },
          "x-java-type": "String",
          "x-position": 1,
          "description": "Storage slot index."
        },
        {
          "name": "blockNumOrTag",
          "required": true,
          "description": "Only the case-insensitive latest tag is supported.",
          "schema": {
            "type": "string",
            "pattern": "^[lL][aA][tT][eE][sS][tT]$"
          },
          "x-java-type": "String",
          "x-position": 2
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "type": "string",
          "x-java-type": "String"
        }
      },
      "errors": [
        {
          "code": -32602,
          "message": "JsonRpcInvalidParamsException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/account/eth_getStorageAt.md"
      },
      "x-source-derived": true,
      "x-java-method": "getStorageAt",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_getStorageAt",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#getStorageAt"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_INVALID_PARAMS"
        }
      ]
    },
    {
      "name": "eth_getCode",
      "tags": [
        {
          "name": "Account state"
        }
      ],
      "summary": "Contract runtime bytecode",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/account/eth_getCode.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [
        {
          "name": "contractAddress",
          "required": true,
          "schema": {
            "type": "string",
            "pattern": "^(0x)?(?:[0-9a-fA-F]{39,40}|41[0-9a-fA-F]{40})$",
            "description": "EVM hex address using 39 or 40 digits (39 digits are left-padded), or 21-byte Tron hex address beginning with 41; base58check is not accepted."
          },
          "x-java-type": "String",
          "x-position": 0,
          "description": "Contract address."
        },
        {
          "name": "bnOrId",
          "required": true,
          "description": "Only the case-insensitive latest tag is supported.",
          "schema": {
            "type": "string",
            "pattern": "^[lL][aA][tT][eE][sS][tT]$"
          },
          "x-java-type": "String",
          "x-position": 1
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "type": "string",
          "x-java-type": "String"
        }
      },
      "errors": [
        {
          "code": -32602,
          "message": "JsonRpcInvalidParamsException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/account/eth_getCode.md"
      },
      "x-source-derived": true,
      "x-java-method": "getABIOfSmartContract",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_getCode",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#getABIOfSmartContract"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_INVALID_PARAMS"
        }
      ]
    },
    {
      "name": "eth_call",
      "tags": [
        {
          "name": "Smart contract calls"
        }
      ],
      "summary": "Read-only contract call",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/smart-contract/eth_call.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [
        {
          "name": "transactionCall",
          "required": true,
          "schema": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "from": {
                "type": "string",
                "pattern": "^(0x)?(?:[0-9a-fA-F]{39,40}|41[0-9a-fA-F]{40})$",
                "description": "EVM hex address using 39 or 40 digits (39 digits are left-padded), or 21-byte Tron hex address beginning with 41; base58check is not accepted."
              },
              "to": {
                "type": "string",
                "pattern": "^(0x)?(?:[0-9a-fA-F]{39,40}|41[0-9a-fA-F]{40})$",
                "description": "EVM hex address using 39 or 40 digits (39 digits are left-padded), or 21-byte Tron hex address beginning with 41; base58check is not accepted."
              },
              "gas": {
                "oneOf": [
                  {
                    "type": "string",
                    "title": "EthCallGasString"
                  },
                  {
                    "type": "null",
                    "title": "EthCallGasNull"
                  }
                ],
                "description": "Accepted but ignored."
              },
              "gasPrice": {
                "oneOf": [
                  {
                    "type": "string",
                    "title": "EthCallGasPriceString"
                  },
                  {
                    "type": "null",
                    "title": "EthCallGasPriceNull"
                  }
                ],
                "description": "Accepted but ignored."
              },
              "value": {
                "oneOf": [
                  {
                    "type": "null",
                    "title": "EthCallValueNull"
                  },
                  {
                    "type": "string",
                    "enum": [
                      ""
                    ],
                    "title": "EthCallValueEmpty"
                  },
                  {
                    "type": "string",
                    "pattern": "^0x(?:\\+?0*(?:[0-9a-fA-F]{1,15}|[0-7][0-9a-fA-F]{15})|-0+)$",
                    "title": "EthCallValueHexLong"
                  }
                ],
                "description": "Source-compatible non-negative hex long. null or an empty string means zero; non-empty values require a lowercase 0x prefix and must fit in signed long range."
              },
              "data": {
                "oneOf": [
                  {
                    "type": "null",
                    "title": "EthCallDataNull"
                  },
                  {
                    "type": "string",
                    "pattern": "^(?:0x)?[0-9a-fA-F]*$",
                    "title": "EthCallDataHex"
                  }
                ],
                "description": "Lenient hex calldata. null and empty values are accepted; the lowercase 0x prefix is optional and odd-length payloads are left-padded before decoding."
              },
              "input": {
                "oneOf": [
                  {
                    "type": "null",
                    "title": "EthCallInputNull"
                  },
                  {
                    "type": "string",
                    "pattern": "^(?:|0x(?:[0-9a-fA-F]{2})*)$",
                    "title": "EthCallInputHex"
                  }
                ],
                "description": "Strict hex calldata alias. null and an empty string are accepted; otherwise a lowercase 0x prefix and an even-length payload are required. When input is non-null, it takes precedence over data."
              },
              "nonce": {
                "oneOf": [
                  {
                    "type": "string",
                    "title": "EthCallNonceString"
                  },
                  {
                    "type": "null",
                    "title": "EthCallNonceNull"
                  }
                ],
                "description": "Accepted but ignored."
              }
            },
            "required": [
              "to"
            ]
          },
          "x-java-type": "CallArguments",
          "x-position": 0,
          "description": "Transaction call arguments."
        },
        {
          "name": "blockNumOrTag",
          "required": true,
          "description": "Case-insensitive latest tag or object containing blockNumber and/or blockHash; blockNumber takes precedence.",
          "schema": {
            "oneOf": [
              {
                "type": "string",
                "pattern": "^[lL][aA][tT][eE][sS][tT]$",
                "title": "EthCallParamString1"
              },
              {
                "type": "object",
                "additionalProperties": true,
                "description": "At least one selector is required. If both are present, blockNumber takes precedence; other properties are ignored.",
                "properties": {
                  "blockNumber": {
                    "$ref": "#/components/schemas/BlockNumber",
                    "description": "Non-negative block number encoded as 0x-prefixed hexadecimal or decimal, limited to signed long range."
                  },
                  "blockHash": {
                    "type": "string",
                    "pattern": "^(0x)?[0-9a-fA-F]{64}$",
                    "description": "32-byte block hash, with or without the 0x prefix."
                  }
                },
                "anyOf": [
                  {
                    "required": [
                      "blockNumber"
                    ],
                    "title": "EthCallParamNested1RequiresBlockNumber1"
                  },
                  {
                    "required": [
                      "blockHash"
                    ],
                    "title": "EthCallParamNested1RequiresBlockHash2"
                  }
                ],
                "title": "EthCallParamObject2"
              }
            ]
          },
          "x-java-type": "Object",
          "x-position": 1
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "type": "string",
          "x-java-type": "String"
        }
      },
      "errors": [
        {
          "code": -32600,
          "message": "JsonRpcInvalidRequestException"
        },
        {
          "code": -32602,
          "message": "JsonRpcInvalidParamsException"
        },
        {
          "code": -32000,
          "message": "JsonRpcInternalException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/smart-contract/eth_call.md"
      },
      "x-source-derived": true,
      "x-java-method": "getCall",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_call",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#getCall",
        "framework/src/main/java/org/tron/core/services/jsonrpc/types/CallArguments.java#input"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_INVALID_REQUEST"
        },
        {
          "errorIndex": 1,
          "catalogId": "JSON_RPC_INVALID_PARAMS"
        },
        {
          "errorIndex": 2,
          "catalogId": "JSON_RPC_INTERNAL_ERROR"
        }
      ]
    },
    {
      "name": "eth_estimateGas",
      "tags": [
        {
          "name": "Smart contract calls"
        }
      ],
      "summary": "Estimate energy consumption",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/smart-contract/eth_estimateGas.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [
        {
          "name": "args",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/TransactionCall"
          },
          "x-java-type": "CallArguments",
          "x-position": 0,
          "description": "Transaction call arguments."
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "type": "string",
          "x-java-type": "String"
        }
      },
      "errors": [
        {
          "code": -32600,
          "message": "JsonRpcInvalidRequestException"
        },
        {
          "code": -32602,
          "message": "JsonRpcInvalidParamsException"
        },
        {
          "code": -32000,
          "message": "JsonRpcInternalException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/smart-contract/eth_estimateGas.md"
      },
      "x-source-derived": true,
      "x-java-method": "estimateGas",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_estimateGas",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#estimateGas",
        "framework/src/main/java/org/tron/core/services/jsonrpc/types/CallArguments.java#input"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_INVALID_REQUEST"
        },
        {
          "errorIndex": 1,
          "catalogId": "JSON_RPC_INVALID_PARAMS"
        },
        {
          "errorIndex": 2,
          "catalogId": "JSON_RPC_INTERNAL_ERROR"
        }
      ]
    },
    {
      "name": "eth_getLogs",
      "tags": [
        {
          "name": "Logs / filters"
        }
      ],
      "summary": "One-shot log query",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/filter/eth_getLogs.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [
        {
          "name": "fr",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/LogFilter"
          },
          "x-java-type": "FilterRequest",
          "x-position": 0,
          "description": "Log filter request."
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Log"
          },
          "x-java-type": "LogFilterElement[]"
        }
      },
      "errors": [
        {
          "code": -32602,
          "message": "JsonRpcInvalidParamsException"
        },
        {
          "code": -32601,
          "message": "JsonRpcMethodNotFoundException"
        },
        {
          "code": -32005,
          "message": "JsonRpcTooManyResultException"
        },
        {
          "code": -32000,
          "message": "BadItemException"
        },
        {
          "code": -32000,
          "message": "ExecutionException"
        },
        {
          "code": -32000,
          "message": "InterruptedException"
        },
        {
          "code": -32000,
          "message": "ItemNotFoundException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/filter/eth_getLogs.md"
      },
      "x-source-derived": true,
      "x-java-method": "getLogs",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_getLogs",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#getLogs",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#class FilterRequest",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#class LogFilterElement"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_INVALID_PARAMS"
        },
        {
          "errorIndex": 1,
          "catalogId": "JSON_RPC_METHOD_NOT_FOUND"
        },
        {
          "errorIndex": 2,
          "catalogId": "JSON_RPC_TOO_MANY_RESULTS"
        },
        {
          "errorIndex": 3,
          "catalogId": "JSON_RPC_BAD_ITEM"
        },
        {
          "errorIndex": 4,
          "catalogId": "JSON_RPC_EXECUTION_ERROR"
        },
        {
          "errorIndex": 5,
          "catalogId": "JSON_RPC_INTERRUPTED"
        },
        {
          "errorIndex": 6,
          "catalogId": "JSON_RPC_ITEM_NOT_FOUND"
        }
      ]
    },
    {
      "name": "eth_newFilter",
      "tags": [
        {
          "name": "Logs / filters"
        }
      ],
      "summary": "Register a log filter",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/filter/eth_newFilter.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [
        {
          "name": "fr",
          "required": true,
          "schema": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "fromBlock": {
                "oneOf": [
                  {
                    "type": "string",
                    "title": "NewFilterFromBlockTag",
                    "pattern": "^(?:|[lL][aA][tT][eE][sS][tT]|[eE][aA][rR][lL][iI][eE][sS][tT])$"
                  },
                  {
                    "title": "NewFilterFromBlockNumber",
                    "$ref": "#/components/schemas/HexBlockNumber"
                  },
                  {
                    "type": "null",
                    "title": "NewFilterFromBlockNull"
                  }
                ],
                "description": "Start block for a log filter."
              },
              "toBlock": {
                "oneOf": [
                  {
                    "type": "string",
                    "title": "NewFilterToBlockTag",
                    "pattern": "^(?:|[lL][aA][tT][eE][sS][tT]|[eE][aA][rR][lL][iI][eE][sS][tT])$"
                  },
                  {
                    "title": "NewFilterToBlockNumber",
                    "$ref": "#/components/schemas/HexBlockNumber"
                  },
                  {
                    "type": "null",
                    "title": "NewFilterToBlockNull"
                  }
                ],
                "description": "End block for a log filter."
              },
              "address": {
                "oneOf": [
                  {
                    "type": "string",
                    "title": "NewFilterAddress",
                    "pattern": "^(0x)?[0-9a-fA-F]{39,40}$"
                  },
                  {
                    "type": "array",
                    "title": "NewFilterAddressList",
                    "items": {
                      "type": "string",
                      "pattern": "^(0x)?[0-9a-fA-F]{39,40}$"
                    }
                  },
                  {
                    "type": "null",
                    "title": "NewFilterAddressNull"
                  }
                ],
                "description": "Account or contract address accepted by this endpoint."
              },
              "topics": {
                "oneOf": [
                  {
                    "type": "array",
                    "maxItems": 4,
                    "items": {
                      "oneOf": [
                        {
                          "$ref": "#/components/schemas/Topic32Input"
                        },
                        {
                          "type": "null",
                          "title": "NewFilterTopicNull"
                        },
                        {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Topic32Input"
                          },
                          "title": "EthNewFilterParamNested1Array3"
                        }
                      ]
                    },
                    "title": "EthNewFilterParamArray1"
                  },
                  {
                    "type": "null",
                    "title": "NewFilterTopicsNull"
                  }
                ],
                "description": "Log topics filter."
              },
              "blockHash": {
                "oneOf": [
                  {
                    "type": "string",
                    "pattern": "^(0x)?[0-9a-fA-F]{64}$",
                    "title": "EthNewFilterParamString1"
                  },
                  {
                    "type": "null",
                    "title": "NewFilterBlockHashNull"
                  }
                ],
                "description": "32-byte block hash, with or without the 0x prefix."
              }
            },
            "not": {
              "allOf": [
                {
                  "required": [
                    "blockHash"
                  ],
                  "properties": {
                    "blockHash": {
                      "type": "string"
                    }
                  }
                },
                {
                  "anyOf": [
                    {
                      "required": [
                        "fromBlock"
                      ],
                      "properties": {
                        "fromBlock": {
                          "type": "string"
                        }
                      },
                      "title": "EthNewFilterParamRequiresFromBlock1"
                    },
                    {
                      "required": [
                        "toBlock"
                      ],
                      "properties": {
                        "toBlock": {
                          "type": "string"
                        }
                      },
                      "title": "EthNewFilterParamRequiresToBlock2"
                    }
                  ]
                }
              ]
            }
          },
          "x-java-type": "FilterRequest",
          "x-position": 0,
          "description": "Log filter request."
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "type": "string",
          "x-java-type": "String"
        }
      },
      "errors": [
        {
          "code": -32601,
          "message": "JsonRpcMethodNotFoundException"
        },
        {
          "code": -32602,
          "message": "JsonRpcInvalidParamsException"
        },
        {
          "code": -32005,
          "message": "JsonRpcExceedLimitException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/filter/eth_newFilter.md"
      },
      "x-source-derived": true,
      "x-java-method": "newFilter",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_newFilter",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#newFilter",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#class FilterRequest"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_METHOD_NOT_FOUND"
        },
        {
          "errorIndex": 1,
          "catalogId": "JSON_RPC_INVALID_PARAMS"
        },
        {
          "errorIndex": 2,
          "catalogId": "JSON_RPC_FILTER_LIMIT_EXCEEDED"
        }
      ]
    },
    {
      "name": "eth_newBlockFilter",
      "tags": [
        {
          "name": "Logs / filters"
        }
      ],
      "summary": "Register a new-block filter",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/filter/eth_newBlockFilter.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [],
      "result": {
        "name": "result",
        "schema": {
          "type": "string",
          "x-java-type": "String"
        }
      },
      "errors": [
        {
          "code": -32005,
          "message": "JsonRpcExceedLimitException"
        },
        {
          "code": -32601,
          "message": "JsonRpcMethodNotFoundException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/filter/eth_newBlockFilter.md"
      },
      "x-source-derived": true,
      "x-java-method": "newBlockFilter",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_newBlockFilter",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#newBlockFilter"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_FILTER_LIMIT_EXCEEDED"
        },
        {
          "errorIndex": 1,
          "catalogId": "JSON_RPC_METHOD_NOT_FOUND"
        }
      ]
    },
    {
      "name": "eth_uninstallFilter",
      "tags": [
        {
          "name": "Logs / filters"
        }
      ],
      "summary": "Uninstall a filter",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/filter/eth_uninstallFilter.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [
        {
          "name": "filterId",
          "required": true,
          "description": "Filter id returned by eth_newFilter or eth_newBlockFilter.",
          "schema": {
            "type": "string"
          },
          "x-java-type": "String",
          "x-position": 0
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "type": "boolean",
          "x-java-type": "boolean"
        }
      },
      "errors": [
        {
          "code": -32601,
          "message": "JsonRpcMethodNotFoundException"
        },
        {
          "code": -32602,
          "message": "JsonRpcInvalidParamsException"
        },
        {
          "code": -32000,
          "message": "ItemNotFoundException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/filter/eth_uninstallFilter.md"
      },
      "x-source-derived": true,
      "x-java-method": "uninstallFilter",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_uninstallFilter",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#uninstallFilter"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_METHOD_NOT_FOUND"
        },
        {
          "errorIndex": 1,
          "catalogId": "JSON_RPC_INVALID_PARAMS"
        },
        {
          "errorIndex": 2,
          "catalogId": "JSON_RPC_ITEM_NOT_FOUND"
        }
      ]
    },
    {
      "name": "eth_getFilterChanges",
      "tags": [
        {
          "name": "Logs / filters"
        }
      ],
      "summary": "Pull and drain filter increments",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/filter/eth_getFilterChanges.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [
        {
          "name": "filterId",
          "required": true,
          "description": "Filter id returned by eth_newFilter or eth_newBlockFilter.",
          "schema": {
            "type": "string"
          },
          "x-java-type": "String",
          "x-position": 0
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "type": "string",
                "description": "Block hash returned by a block filter.",
                "title": "EthGetFilterChangesResultString1"
              },
              {
                "$ref": "#/components/schemas/Log"
              }
            ]
          },
          "x-java-type": "Object[]"
        }
      },
      "errors": [
        {
          "code": -32601,
          "message": "JsonRpcMethodNotFoundException"
        },
        {
          "code": -32602,
          "message": "JsonRpcInvalidParamsException"
        },
        {
          "code": -32000,
          "message": "ItemNotFoundException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/filter/eth_getFilterChanges.md"
      },
      "x-source-derived": true,
      "x-java-method": "getFilterChanges",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_getFilterChanges",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#getFilterChanges",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#class LogFilterElement"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_METHOD_NOT_FOUND"
        },
        {
          "errorIndex": 1,
          "catalogId": "JSON_RPC_INVALID_PARAMS"
        },
        {
          "errorIndex": 2,
          "catalogId": "JSON_RPC_ITEM_NOT_FOUND"
        }
      ]
    },
    {
      "name": "eth_getFilterLogs",
      "tags": [
        {
          "name": "Logs / filters"
        }
      ],
      "summary": "Pull a log filter's full set (without draining)",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/filter/eth_getFilterLogs.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [
        {
          "name": "filterId",
          "required": true,
          "description": "Log filter id returned by eth_newFilter; block filter ids are not accepted.",
          "schema": {
            "type": "string"
          },
          "x-java-type": "String",
          "x-position": 0
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Log"
          },
          "x-java-type": "LogFilterElement[]"
        }
      },
      "errors": [
        {
          "code": -32602,
          "message": "JsonRpcInvalidParamsException"
        },
        {
          "code": -32601,
          "message": "JsonRpcMethodNotFoundException"
        },
        {
          "code": -32005,
          "message": "JsonRpcTooManyResultException"
        },
        {
          "code": -32000,
          "message": "BadItemException"
        },
        {
          "code": -32000,
          "message": "ExecutionException"
        },
        {
          "code": -32000,
          "message": "InterruptedException"
        },
        {
          "code": -32000,
          "message": "ItemNotFoundException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/filter/eth_getFilterLogs.md"
      },
      "x-source-derived": true,
      "x-java-method": "getFilterLogs",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_getFilterLogs",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#getFilterLogs",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#class LogFilterElement"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_INVALID_PARAMS"
        },
        {
          "errorIndex": 1,
          "catalogId": "JSON_RPC_METHOD_NOT_FOUND"
        },
        {
          "errorIndex": 2,
          "catalogId": "JSON_RPC_TOO_MANY_RESULTS"
        },
        {
          "errorIndex": 3,
          "catalogId": "JSON_RPC_BAD_ITEM"
        },
        {
          "errorIndex": 4,
          "catalogId": "JSON_RPC_EXECUTION_ERROR"
        },
        {
          "errorIndex": 5,
          "catalogId": "JSON_RPC_INTERRUPTED"
        },
        {
          "errorIndex": 6,
          "catalogId": "JSON_RPC_ITEM_NOT_FOUND"
        }
      ]
    },
    {
      "name": "buildTransaction",
      "tags": [
        {
          "name": "Transaction build"
        }
      ],
      "summary": "Build an unsigned transaction (FullNode only; TRX transfer / TRC-10 transfer / contract deploy / contract trigger)",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/tx-build/buildTransaction.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [
        {
          "name": "args",
          "required": true,
          "schema": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "from": {
                "type": "string",
                "pattern": "^(0x)?(?:[0-9a-fA-F]{39,40}|41[0-9a-fA-F]{40})$",
                "description": "EVM hex address using 39 or 40 digits (39 digits are left-padded), or 21-byte Tron hex address beginning with 41; base58check is not accepted."
              },
              "to": {
                "oneOf": [
                  {
                    "type": "string",
                    "pattern": "^(0x)?(?:[0-9a-fA-F]{39,40}|41[0-9a-fA-F]{40})$",
                    "title": "BuildTransactionParamString1"
                  },
                  {
                    "type": "string",
                    "enum": [
                      "",
                      "0x"
                    ],
                    "title": "BuildTransactionParamString2"
                  },
                  {
                    "type": "null",
                    "title": "BuildTransactionParamNull3"
                  }
                ],
                "description": "Target hex address. Contract deployment also accepts an omitted value, null, an empty string, or 0x; base58check is not accepted."
              },
              "gas": {
                "type": "string",
                "description": "Gas limit encoded as a hex quantity."
              },
              "gasPrice": {
                "type": "string",
                "description": "Gas price encoded as a hex quantity."
              },
              "value": {
                "type": "string",
                "description": "Hex string, amount, or value field accepted by this endpoint."
              },
              "data": {
                "type": "string",
                "description": "Hex-encoded contract call data or transaction data."
              },
              "input": {
                "type": "string",
                "description": "Alias for data; when both are present they must encode the same bytes."
              },
              "nonce": {
                "type": "string",
                "description": "Transaction nonce encoded as a hex quantity."
              },
              "tokenId": {
                "type": "integer",
                "format": "int64",
                "minimum": 0,
                "description": "TRC10 token id."
              },
              "tokenValue": {
                "type": "integer",
                "format": "int64",
                "minimum": 0,
                "description": "TRC10 token amount."
              },
              "abi": {
                "type": "string",
                "description": "Smart contract ABI definition."
              },
              "consumeUserResourcePercent": {
                "type": "integer",
                "format": "int64",
                "minimum": 0,
                "maximum": 100,
                "description": "Percentage of contract execution resource cost paid by the user."
              },
              "originEnergyLimit": {
                "type": "integer",
                "format": "int64",
                "minimum": 0,
                "description": "Origin energy limit for a deployed smart contract."
              },
              "name": {
                "type": "string",
                "description": "Name encoded as expected by java-tron."
              },
              "permissionId": {
                "type": "integer",
                "format": "int32",
                "minimum": 0,
                "description": "Permission id used to sign the transaction with a non-owner account permission."
              },
              "extraData": {
                "type": "string",
                "description": "Extra transaction data encoded as expected by java-tron."
              },
              "visible": {
                "type": "boolean",
                "description": "When true, addresses are encoded in base58check; when false or omitted, addresses are hex-encoded."
              }
            },
            "required": [
              "from"
            ]
          },
          "x-java-type": "BuildArguments",
          "x-position": 0,
          "description": "Transaction call arguments."
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/TransactionJson"
            },
            {
              "type": "null",
              "title": "BuildTransactionResultNull2"
            }
          ]
        }
      },
      "errors": [
        {
          "code": -32600,
          "message": "JsonRpcInvalidRequestException"
        },
        {
          "code": -32601,
          "message": "JsonRpcMethodNotFoundException"
        },
        {
          "code": -32602,
          "message": "JsonRpcInvalidParamsException"
        },
        {
          "code": -32000,
          "message": "JsonRpcInternalException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/tx-build/buildTransaction.md"
      },
      "x-source-derived": true,
      "x-java-method": "buildTransaction",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 only (the Solidity port throws -32601)",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#buildTransaction",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#buildTransaction",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#class TransactionJson",
        "framework/src/main/java/org/tron/core/services/jsonrpc/types/BuildArguments.java#input"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_INVALID_REQUEST"
        },
        {
          "errorIndex": 1,
          "catalogId": "JSON_RPC_METHOD_NOT_FOUND"
        },
        {
          "errorIndex": 2,
          "catalogId": "JSON_RPC_INVALID_PARAMS"
        },
        {
          "errorIndex": 3,
          "catalogId": "JSON_RPC_INTERNAL_ERROR"
        }
      ]
    },
    {
      "name": "eth_coinbase",
      "tags": [
        {
          "name": "Compatibility stub methods"
        }
      ],
      "summary": "The configured etherbase address",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/stub/eth_coinbase.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [],
      "result": {
        "name": "result",
        "schema": {
          "type": "string",
          "x-java-type": "String"
        }
      },
      "errors": [
        {
          "code": -32000,
          "message": "JsonRpcInternalException"
        }
      ],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/stub/eth_coinbase.md"
      },
      "x-source-derived": true,
      "x-java-method": "getCoinbase",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_coinbase",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#getCoinbase"
      ],
      "x-tron-error-catalog": [
        {
          "errorIndex": 0,
          "catalogId": "JSON_RPC_INTERNAL_ERROR"
        }
      ]
    },
    {
      "name": "eth_accounts",
      "tags": [
        {
          "name": "Compatibility stub methods"
        }
      ],
      "summary": "[]",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/stub/eth_accounts.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [],
      "result": {
        "name": "result",
        "schema": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-java-type": "String[]"
        }
      },
      "errors": [],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/stub/eth_accounts.md"
      },
      "x-source-derived": true,
      "x-java-method": "getAccounts",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_accounts",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#getAccounts"
      ],
      "x-tron-error-catalog": []
    },
    {
      "name": "eth_getWork",
      "tags": [
        {
          "name": "Compatibility stub methods"
        }
      ],
      "summary": "[blockHash, null, null]",
      "description": "Method name, Java signature, parameters, return type, and declared errors are derived from java-tron source. See `docs/api/json-rpc/stub/eth_getWork.md` for examples and detailed behavior.",
      "paramStructure": "by-position",
      "params": [],
      "result": {
        "name": "result",
        "schema": {
          "type": "array",
          "items": [
            {
              "oneOf": [
                {
                  "type": "string",
                  "pattern": "^0x[0-9a-fA-F]{64}$",
                  "title": "EthGetWorkResultString1"
                },
                {
                  "type": "null",
                  "title": "EthGetWorkResultNull2"
                }
              ]
            },
            {
              "type": "null"
            },
            {
              "type": "null"
            }
          ],
          "x-java-type": "List<Object>",
          "minItems": 3,
          "maxItems": 3
        }
      },
      "errors": [],
      "externalDocs": {
        "url": "https://github.com/tronprotocol/documentation-en/blob/master/docs/api/json-rpc/stub/eth_getWork.md"
      },
      "x-source-derived": true,
      "x-java-method": "ethGetWork",
      "x-java-source": "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java",
      "x-ports": "FullNode 8545 / Solidity 8555",
      "x-overlay-derived": true,
      "x-source-refs": [
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#eth_getWork",
        "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#ethGetWork"
      ],
      "x-tron-error-catalog": []
    }
  ],
  "x-tron-rate-limiting": {
    "source": "framework/src/main/java/org/tron/core/services/http/RateLimiterServlet.java",
    "appliesTo": [
      "HTTP",
      "JSON-RPC servlet"
    ],
    "httpStatus": 200,
    "errorShape": "JavaTronError for HTTP APIs; servlet-level error body for JSON-RPC",
    "message": "lack of computing resources",
    "description": "java-tron applies configurable servlet-level rate limiting. When a request is rejected by the rate limiter, RateLimiterServlet writes an error body without setting HTTP 429."
  },
  "x-tron-error-model": {
    "schemaVersion": "1.0.0",
    "wireFormatUnchanged": true,
    "classificationRule": "Evaluate executable sharedCatalogIds matches first, then restrict method-declared candidates through x-tron-error-catalog. If multiple candidates remain for the same wire response, use ambiguousCodeFallback.",
    "classificationOrder": [
      "shared-executable-match",
      "method-declared-error-match",
      "ambiguous-code-fallback"
    ],
    "errorIndexBase": 0,
    "errorIndexTarget": "method.errors",
    "sourceExceptionSemantics": "sourceException and sourceMessage describe source declarations only and are not guaranteed to appear in the wire response.",
    "retryableSemantics": "retryable=true permits automatic replay of the same logical operation. Conditional retry classes remain retryable=false until their stated precondition is satisfied.",
    "ambiguousCodeFallback": {
      "retryable": false,
      "retryClass": "UNKNOWN"
    },
    "transportScope": "Includes stable protocol, servlet, and HTTP responses emitted by java-tron. Connection failures, timeouts, and generic I/O failures without a stable response contract remain client transport errors.",
    "retryClasses": {
      "SAFE_WITH_BACKOFF": {
        "automaticRetry": true,
        "description": "The same request may be retried with exponential backoff and jitter."
      },
      "AFTER_STATE_CHANGE": {
        "automaticRetry": false,
        "description": "Retry only after node, account, chain, permission, or resource state changes."
      },
      "AFTER_REQUEST_REBUILD": {
        "automaticRetry": false,
        "description": "Do not replay the same payload; correct or rebuild the request before resubmitting."
      },
      "VERIFY_BEFORE_RETRY": {
        "automaticRetry": false,
        "description": "Query the transaction or resource outcome before deciding whether to resubmit."
      },
      "NEVER": {
        "automaticRetry": false,
        "description": "The failure is deterministic for the same request and current state."
      },
      "UNKNOWN": {
        "automaticRetry": false,
        "description": "The wire response is not specific enough to classify safely; do not retry automatically."
      }
    },
    "sharedCatalogIds": [
      "JSON_RPC_PARSE_ERROR",
      "JSON_RPC_INVALID_REQUEST",
      "JSON_RPC_METHOD_NOT_FOUND",
      "JSON_RPC_INVALID_PARAMS",
      "JSON_RPC_SERVLET_INTERNAL_ERROR",
      "JSON_RPC_RESPONSE_TOO_LARGE",
      "JSON_RPC_BATCH_TOO_LARGE",
      "JSON_RPC_RATE_LIMITED",
      "JSON_RPC_REQUEST_TOO_LARGE"
    ],
    "catalog": [
      {
        "id": "JSON_RPC_PARSE_ERROR",
        "kind": "protocol",
        "retryable": false,
        "retryClass": "AFTER_REQUEST_REBUILD",
        "description": "The request body is not valid JSON.",
        "match": {
          "code": -32700
        },
        "sources": [
          "framework/src/main/java/org/tron/core/services/jsonrpc/JsonRpcServlet.java"
        ],
        "code": -32700
      },
      {
        "id": "JSON_RPC_INVALID_REQUEST",
        "kind": "protocol",
        "retryable": false,
        "retryClass": "AFTER_REQUEST_REBUILD",
        "description": "The JSON-RPC protocol structure is invalid or method-level request or contract validation failed.",
        "match": {
          "code": -32600
        },
        "sources": [
          "framework/src/main/java/org/tron/core/services/jsonrpc/JsonRpcServlet.java",
          "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#@JsonRpcError"
        ],
        "code": -32600,
        "sourceException": "JsonRpcInvalidRequestException"
      },
      {
        "id": "JSON_RPC_METHOD_NOT_FOUND",
        "kind": "protocol",
        "retryable": false,
        "retryClass": "AFTER_STATE_CHANGE",
        "description": "The requested method is unavailable or unsupported on this node/port.",
        "match": {
          "code": -32601
        },
        "sources": [
          "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#@JsonRpcError"
        ],
        "code": -32601,
        "sourceException": "JsonRpcMethodNotFoundException"
      },
      {
        "id": "JSON_RPC_INVALID_PARAMS",
        "kind": "protocol",
        "retryable": false,
        "retryClass": "AFTER_REQUEST_REBUILD",
        "description": "Parameters could not be bound to the method signature or failed method validation.",
        "match": {
          "code": -32602
        },
        "sources": [
          "framework/build.gradle#jsonrpc4j-1.6",
          "com.github.briandilley.jsonrpc4j:jsonrpc4j:1.6#com.googlecode.jsonrpc4j.JsonRpcBasicServer.handleObject/findBestMethodByParamsNode",
          "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#@JsonRpcError"
        ],
        "code": -32602,
        "sourceException": "JsonRpcInvalidParamsException"
      },
      {
        "id": "JSON_RPC_SERVLET_INTERNAL_ERROR",
        "kind": "protocol",
        "retryable": false,
        "retryClass": "UNKNOWN",
        "description": "The JSON-RPC servlet caught an unexpected fallback exception.",
        "match": {
          "code": -32603,
          "messageEquals": "Internal error"
        },
        "sources": [
          "framework/src/main/java/org/tron/core/services/jsonrpc/JsonRpcServlet.java"
        ],
        "code": -32603
      },
      {
        "id": "JSON_RPC_RESPONSE_TOO_LARGE",
        "kind": "application",
        "retryable": false,
        "retryClass": "AFTER_REQUEST_REBUILD",
        "description": "The encoded JSON-RPC response exceeds maxResponseSize.",
        "match": {
          "code": -32003,
          "messagePrefix": "Response exceeds the limit of "
        },
        "sources": [
          "framework/src/main/java/org/tron/core/services/jsonrpc/JsonRpcServlet.java"
        ],
        "code": -32003
      },
      {
        "id": "JSON_RPC_BATCH_TOO_LARGE",
        "kind": "application",
        "retryable": false,
        "retryClass": "AFTER_REQUEST_REBUILD",
        "description": "The request batch contains more entries than maxBatchSize permits.",
        "match": {
          "code": -32005,
          "messagePrefix": "Batch size "
        },
        "sources": [
          "framework/src/main/java/org/tron/core/services/jsonrpc/JsonRpcServlet.java"
        ],
        "code": -32005
      },
      {
        "id": "JSON_RPC_FILTER_LIMIT_EXCEEDED",
        "kind": "application",
        "retryable": false,
        "retryClass": "AFTER_STATE_CHANGE",
        "description": "The node has reached its active filter limit.",
        "match": {
          "code": -32005
        },
        "sources": [
          "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#@JsonRpcError"
        ],
        "code": -32005,
        "sourceException": "JsonRpcExceedLimitException"
      },
      {
        "id": "JSON_RPC_TOO_MANY_RESULTS",
        "kind": "application",
        "retryable": false,
        "retryClass": "AFTER_REQUEST_REBUILD",
        "description": "The log query would return more results than the node permits.",
        "match": {
          "code": -32005
        },
        "sources": [
          "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#@JsonRpcError"
        ],
        "code": -32005,
        "sourceException": "JsonRpcTooManyResultException"
      },
      {
        "id": "JSON_RPC_UNDERLYING_INTERNAL_ERROR",
        "kind": "application",
        "retryable": false,
        "retryClass": "UNKNOWN",
        "description": "Chain identity lookup failed with an underlying exception message.",
        "match": {
          "code": -32001,
          "fallback": true
        },
        "sources": [
          "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#throws JsonRpcInternalException"
        ],
        "code": -32001,
        "sourceException": "JsonRpcInternalException",
        "sourceMessage": "<underlying exception message>"
      },
      {
        "id": "JSON_RPC_INTERNAL_ERROR",
        "kind": "application",
        "retryable": false,
        "retryClass": "UNKNOWN",
        "description": "The method raised a java-tron JSON-RPC internal error.",
        "match": {
          "code": -32000
        },
        "sources": [
          "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#@JsonRpcError"
        ],
        "code": -32000,
        "sourceException": "JsonRpcInternalException"
      },
      {
        "id": "JSON_RPC_ITEM_NOT_FOUND",
        "kind": "application",
        "retryable": false,
        "retryClass": "AFTER_STATE_CHANGE",
        "description": "A requested filter, block item, or cached item was not found.",
        "match": {
          "code": -32000
        },
        "sources": [
          "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#@JsonRpcError"
        ],
        "code": -32000,
        "sourceException": "ItemNotFoundException"
      },
      {
        "id": "JSON_RPC_BAD_ITEM",
        "kind": "application",
        "retryable": false,
        "retryClass": "UNKNOWN",
        "description": "Log processing encountered an invalid underlying item.",
        "match": {
          "code": -32000
        },
        "sources": [
          "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#@JsonRpcError"
        ],
        "code": -32000,
        "sourceException": "BadItemException"
      },
      {
        "id": "JSON_RPC_EXECUTION_ERROR",
        "kind": "application",
        "retryable": false,
        "retryClass": "UNKNOWN",
        "description": "Asynchronous log-query execution failed.",
        "match": {
          "code": -32000
        },
        "sources": [
          "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#@JsonRpcError"
        ],
        "code": -32000,
        "sourceException": "ExecutionException"
      },
      {
        "id": "JSON_RPC_INTERRUPTED",
        "kind": "application",
        "retryable": false,
        "retryClass": "UNKNOWN",
        "description": "Log-query execution declared InterruptedException, but the wire response cannot distinguish it safely from other -32000 failures.",
        "match": {
          "code": -32000
        },
        "sources": [
          "framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpc.java#@JsonRpcError"
        ],
        "code": -32000,
        "sourceException": "InterruptedException"
      },
      {
        "id": "JSON_RPC_RATE_LIMITED",
        "kind": "transport",
        "retryable": true,
        "retryClass": "SAFE_WITH_BACKOFF",
        "description": "The shared servlet rate limiter rejected the request before a JSON-RPC envelope was written.",
        "match": {
          "httpStatus": 200,
          "bodyPath": "$.Error",
          "contains": "lack of computing resources",
          "outsideJsonRpcEnvelope": true
        },
        "sources": [
          "framework/src/main/java/org/tron/core/services/http/RateLimiterServlet.java"
        ]
      },
      {
        "id": "JSON_RPC_REQUEST_TOO_LARGE",
        "kind": "transport",
        "retryable": false,
        "retryClass": "AFTER_REQUEST_REBUILD",
        "description": "The HTTP request body exceeds node.jsonrpc.maxMessageSize before servlet dispatch.",
        "match": {
          "httpStatus": 413,
          "outsideJsonRpcEnvelope": true
        },
        "sources": [
          "framework/src/main/java/org/tron/common/application/HttpService.java",
          "framework/src/main/java/org/tron/core/services/jsonrpc/FullNodeJsonRpcHttpService.java"
        ]
      }
    ]
  },
  "components": {
    "schemas": {
      "TransactionResult": {
        "type": "object",
        "additionalProperties": false,
        "x-java-type": "TransactionResult",
        "properties": {
          "blockHash": {
            "type": "string"
          },
          "blockNumber": {
            "type": "string"
          },
          "from": {
            "type": "string"
          },
          "gas": {
            "type": "string"
          },
          "gasPrice": {
            "type": "string"
          },
          "hash": {
            "type": "string"
          },
          "input": {
            "type": "string"
          },
          "nonce": {
            "type": "string"
          },
          "r": {
            "type": "string"
          },
          "s": {
            "type": "string"
          },
          "to": {
            "oneOf": [
              {
                "type": "string",
                "title": "TransactionResultToString1"
              },
              {
                "type": "null",
                "title": "TransactionResultToNull2"
              }
            ]
          },
          "transactionIndex": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "v": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "blockHash",
          "blockNumber",
          "from",
          "gas",
          "gasPrice",
          "hash",
          "input",
          "nonce",
          "r",
          "s",
          "to",
          "transactionIndex",
          "type",
          "v",
          "value"
        ]
      },
      "BlockResult": {
        "type": "object",
        "additionalProperties": false,
        "x-java-type": "BlockResult",
        "properties": {
          "baseFeePerGas": {
            "type": "string"
          },
          "difficulty": {
            "type": "string"
          },
          "extraData": {
            "type": "string"
          },
          "gasLimit": {
            "type": "string"
          },
          "gasUsed": {
            "type": "string"
          },
          "hash": {
            "type": "string"
          },
          "logsBloom": {
            "type": "string"
          },
          "miner": {
            "type": "string"
          },
          "mixHash": {
            "type": "string"
          },
          "nonce": {
            "type": "string"
          },
          "number": {
            "type": "string"
          },
          "parentHash": {
            "type": "string"
          },
          "receiptsRoot": {
            "type": "string"
          },
          "sha3Uncles": {
            "type": "string"
          },
          "size": {
            "type": "string"
          },
          "stateRoot": {
            "type": "string"
          },
          "timestamp": {
            "type": "string"
          },
          "totalDifficulty": {
            "type": "string"
          },
          "transactions": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "type": "string",
                  "title": "BlockResultTransactionsString1"
                },
                {
                  "$ref": "#/components/schemas/TransactionResult"
                }
              ]
            }
          },
          "transactionsRoot": {
            "type": "string"
          },
          "uncles": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "baseFeePerGas",
          "difficulty",
          "extraData",
          "gasLimit",
          "gasUsed",
          "hash",
          "logsBloom",
          "miner",
          "mixHash",
          "nonce",
          "number",
          "parentHash",
          "receiptsRoot",
          "sha3Uncles",
          "size",
          "stateRoot",
          "timestamp",
          "totalDifficulty",
          "transactions",
          "transactionsRoot",
          "uncles"
        ]
      },
      "Log": {
        "type": "object",
        "additionalProperties": false,
        "x-java-type": "TransactionReceipt.TransactionLog",
        "properties": {
          "address": {
            "type": "string"
          },
          "blockHash": {
            "type": "string"
          },
          "blockNumber": {
            "type": "string"
          },
          "blockTimestamp": {
            "type": "string",
            "description": "Block timestamp as a hex quantity in seconds."
          },
          "data": {
            "type": "string"
          },
          "logIndex": {
            "type": "string"
          },
          "removed": {
            "type": "boolean"
          },
          "topics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Hash32"
            }
          },
          "transactionHash": {
            "type": "string"
          },
          "transactionIndex": {
            "type": "string"
          }
        },
        "required": [
          "address",
          "blockHash",
          "blockNumber",
          "blockTimestamp",
          "data",
          "logIndex",
          "removed",
          "topics",
          "transactionHash",
          "transactionIndex"
        ]
      },
      "TransactionReceipt": {
        "type": "object",
        "additionalProperties": false,
        "x-java-type": "TransactionReceipt",
        "properties": {
          "blockHash": {
            "type": "string"
          },
          "blockNumber": {
            "type": "string"
          },
          "contractAddress": {
            "oneOf": [
              {
                "type": "string",
                "title": "TransactionReceiptContractAddressString1"
              },
              {
                "type": "null",
                "title": "TransactionReceiptContractAddressNull2"
              }
            ]
          },
          "cumulativeGasUsed": {
            "type": "string"
          },
          "effectiveGasPrice": {
            "type": "string"
          },
          "from": {
            "oneOf": [
              {
                "type": "string",
                "title": "TransactionReceiptFromString1"
              },
              {
                "type": "null",
                "title": "TransactionReceiptFromNull2"
              }
            ]
          },
          "gasUsed": {
            "type": "string"
          },
          "logs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Log"
            }
          },
          "logsBloom": {
            "type": "string"
          },
          "root": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "to": {
            "oneOf": [
              {
                "type": "string",
                "title": "TransactionReceiptToString1"
              },
              {
                "type": "null",
                "title": "TransactionReceiptToNull2"
              }
            ]
          },
          "transactionHash": {
            "type": "string"
          },
          "transactionIndex": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "blockHash",
          "blockNumber",
          "cumulativeGasUsed",
          "effectiveGasPrice",
          "gasUsed",
          "logs",
          "logsBloom",
          "transactionHash",
          "transactionIndex",
          "type"
        ]
      },
      "TransactionCall": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "from": {
            "type": "string",
            "pattern": "^(0x)?(?:[0-9a-fA-F]{39,40}|41[0-9a-fA-F]{40})$",
            "description": "EVM hex address using 39 or 40 digits (39 digits are left-padded), or 21-byte Tron hex address beginning with 41; base58check is not accepted."
          },
          "to": {
            "oneOf": [
              {
                "type": "string",
                "pattern": "^(0x)?(?:[0-9a-fA-F]{39,40}|41[0-9a-fA-F]{40})$",
                "title": "TransactionCallToString1"
              },
              {
                "type": "string",
                "enum": [
                  "",
                  "0x"
                ],
                "title": "TransactionCallToString2"
              },
              {
                "type": "null",
                "title": "TransactionCallToNull3"
              }
            ],
            "description": "Target hex address. Contract deployment also accepts an omitted value, null, an empty string, or 0x."
          },
          "gas": {
            "oneOf": [
              {
                "type": "string",
                "title": "TransactionCallGasString1"
              },
              {
                "type": "null",
                "title": "TransactionCallGasNull2"
              }
            ],
            "description": "Accepted but ignored."
          },
          "gasPrice": {
            "oneOf": [
              {
                "type": "string",
                "title": "TransactionCallGasPriceString1"
              },
              {
                "type": "null",
                "title": "TransactionCallGasPriceNull2"
              }
            ],
            "description": "Accepted but ignored."
          },
          "value": {
            "oneOf": [
              {
                "type": "null",
                "title": "TransactionCallValueNull1"
              },
              {
                "type": "string",
                "enum": [
                  ""
                ],
                "title": "TransactionCallValueString2"
              },
              {
                "type": "string",
                "pattern": "^0x(?:\\+?0*(?:[0-9a-fA-F]{1,15}|[0-7][0-9a-fA-F]{15})|-0+)$",
                "title": "TransactionCallValueString3"
              }
            ],
            "description": "Source-compatible non-negative hex long. null or an empty string means zero; non-empty values require a lowercase 0x prefix and must fit in signed long range."
          },
          "data": {
            "oneOf": [
              {
                "type": "null",
                "title": "TransactionCallDataNull1"
              },
              {
                "type": "string",
                "pattern": "^(?:0x)?[0-9a-fA-F]*$",
                "title": "TransactionCallDataString2"
              }
            ],
            "description": "Lenient hex calldata. null and empty values are accepted; the lowercase 0x prefix is optional and odd-length payloads are left-padded before decoding."
          },
          "input": {
            "oneOf": [
              {
                "type": "null",
                "title": "TransactionCallInputNull1"
              },
              {
                "type": "string",
                "pattern": "^(?:|0x(?:[0-9a-fA-F]{2})*)$",
                "title": "TransactionCallInputString2"
              }
            ],
            "description": "Strict hex calldata alias. null and an empty string are accepted; otherwise a lowercase 0x prefix and an even-length payload are required. When input is non-null, it takes precedence over data."
          },
          "nonce": {
            "oneOf": [
              {
                "type": "string",
                "title": "TransactionCallNonceString1"
              },
              {
                "type": "null",
                "title": "TransactionCallNonceNull2"
              }
            ],
            "description": "Accepted but ignored."
          }
        },
        "allOf": [
          {
            "if": {
              "properties": {
                "to": {
                  "enum": [
                    null,
                    "",
                    "0x"
                  ]
                }
              }
            },
            "then": {
              "anyOf": [
                {
                  "required": [
                    "input"
                  ],
                  "properties": {
                    "input": {
                      "type": "string",
                      "pattern": "^0x(?:[0-9a-fA-F]{2})+$"
                    }
                  },
                  "title": "TransactionCallRequiresInput1"
                },
                {
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "input": {
                      "type": "null"
                    },
                    "data": {
                      "type": "string",
                      "pattern": "^(?:0x)?[0-9a-fA-F]+$"
                    }
                  },
                  "title": "TransactionCallRequiresData2"
                }
              ]
            }
          }
        ],
        "x-java-type": "CallArguments"
      },
      "LogFilter": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "fromBlock": {
            "oneOf": [
              {
                "type": "string",
                "pattern": "^(?:|[lL][aA][tT][eE][sS][tT]|[eE][aA][rR][lL][iI][eE][sS][tT]|[fF][iI][nN][aA][lL][iI][zZ][eE][dD])$",
                "title": "LogFilterFromBlockString1"
              },
              {
                "$ref": "#/components/schemas/HexBlockNumber"
              },
              {
                "type": "null",
                "title": "LogFilterFromBlockNull"
              }
            ],
            "description": "Start block for a log filter."
          },
          "toBlock": {
            "oneOf": [
              {
                "type": "string",
                "pattern": "^(?:|[lL][aA][tT][eE][sS][tT]|[eE][aA][rR][lL][iI][eE][sS][tT]|[fF][iI][nN][aA][lL][iI][zZ][eE][dD])$",
                "title": "LogFilterToBlockString1"
              },
              {
                "$ref": "#/components/schemas/HexBlockNumber"
              },
              {
                "type": "null",
                "title": "LogFilterToBlockNull"
              }
            ],
            "description": "End block for a log filter."
          },
          "address": {
            "oneOf": [
              {
                "type": "string",
                "pattern": "^(0x)?[0-9a-fA-F]{39,40}$",
                "title": "LogFilterAddressString1"
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^(0x)?[0-9a-fA-F]{39,40}$"
                },
                "title": "LogFilterAddressArray2"
              },
              {
                "type": "null",
                "title": "LogFilterAddressNull"
              }
            ],
            "description": "Account or contract address accepted by this endpoint."
          },
          "topics": {
            "oneOf": [
              {
                "type": "array",
                "maxItems": 4,
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/Topic32Input"
                    },
                    {
                      "type": "null",
                      "title": "LogFilterTopicNull"
                    },
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Topic32Input"
                      },
                      "title": "LogFilterTopicsNested1Array3"
                    }
                  ]
                },
                "title": "LogFilterTopicsArray1"
              },
              {
                "type": "null",
                "title": "LogFilterTopicsNull"
              }
            ],
            "description": "Log topics filter."
          },
          "blockHash": {
            "oneOf": [
              {
                "type": "string",
                "pattern": "^(0x)?[0-9a-fA-F]{64}$",
                "title": "LogFilterBlockHashString1"
              },
              {
                "type": "null",
                "title": "LogFilterBlockHashNull"
              }
            ],
            "description": "32-byte block hash, with or without the 0x prefix."
          }
        },
        "not": {
          "allOf": [
            {
              "required": [
                "blockHash"
              ],
              "properties": {
                "blockHash": {
                  "type": "string"
                }
              }
            },
            {
              "anyOf": [
                {
                  "required": [
                    "fromBlock"
                  ],
                  "properties": {
                    "fromBlock": {
                      "type": "string"
                    }
                  },
                  "title": "LogFilterRequiresFromBlock1"
                },
                {
                  "required": [
                    "toBlock"
                  ],
                  "properties": {
                    "toBlock": {
                      "type": "string"
                    }
                  },
                  "title": "LogFilterRequiresToBlock2"
                }
              ]
            }
          ]
        },
        "x-java-type": "FilterRequest"
      },
      "TransactionJson": {
        "type": "object",
        "additionalProperties": false,
        "x-java-type": "TransactionJson",
        "properties": {
          "transaction": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "txID": {
                "type": "string"
              },
              "raw_data": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "contract": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "Permission_id": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "parameter": {
                          "type": "object",
                          "additionalProperties": false,
                          "properties": {
                            "type_url": {
                              "type": "string"
                            },
                            "value": {
                              "type": "object",
                              "additionalProperties": false,
                              "properties": {
                                "owner_address": {
                                  "type": "string"
                                },
                                "to_address": {
                                  "type": "string"
                                },
                                "amount": {
                                  "type": "integer",
                                  "format": "int64"
                                },
                                "asset_name": {
                                  "type": "string"
                                },
                                "contract_address": {
                                  "type": "string"
                                },
                                "data": {
                                  "type": "string"
                                },
                                "call_value": {
                                  "type": "integer",
                                  "format": "int64"
                                },
                                "call_token_value": {
                                  "type": "integer",
                                  "format": "int64"
                                },
                                "token_id": {
                                  "type": "integer",
                                  "format": "int64"
                                },
                                "new_contract": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "origin_address": {
                                      "type": "string"
                                    },
                                    "contract_address": {
                                      "type": "string"
                                    },
                                    "abi": {
                                      "type": "object",
                                      "additionalProperties": false,
                                      "properties": {
                                        "entrys": {
                                          "type": "array",
                                          "items": {
                                            "type": "object",
                                            "additionalProperties": false,
                                            "properties": {
                                              "anonymous": {
                                                "type": "boolean"
                                              },
                                              "constant": {
                                                "type": "boolean"
                                              },
                                              "name": {
                                                "type": "string"
                                              },
                                              "type": {
                                                "type": "string"
                                              },
                                              "stateMutability": {
                                                "type": "string"
                                              },
                                              "inputs": {
                                                "type": "array",
                                                "items": {
                                                  "type": "object",
                                                  "additionalProperties": false,
                                                  "properties": {
                                                    "indexed": {
                                                      "type": "boolean"
                                                    },
                                                    "name": {
                                                      "type": "string"
                                                    },
                                                    "type": {
                                                      "type": "string"
                                                    }
                                                  }
                                                }
                                              },
                                              "outputs": {
                                                "type": "array",
                                                "items": {
                                                  "type": "object",
                                                  "additionalProperties": false,
                                                  "properties": {
                                                    "indexed": {
                                                      "type": "boolean"
                                                    },
                                                    "name": {
                                                      "type": "string"
                                                    },
                                                    "type": {
                                                      "type": "string"
                                                    }
                                                  }
                                                }
                                              }
                                            }
                                          }
                                        }
                                      }
                                    },
                                    "bytecode": {
                                      "type": "string"
                                    },
                                    "call_value": {
                                      "type": "integer",
                                      "format": "int64"
                                    },
                                    "consume_user_resource_percent": {
                                      "type": "integer",
                                      "format": "int64"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "origin_energy_limit": {
                                      "type": "integer",
                                      "format": "int64"
                                    }
                                  }
                                }
                              }
                            }
                          },
                          "required": [
                            "type_url",
                            "value"
                          ]
                        }
                      }
                    }
                  },
                  "data": {
                    "type": "string"
                  },
                  "expiration": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "fee_limit": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "ref_block_bytes": {
                    "type": "string"
                  },
                  "ref_block_hash": {
                    "type": "string"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int64"
                  }
                },
                "required": [
                  "contract",
                  "expiration",
                  "ref_block_bytes",
                  "ref_block_hash",
                  "timestamp"
                ]
              },
              "raw_data_hex": {
                "type": "string"
              },
              "visible": {
                "type": "boolean"
              }
            },
            "required": [
              "raw_data",
              "raw_data_hex",
              "txID"
            ]
          }
        },
        "required": [
          "transaction"
        ]
      },
      "Hash32": {
        "type": "string",
        "pattern": "^(0x)?[0-9a-fA-F]{64}$"
      },
      "Topic32Input": {
        "type": "string",
        "pattern": "^(0x)?[0-9a-fA-F]{63,64}$"
      },
      "BlockNumber": {
        "oneOf": [
          {
            "type": "string",
            "pattern": "^0?(?:[0-9]{1,18}|[0-8][0-9]{18}|9[0-1][0-9]{17}|92[0-1][0-9]{16}|922[0-2][0-9]{15}|9223[0-2][0-9]{14}|92233[0-6][0-9]{13}|922337[0-1][0-9]{12}|92233720[0-2][0-9]{10}|922337203[0-5][0-9]{9}|9223372036[0-7][0-9]{8}|92233720368[0-4][0-9]{7}|922337203685[0-3][0-9]{6}|9223372036854[0-6][0-9]{5}|92233720368547[0-6][0-9]{4}|922337203685477[0-4][0-9]{3}|9223372036854775[0-7][0-9]{2}|922337203685477580[0-6]|9223372036854775807)$",
            "title": "BlockNumberString1"
          },
          {
            "type": "string",
            "pattern": "^0x0{0,2}(?:[0-9a-fA-F]{1,15}|[0-7][0-9a-fA-F]{15})$",
            "title": "BlockNumberString2"
          }
        ]
      },
      "HexBlockNumber": {
        "type": "string",
        "pattern": "^0x0{0,2}(?:[0-9a-fA-F]{1,15}|[0-7][0-9a-fA-F]{15})$"
      },
      "HexQuantity": {
        "type": "string",
        "pattern": "^0x[0-9a-fA-F]+$"
      },
      "HexData": {
        "type": "string",
        "pattern": "^0x[0-9a-fA-F]*$"
      }
    }
  }
}
