{
  "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": "a79693e4508c05650cc474f23e7f97451d2861ec",
      "version": "GreatVoyage-v4.8.1.1"
    }
  },
  "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"
      ]
    },
    {
      "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"
      ]
    },
    {
      "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": -32000,
          "message": "JsonRpcInternalException"
        }
      ],
      "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"
      ]
    },
    {
      "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"
      ]
    },
    {
      "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"
      ]
    },
    {
      "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": -32000,
          "message": "JsonRpcInternalException"
        }
      ],
      "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"
      ]
    },
    {
      "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"
      ]
    },
    {
      "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"
      ]
    },
    {
      "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"
      ]
    },
    {
      "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"
      ]
    },
    {
      "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)?[a-zA-Z0-9]{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"
      ]
    },
    {
      "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,
          "schema": {
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "",
                  "latest",
                  "earliest",
                  "finalized"
                ],
                "title": "EthGetBlockByNumberParamString1"
              },
              {
                "type": "string",
                "pattern": "^0x[0-9a-fA-F]+$",
                "title": "EthGetBlockByNumberParamString2"
              }
            ]
          },
          "x-java-type": "String",
          "x-position": 0,
          "description": "Hex block number or supported block tag."
        },
        {
          "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": "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#getByJsonBlockId",
        "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"
      ]
    },
    {
      "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,
          "description": "32-byte block hash, with or without the 0x prefix.",
          "schema": {
            "type": "string"
          },
          "x-java-type": "String",
          "x-position": 0
        }
      ],
      "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"
      ]
    },
    {
      "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": "Hex block number or supported block tag.",
          "schema": {
            "type": "string"
          },
          "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"
      ]
    },
    {
      "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)?[a-zA-Z0-9]{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"
      ]
    },
    {
      "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)?[a-zA-Z0-9]{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]+$"
          },
          "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"
      ]
    },
    {
      "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,
          "schema": {
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "",
                  "latest",
                  "earliest",
                  "finalized"
                ],
                "title": "EthGetTransactionByBlockNumberAndIndexParamString1"
              },
              {
                "type": "string",
                "pattern": "^0x[0-9a-fA-F]+$",
                "title": "EthGetTransactionByBlockNumberAndIndexParamString2"
              }
            ]
          },
          "x-java-type": "String",
          "x-position": 0,
          "description": "Hex block number or supported block tag."
        },
        {
          "name": "index",
          "required": true,
          "schema": {
            "type": "string",
            "pattern": "^0x[0-9a-fA-F]+$"
          },
          "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": "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"
      ]
    },
    {
      "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)?[a-zA-Z0-9]{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"
      ]
    },
    {
      "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,
          "schema": {
            "oneOf": [
              {
                "type": "string",
                "pattern": "^(0x)?[a-zA-Z0-9]{64}$",
                "title": "EthGetBlockReceiptsParamString1"
              },
              {
                "oneOf": [
                  {
                    "type": "string",
                    "enum": [
                      "",
                      "latest",
                      "earliest",
                      "finalized"
                    ],
                    "title": "EthGetBlockReceiptsParamNested1String1"
                  },
                  {
                    "type": "string",
                    "pattern": "^0x[0-9a-fA-F]+$",
                    "title": "EthGetBlockReceiptsParamNested1String2"
                  }
                ],
                "title": "EthGetBlockReceiptsParamVariant2"
              }
            ]
          },
          "x-java-type": "String",
          "x-position": 0,
          "description": "Block hash, hex block number, or supported block tag."
        }
      ],
      "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"
      ]
    },
    {
      "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"
          },
          "x-java-type": "String",
          "x-position": 0,
          "description": "Account or contract address."
        },
        {
          "name": "blockNumOrTag",
          "required": true,
          "schema": {
            "type": "string",
            "enum": [
              "latest"
            ]
          },
          "x-java-type": "String",
          "x-position": 1,
          "description": "Hex block number or supported block tag."
        }
      ],
      "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"
      ]
    },
    {
      "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"
          },
          "x-java-type": "String",
          "x-position": 0,
          "description": "Account or contract address."
        },
        {
          "name": "storageIdx",
          "required": true,
          "schema": {
            "type": "string"
          },
          "x-java-type": "String",
          "x-position": 1,
          "description": "Storage slot index."
        },
        {
          "name": "blockNumOrTag",
          "required": true,
          "schema": {
            "type": "string",
            "enum": [
              "latest"
            ]
          },
          "x-java-type": "String",
          "x-position": 2,
          "description": "Hex block number or supported block tag."
        }
      ],
      "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"
      ]
    },
    {
      "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"
          },
          "x-java-type": "String",
          "x-position": 0,
          "description": "Contract address."
        },
        {
          "name": "bnOrId",
          "required": true,
          "schema": {
            "type": "string",
            "enum": [
              "latest"
            ]
          },
          "x-java-type": "String",
          "x-position": 1,
          "description": "Hex block number or supported block tag."
        }
      ],
      "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"
      ]
    },
    {
      "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": {
            "$ref": "#/components/schemas/TransactionCall"
          },
          "x-java-type": "CallArguments",
          "x-position": 0,
          "description": "Transaction call arguments."
        },
        {
          "name": "blockNumOrTag",
          "required": true,
          "schema": {
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "latest"
                ],
                "title": "EthCallParamString1"
              },
              {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "blockNumber": {
                    "type": "string",
                    "pattern": "^0x[0-9a-fA-F]+$",
                    "description": "Hex-encoded block number."
                  }
                },
                "required": [
                  "blockNumber"
                ],
                "title": "EthCallParamRequiresBlockNumber2"
              },
              {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "blockHash": {
                    "type": "string",
                    "pattern": "^(0x)?[a-zA-Z0-9]{64}$",
                    "description": "32-byte block hash, with or without the 0x prefix."
                  }
                },
                "required": [
                  "blockHash"
                ],
                "title": "EthCallParamRequiresBlockHash3"
              }
            ]
          },
          "x-java-type": "Object",
          "x-position": 1,
          "description": "Hex block number or supported block tag."
        }
      ],
      "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"
      ]
    },
    {
      "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#class CallArguments"
      ]
    },
    {
      "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"
      ]
    },
    {
      "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": {
            "$ref": "#/components/schemas/LogFilter"
          },
          "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"
        }
      ],
      "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"
      ]
    },
    {
      "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"
      ]
    },
    {
      "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"
      ]
    },
    {
      "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": {
            "type": "string"
          },
          "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"
      ]
    },
    {
      "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": "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": {
            "$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"
      ]
    },
    {
      "name": "buildTransaction",
      "tags": [
        {
          "name": "Transaction build"
        }
      ],
      "summary": "Build an unsigned transaction (FullNode only; TRX transfer / TRC10 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",
                "description": "Sender account address."
              },
              "to": {
                "type": "string",
                "description": "Recipient account or contract address."
              },
              "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."
              },
              "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,
                "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."
              }
            }
          },
          "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#class BuildArguments"
      ]
    },
    {
      "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"
      ]
    },
    {
      "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"
      ]
    },
    {
      "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": {
            "type": "string"
          },
          "x-java-type": "List<Object>"
        }
      },
      "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-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."
  },
  "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": {
            "type": "string"
          },
          "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"
          },
          "data": {
            "type": "string"
          },
          "logIndex": {
            "type": "string"
          },
          "removed": {
            "type": "boolean"
          },
          "topics": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Hash32"
                },
                {
                  "type": "null",
                  "title": "LogTopicsNull2"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Hash32"
                  },
                  "title": "LogTopicsArray3"
                }
              ]
            }
          },
          "transactionHash": {
            "type": "string"
          },
          "transactionIndex": {
            "type": "string"
          }
        },
        "required": [
          "address",
          "blockHash",
          "blockNumber",
          "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",
            "description": "Sender account address."
          },
          "to": {
            "type": "string",
            "description": "Recipient account or contract address."
          },
          "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."
          },
          "nonce": {
            "type": "string",
            "description": "Transaction nonce encoded as a hex quantity."
          }
        },
        "x-java-type": "CallArguments"
      },
      "LogFilter": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "fromBlock": {
            "type": "string",
            "description": "Start block for a log filter."
          },
          "toBlock": {
            "type": "string",
            "description": "End block for a log filter."
          },
          "address": {
            "oneOf": [
              {
                "type": "string",
                "title": "LogFilterAddressString1"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "LogFilterAddressArray2"
              }
            ],
            "description": "Account or contract address accepted by this endpoint."
          },
          "topics": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Hash32"
                },
                {
                  "type": "null",
                  "title": "LogFilterTopicsNull2"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Hash32"
                  },
                  "title": "LogFilterTopicsArray3"
                }
              ]
            },
            "description": "Log topics filter."
          },
          "blockHash": {
            "type": "string",
            "pattern": "^(0x)?[a-zA-Z0-9]{64}$",
            "description": "32-byte block hash, with or without the 0x prefix."
          }
        },
        "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)?[a-zA-Z0-9]{64}$"
      },
      "HexQuantity": {
        "type": "string",
        "pattern": "^0x[0-9a-fA-F]+$"
      },
      "HexData": {
        "type": "string",
        "pattern": "^0x[0-9a-fA-F]*$"
      }
    }
  }
}
