{
  "components": {
    "schemas": {
      "BlockNumberOrLatest": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/Quantity"
          },
          {
            "enum": [
              "latest"
            ],
            "type": "string"
          }
        ]
      },
      "Data": {
        "pattern": "^0x(?:[0-9a-fA-F]{2})*$",
        "type": "string"
      },
      "Data32": {
        "pattern": "^0x[0-9a-fA-F]{64}$",
        "type": "string"
      },
      "EVMAddress": {
        "description": "A 20-byte EVM address with 0x prefix.",
        "pattern": "^0x[0-9a-fA-F]{40}$",
        "type": "string"
      },
      "LatestBlockTag": {
        "description": "Only `latest` is supported for EVM state; numeric historical state is unavailable.",
        "enum": [
          "latest"
        ],
        "type": "string"
      },
      "Quantity": {
        "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$",
        "type": "string"
      }
    }
  },
  "info": {
    "description": "Generated from docs/methods-catalog/tron/rpc. Includes only measured Tron JSON-RPC reads: standard chain reads confirmed by the EU addendum, latest-only EVM state, and eth_getLogs with a 100-block maximum range.",
    "title": "Triport — Tron JSON-RPC",
    "version": "0.2.0-api-vector-s2"
  },
  "methods": [
    {
      "description": "Returns the latest Tron block number as an EVM hex quantity. Availability of the standard-read class was confirmed from the EU PoP after the local r2 measurement was rate-limited.",
      "name": "eth_blockNumber",
      "params": [],
      "result": {
        "name": "blockNumber",
        "schema": {
          "$ref": "#/components/schemas/Quantity"
        }
      },
      "summary": "Returns the latest block number.",
      "tags": [
        {
          "name": "tron"
        },
        {
          "name": "standard-read"
        }
      ],
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "tron_read_rpc",
      "x-tier-required": "free"
    },
    {
      "description": "Executes a call against the current Tron EVM state without creating a transaction. The block parameter must be `latest`; historical block quantities are not supported.",
      "name": "eth_call",
      "params": [
        {
          "name": "transaction",
          "required": true,
          "schema": {
            "additionalProperties": false,
            "properties": {
              "data": {
                "$ref": "#/components/schemas/Data"
              },
              "from": {
                "$ref": "#/components/schemas/EVMAddress"
              },
              "gas": {
                "$ref": "#/components/schemas/Quantity"
              },
              "gasPrice": {
                "$ref": "#/components/schemas/Quantity"
              },
              "to": {
                "$ref": "#/components/schemas/EVMAddress"
              },
              "value": {
                "$ref": "#/components/schemas/Quantity"
              }
            },
            "required": [
              "to"
            ],
            "type": "object"
          }
        },
        {
          "name": "block",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/LatestBlockTag"
          }
        }
      ],
      "result": {
        "name": "returnData",
        "schema": {
          "$ref": "#/components/schemas/Data"
        }
      },
      "summary": "Executes a read-only EVM call.",
      "tags": [
        {
          "name": "tron"
        },
        {
          "name": "evm-read"
        }
      ],
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "tron_read_rpc",
      "x-tier-required": "free"
    },
    {
      "description": "Returns the Tron EVM chain identifier as a hex quantity.",
      "name": "eth_chainId",
      "params": [],
      "result": {
        "name": "chainId",
        "schema": {
          "$ref": "#/components/schemas/Quantity"
        }
      },
      "summary": "Returns the chain identifier.",
      "tags": [
        {
          "name": "tron"
        },
        {
          "name": "standard-read"
        }
      ],
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "tron_read_rpc",
      "x-tier-required": "free"
    },
    {
      "description": "Returns the current EVM gas price as a hex quantity. This is distinct from native wallet energy price history.",
      "name": "eth_gasPrice",
      "params": [],
      "result": {
        "name": "gasPrice",
        "schema": {
          "$ref": "#/components/schemas/Quantity"
        }
      },
      "summary": "Returns the current gas price.",
      "tags": [
        {
          "name": "tron"
        },
        {
          "name": "standard-read"
        }
      ],
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "tron_read_rpc",
      "x-tier-required": "free"
    },
    {
      "description": "Returns the balance for the current Tron EVM state. The block parameter must be `latest`; historical block quantities are not supported.",
      "name": "eth_getBalance",
      "params": [
        {
          "name": "address",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/EVMAddress"
          }
        },
        {
          "name": "block",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/LatestBlockTag"
          }
        }
      ],
      "result": {
        "name": "balance",
        "schema": {
          "$ref": "#/components/schemas/Quantity"
        }
      },
      "summary": "Returns the TRX balance of an EVM address.",
      "tags": [
        {
          "name": "tron"
        },
        {
          "name": "evm-read"
        }
      ],
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "tron_read_rpc",
      "x-tier-required": "free"
    },
    {
      "description": "Returns the EVM representation of a Tron block. The block number is an EVM hex quantity or the `latest` tag; wallet HTTP uses decimal block numbers instead.",
      "name": "eth_getBlockByNumber",
      "params": [
        {
          "name": "block",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/BlockNumberOrLatest"
          }
        },
        {
          "name": "fullTransactions",
          "required": true,
          "schema": {
            "type": "boolean"
          }
        }
      ],
      "result": {
        "name": "block",
        "schema": {
          "additionalProperties": true,
          "type": [
            "object",
            "null"
          ]
        }
      },
      "summary": "Returns an EVM block by number.",
      "tags": [
        {
          "name": "tron"
        },
        {
          "name": "standard-read"
        }
      ],
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "tron_read_rpc",
      "x-tier-required": "free"
    },
    {
      "description": "Returns contract bytecode for the current Tron EVM state. The block parameter must be `latest`; historical block quantities are not supported.",
      "name": "eth_getCode",
      "params": [
        {
          "name": "address",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/EVMAddress"
          }
        },
        {
          "name": "block",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/LatestBlockTag"
          }
        }
      ],
      "result": {
        "name": "code",
        "schema": {
          "$ref": "#/components/schemas/Data"
        }
      },
      "summary": "Returns bytecode at an EVM address.",
      "tags": [
        {
          "name": "tron"
        },
        {
          "name": "evm-read"
        }
      ],
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "tron_read_rpc",
      "x-tier-required": "free"
    },
    {
      "description": "Returns logs for an inclusive block range. A request may span at most 100 blocks; split larger scans into adjacent ranges.",
      "name": "eth_getLogs",
      "params": [
        {
          "name": "filter",
          "required": true,
          "schema": {
            "additionalProperties": false,
            "properties": {
              "address": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EVMAddress"
                  },
                  {
                    "items": {
                      "$ref": "#/components/schemas/EVMAddress"
                    },
                    "type": "array"
                  }
                ]
              },
              "blockHash": {
                "$ref": "#/components/schemas/Data32"
              },
              "fromBlock": {
                "pattern": "^0x[0-9a-fA-F]+$",
                "type": "string"
              },
              "toBlock": {
                "pattern": "^0x[0-9a-fA-F]+$",
                "type": "string"
              },
              "topics": {
                "items": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "$ref": "#/components/schemas/Data32"
                    },
                    {
                      "items": {
                        "$ref": "#/components/schemas/Data32"
                      },
                      "type": "array"
                    }
                  ]
                },
                "type": "array"
              }
            },
            "type": "object"
          }
        }
      ],
      "result": {
        "name": "logs",
        "schema": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        }
      },
      "summary": "Returns EVM logs matching a filter.",
      "tags": [
        {
          "name": "tron"
        },
        {
          "name": "logs"
        }
      ],
      "x-max-block-range": 100,
      "x-rate-limit-rps": {
        "basic": 5,
        "business": 80,
        "free": 2,
        "pro": 20
      },
      "x-tier-category": "tron_read_rpc_heavy",
      "x-tier-required": "free"
    },
    {
      "description": "Returns a storage word for the current Tron EVM state. The block parameter must be `latest`; historical block quantities are not supported.",
      "name": "eth_getStorageAt",
      "params": [
        {
          "name": "address",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/EVMAddress"
          }
        },
        {
          "name": "position",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/Quantity"
          }
        },
        {
          "name": "block",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/LatestBlockTag"
          }
        }
      ],
      "result": {
        "name": "value",
        "schema": {
          "$ref": "#/components/schemas/Data32"
        }
      },
      "summary": "Returns one EVM storage slot.",
      "tags": [
        {
          "name": "tron"
        },
        {
          "name": "evm-read"
        }
      ],
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "tron_read_rpc",
      "x-tier-required": "free"
    },
    {
      "description": "Returns false when the selected node does not report active synchronization, or an implementation-defined progress object.",
      "name": "eth_syncing",
      "params": [],
      "result": {
        "name": "syncing",
        "schema": {
          "oneOf": [
            {
              "type": "boolean"
            },
            {
              "additionalProperties": true,
              "type": "object"
            }
          ]
        }
      },
      "summary": "Returns the node synchronization status.",
      "tags": [
        {
          "name": "tron"
        },
        {
          "name": "standard-read"
        }
      ],
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "tron_read_rpc",
      "x-tier-required": "free"
    },
    {
      "description": "Returns the network identifier as a decimal string.",
      "name": "net_version",
      "params": [],
      "result": {
        "name": "networkId",
        "schema": {
          "type": "string"
        }
      },
      "summary": "Returns the network identifier.",
      "tags": [
        {
          "name": "tron"
        },
        {
          "name": "standard-read"
        }
      ],
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "tron_read_rpc",
      "x-tier-required": "free"
    },
    {
      "description": "Returns an implementation-defined client version string for the selected upstream node.",
      "name": "web3_clientVersion",
      "params": [],
      "result": {
        "name": "clientVersion",
        "schema": {
          "type": "string"
        }
      },
      "summary": "Returns the selected node client version.",
      "tags": [
        {
          "name": "tron"
        },
        {
          "name": "standard-read"
        }
      ],
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "tron_read_rpc",
      "x-tier-required": "free"
    }
  ],
  "openrpc": "1.2.6",
  "servers": [
    {
      "name": "Production",
      "url": "https://triport.io/rpc/tron"
    }
  ]
}
