{
  "components": {
    "schemas": {
      "AccountInformation": {
        "additionalProperties": true,
        "properties": {
          "balance": {
            "pattern": "^[0-9]+$",
            "type": "string"
          },
          "block_id": {
            "$ref": "#/components/schemas/BlockId"
          },
          "code": {
            "type": "string"
          },
          "data": {
            "type": "string"
          },
          "last_transaction_id": {
            "$ref": "#/components/schemas/TransactionId"
          },
          "state": {
            "enum": [
              "uninitialized",
              "active",
              "frozen"
            ],
            "type": "string"
          }
        },
        "required": [
          "balance",
          "state",
          "last_transaction_id"
        ],
        "type": "object"
      },
      "BlockData": {
        "additionalProperties": true,
        "properties": {
          "data": {
            "description": "Base64-encoded serialized block data.",
            "type": "string"
          },
          "id": {
            "$ref": "#/components/schemas/BlockId"
          }
        },
        "required": [
          "id",
          "data"
        ],
        "type": "object"
      },
      "BlockHeader": {
        "additionalProperties": true,
        "properties": {
          "id": {
            "$ref": "#/components/schemas/BlockId"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "BlockId": {
        "additionalProperties": false,
        "properties": {
          "file_hash": {
            "$ref": "#/components/schemas/Hash"
          },
          "root_hash": {
            "$ref": "#/components/schemas/Hash"
          },
          "seqno": {
            "$ref": "#/components/schemas/Seqno"
          },
          "shard": {
            "$ref": "#/components/schemas/Shard"
          },
          "workchain": {
            "format": "int32",
            "type": "integer"
          }
        },
        "required": [
          "workchain",
          "shard",
          "seqno",
          "root_hash",
          "file_hash"
        ],
        "type": "object"
      },
      "Cell": {
        "additionalProperties": false,
        "properties": {
          "bytes": {
            "description": "Base64-encoded bag of cells.",
            "type": "string"
          }
        },
        "required": [
          "bytes"
        ],
        "type": "object"
      },
      "ConfigInfo": {
        "additionalProperties": true,
        "properties": {
          "config": {
            "$ref": "#/components/schemas/Cell"
          }
        },
        "required": [
          "config"
        ],
        "type": "object"
      },
      "Hash": {
        "description": "TON hash in the base64/base64url or hexadecimal form accepted by the facade.",
        "minLength": 1,
        "type": "string"
      },
      "LegacyStack": {
        "items": {
          "$ref": "#/components/schemas/LegacyStackEntry"
        },
        "type": "array"
      },
      "LegacyStackEntry": {
        "description": "TON Center v2 legacy pair such as [num,value], [cell,{bytes}], tuple, or list.",
        "items": {},
        "maxItems": 2,
        "minItems": 2,
        "type": "array"
      },
      "LogicalTime": {
        "description": "Unsigned logical time represented as a decimal string.",
        "pattern": "^[0-9]+$",
        "type": "string"
      },
      "MasterchainInfo": {
        "additionalProperties": false,
        "properties": {
          "init": {
            "$ref": "#/components/schemas/BlockId"
          },
          "last": {
            "$ref": "#/components/schemas/BlockId"
          },
          "state_root_hash": {
            "$ref": "#/components/schemas/Hash"
          }
        },
        "required": [
          "last",
          "state_root_hash",
          "init"
        ],
        "type": "object"
      },
      "RunMethodResult": {
        "additionalProperties": true,
        "properties": {
          "block_id": {
            "$ref": "#/components/schemas/BlockId"
          },
          "exit_code": {
            "format": "int32",
            "type": "integer"
          },
          "gas_used": {
            "format": "int64",
            "type": "integer"
          },
          "last_transaction_id": {
            "$ref": "#/components/schemas/TransactionId"
          },
          "stack": {
            "$ref": "#/components/schemas/LegacyStack"
          }
        },
        "required": [
          "exit_code",
          "stack"
        ],
        "type": "object"
      },
      "Seqno": {
        "description": "Block sequence number represented as a JSON number.",
        "format": "int32",
        "minimum": 0,
        "type": "integer"
      },
      "ServerTime": {
        "additionalProperties": true,
        "properties": {
          "now": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "now"
        ],
        "type": "object"
      },
      "ServerVersion": {
        "additionalProperties": true,
        "description": "Version and capability fields reported by liteServer.getVersion.",
        "type": "object"
      },
      "Shard": {
        "description": "Signed int64 shard identifier represented as a decimal JSON string.",
        "pattern": "^-?[0-9]+$",
        "type": "string"
      },
      "TonAddress": {
        "description": "TON account address in raw workchain:hex form or user-friendly base64url form.",
        "minLength": 3,
        "type": "string"
      },
      "Transaction": {
        "additionalProperties": true,
        "properties": {
          "data": {
            "type": "string"
          },
          "fee": {
            "type": "string"
          },
          "in_msg": {
            "additionalProperties": true,
            "type": "object"
          },
          "out_msgs": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array"
          },
          "transaction_id": {
            "$ref": "#/components/schemas/TransactionId"
          },
          "utime": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "transaction_id"
        ],
        "type": "object"
      },
      "TransactionId": {
        "additionalProperties": false,
        "properties": {
          "hash": {
            "$ref": "#/components/schemas/Hash"
          },
          "lt": {
            "$ref": "#/components/schemas/LogicalTime"
          }
        },
        "required": [
          "lt",
          "hash"
        ],
        "type": "object"
      }
    }
  },
  "info": {
    "description": "Generated from docs/methods-catalog/ton/rpc. This is an authorial OpenRPC description based on TON Center API v2 request conventions and the liteserver TL schema, not an upstream OpenRPC fork. It exposes 13 measured read-only JSON-RPC methods over a public ADNL pool; HTTP gateways and sendBoc are outside the product. Two servers answered from genesis, but continuous full history is not promised.",
    "title": "Triport — TON JSON-RPC over ADNL",
    "version": "0.2.0-api-vector-s2"
  },
  "methods": [
    {
      "description": "Returns balance, status, code, data, and last-transaction information for a raw or user-friendly TON address, optionally at a masterchain seqno.",
      "name": "getAddressInformation",
      "paramStructure": "by-name",
      "params": [
        {
          "name": "address",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/TonAddress"
          }
        },
        {
          "name": "seqno",
          "required": false,
          "schema": {
            "$ref": "#/components/schemas/Seqno"
          }
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "$ref": "#/components/schemas/AccountInformation"
        }
      },
      "summary": "Get account state",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "ton_read_rpc_heavy",
      "x-tier-required": "free",
      "x-triport-archive": "2-servers",
      "x-triport-evidence-check": "getAccountState",
      "x-triport-parameter-convention": "toncenter-v2",
      "x-triport-transport": "adnl",
      "x-triport-upstream-method": "liteServer.getAccountState"
    },
    {
      "description": "Returns the serialized block body for a full block ID. Historical availability is selected from each liteserver's measured retention window.",
      "name": "getBlock",
      "paramStructure": "by-name",
      "params": [
        {
          "name": "workchain",
          "required": true,
          "schema": {
            "format": "int32",
            "type": "integer"
          }
        },
        {
          "name": "shard",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/Shard"
          }
        },
        {
          "name": "seqno",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/Seqno"
          }
        },
        {
          "name": "root_hash",
          "required": false,
          "schema": {
            "$ref": "#/components/schemas/Hash"
          }
        },
        {
          "name": "file_hash",
          "required": false,
          "schema": {
            "$ref": "#/components/schemas/Hash"
          }
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "$ref": "#/components/schemas/BlockData"
        }
      },
      "summary": "Get a serialized block body",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "ton_read_rpc_heavy",
      "x-tier-required": "free",
      "x-triport-archive": "2-servers",
      "x-triport-evidence-check": "getBlock:seqno=1",
      "x-triport-parameter-convention": "toncenter-v2",
      "x-triport-transport": "adnl",
      "x-triport-upstream-method": "liteServer.getBlock"
    },
    {
      "description": "Returns metadata and proof material for a block identified by workchain, shard, seqno, and optional hashes.",
      "name": "getBlockHeader",
      "paramStructure": "by-name",
      "params": [
        {
          "name": "workchain",
          "required": true,
          "schema": {
            "format": "int32",
            "type": "integer"
          }
        },
        {
          "name": "shard",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/Shard"
          }
        },
        {
          "name": "seqno",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/Seqno"
          }
        },
        {
          "name": "root_hash",
          "required": false,
          "schema": {
            "$ref": "#/components/schemas/Hash"
          }
        },
        {
          "name": "file_hash",
          "required": false,
          "schema": {
            "$ref": "#/components/schemas/Hash"
          }
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "$ref": "#/components/schemas/BlockHeader"
        }
      },
      "summary": "Get block metadata without transactions",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "ton_read_rpc_heavy",
      "x-tier-required": "free",
      "x-triport-archive": "2-servers",
      "x-triport-evidence-check": "getBlockHeader",
      "x-triport-parameter-convention": "toncenter-v2",
      "x-triport-transport": "adnl",
      "x-triport-upstream-method": "liteServer.getBlockHeader"
    },
    {
      "description": "Returns the available blockchain configuration cells, optionally at a historical masterchain seqno. Historical routing follows the selected server's numeric retention window.",
      "name": "getConfigAll",
      "paramStructure": "by-name",
      "params": [
        {
          "name": "seqno",
          "required": false,
          "schema": {
            "$ref": "#/components/schemas/Seqno"
          }
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "$ref": "#/components/schemas/ConfigInfo"
        }
      },
      "summary": "Get all available blockchain configuration parameters",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "ton_read_rpc_heavy",
      "x-tier-required": "free",
      "x-triport-archive": "2-servers",
      "x-triport-evidence-check": "getConfigAll:config34",
      "x-triport-parameter-convention": "toncenter-v2",
      "x-triport-transport": "adnl",
      "x-triport-upstream-method": "liteServer.getConfigAll"
    },
    {
      "description": "Returns one numbered blockchain configuration cell, optionally at a masterchain seqno. The facade maps config_id to liteServer.getConfigParams.",
      "name": "getConfigParam",
      "paramStructure": "by-name",
      "params": [
        {
          "name": "config_id",
          "required": true,
          "schema": {
            "format": "int32",
            "type": "integer"
          }
        },
        {
          "name": "seqno",
          "required": false,
          "schema": {
            "$ref": "#/components/schemas/Seqno"
          }
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "$ref": "#/components/schemas/ConfigInfo"
        }
      },
      "summary": "Get one blockchain configuration parameter",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "ton_read_rpc_heavy",
      "x-tier-required": "free",
      "x-triport-archive": "2-servers",
      "x-triport-evidence-check": "getConfigParams:34",
      "x-triport-parameter-convention": "toncenter-v2",
      "x-triport-transport": "adnl",
      "x-triport-upstream-method": "liteServer.getConfigParams"
    },
    {
      "description": "Returns the current masterchain block ID, state root hash, and zero-state ID. The facade calls liteServer.getMasterchainInfo over ADNL.",
      "name": "getMasterchainInfo",
      "paramStructure": "by-name",
      "params": [],
      "result": {
        "name": "result",
        "schema": {
          "$ref": "#/components/schemas/MasterchainInfo"
        }
      },
      "summary": "Get the current masterchain reference",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "ton_read_rpc",
      "x-tier-required": "free",
      "x-triport-archive": "2-servers",
      "x-triport-evidence-check": "getMasterchainInfo",
      "x-triport-parameter-convention": "toncenter-v2",
      "x-triport-transport": "adnl",
      "x-triport-upstream-method": "liteServer.getMasterchainInfo"
    },
    {
      "description": "Returns active shardchain block IDs at a masterchain seqno. The facade maps the request to liteServer.getAllShardsInfo and renders every shard int64 as a JSON string.",
      "name": "getShards",
      "paramStructure": "by-name",
      "params": [
        {
          "name": "seqno",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/Seqno"
          }
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "items": {
            "$ref": "#/components/schemas/BlockId"
          },
          "type": "array"
        }
      },
      "summary": "Get active shardchain block IDs",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "ton_read_rpc_heavy",
      "x-tier-required": "free",
      "x-triport-archive": "2-servers",
      "x-triport-evidence-check": "getAllShardsInfo",
      "x-triport-parameter-convention": "toncenter-v2",
      "x-triport-transport": "adnl",
      "x-triport-upstream-method": "liteServer.getAllShardsInfo"
    },
    {
      "description": "Returns the current time reported by the selected liteserver. This direct liteserver name is diagnostic and does not replace block seqno or logical time.",
      "name": "getTime",
      "paramStructure": "by-name",
      "params": [],
      "result": {
        "name": "result",
        "schema": {
          "$ref": "#/components/schemas/ServerTime"
        }
      },
      "summary": "Get liteserver time",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "ton_read_rpc",
      "x-tier-required": "free",
      "x-triport-archive": "2-servers",
      "x-triport-evidence-check": "getTime",
      "x-triport-parameter-convention": "toncenter-v2",
      "x-triport-transport": "adnl",
      "x-triport-upstream-method": "liteServer.getTime"
    },
    {
      "description": "Returns account transactions newest-first. Continue pagination with both lt and hash from the oldest returned transaction; neither value is a cursor by itself.",
      "name": "getTransactions",
      "paramStructure": "by-name",
      "params": [
        {
          "name": "address",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/TonAddress"
          }
        },
        {
          "name": "limit",
          "required": false,
          "schema": {
            "default": 10,
            "format": "int32",
            "minimum": 1,
            "type": "integer"
          }
        },
        {
          "name": "lt",
          "required": false,
          "schema": {
            "$ref": "#/components/schemas/LogicalTime"
          }
        },
        {
          "name": "hash",
          "required": false,
          "schema": {
            "$ref": "#/components/schemas/Hash"
          }
        },
        {
          "name": "to_lt",
          "required": false,
          "schema": {
            "$ref": "#/components/schemas/LogicalTime"
          }
        },
        {
          "name": "archival",
          "required": false,
          "schema": {
            "default": false,
            "description": "Routing hint for a measured deep-history server; not a promise of continuous history.",
            "type": "boolean"
          }
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "items": {
            "$ref": "#/components/schemas/Transaction"
          },
          "type": "array"
        }
      },
      "summary": "Get account transactions newest-first",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "ton_read_rpc_heavy",
      "x-tier-required": "free",
      "x-triport-archive": "2-servers",
      "x-triport-evidence-check": "getTransactions:wallet-limit=1",
      "x-triport-parameter-convention": "toncenter-v2",
      "x-triport-transport": "adnl",
      "x-triport-upstream-method": "liteServer.getTransactions"
    },
    {
      "description": "Returns version and capability data reported by the selected liteserver. This direct liteserver name has no TON Center compatibility promise.",
      "name": "getVersion",
      "paramStructure": "by-name",
      "params": [],
      "result": {
        "name": "result",
        "schema": {
          "$ref": "#/components/schemas/ServerVersion"
        }
      },
      "summary": "Get liteserver version and capabilities",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "ton_read_rpc",
      "x-tier-required": "free",
      "x-triport-archive": "2-servers",
      "x-triport-evidence-check": "getVersion",
      "x-triport-parameter-convention": "toncenter-v2",
      "x-triport-transport": "adnl",
      "x-triport-upstream-method": "liteServer.getVersion"
    },
    {
      "description": "Finds a block in a workchain and shard by exactly one of seqno, lt, or unixtime and returns its full cryptographic block ID.",
      "name": "lookupBlock",
      "paramStructure": "by-name",
      "params": [
        {
          "name": "workchain",
          "required": true,
          "schema": {
            "format": "int32",
            "type": "integer"
          }
        },
        {
          "name": "shard",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/Shard"
          }
        },
        {
          "name": "seqno",
          "required": false,
          "schema": {
            "$ref": "#/components/schemas/Seqno"
          }
        },
        {
          "name": "lt",
          "required": false,
          "schema": {
            "$ref": "#/components/schemas/LogicalTime"
          }
        },
        {
          "name": "unixtime",
          "required": false,
          "schema": {
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "$ref": "#/components/schemas/BlockId"
        }
      },
      "summary": "Look up a block by position or time",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "ton_read_rpc_heavy",
      "x-tier-required": "free",
      "x-triport-archive": "2-servers",
      "x-triport-evidence-check": "lookupBlock",
      "x-triport-parameter-convention": "toncenter-v2",
      "x-triport-transport": "adnl",
      "x-triport-upstream-method": "liteServer.lookupBlock"
    },
    {
      "description": "Executes a get method using TON Center v2 address and legacy stack conventions. The facade serializes the stack to the BoC required by liteServer.runSmcMethod.",
      "name": "runGetMethod",
      "paramStructure": "by-name",
      "params": [
        {
          "name": "address",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/TonAddress"
          }
        },
        {
          "name": "method",
          "required": true,
          "schema": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "format": "int64",
                "type": "integer"
              }
            ]
          }
        },
        {
          "name": "stack",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/LegacyStack"
          }
        },
        {
          "name": "seqno",
          "required": false,
          "schema": {
            "$ref": "#/components/schemas/Seqno"
          }
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "$ref": "#/components/schemas/RunMethodResult"
        }
      },
      "summary": "Run a read-only smart-contract get method",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "ton_read_rpc_heavy",
      "x-tier-required": "free",
      "x-triport-archive": "2-servers",
      "x-triport-evidence-check": "runGetMethod:elector.active_election_id",
      "x-triport-parameter-convention": "toncenter-v2",
      "x-triport-transport": "adnl",
      "x-triport-upstream-method": "liteServer.runSmcMethod"
    },
    {
      "description": "Executes liteServer.runSmcMethod while exposing its response-field mode bitmask. Address, seqno, and stack retain the TON Center v2 JSON conventions and are converted to TL and BoC by the facade.",
      "name": "runSmcMethod",
      "paramStructure": "by-name",
      "params": [
        {
          "name": "address",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/TonAddress"
          }
        },
        {
          "name": "method",
          "required": true,
          "schema": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "format": "int64",
                "type": "integer"
              }
            ]
          }
        },
        {
          "name": "stack",
          "required": true,
          "schema": {
            "$ref": "#/components/schemas/LegacyStack"
          }
        },
        {
          "name": "seqno",
          "required": false,
          "schema": {
            "$ref": "#/components/schemas/Seqno"
          }
        },
        {
          "name": "mode",
          "required": false,
          "schema": {
            "default": 4,
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "result": {
        "name": "result",
        "schema": {
          "$ref": "#/components/schemas/RunMethodResult"
        }
      },
      "summary": "Run a liteserver smart-contract method with an explicit mode",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "ton_read_rpc_heavy",
      "x-tier-required": "free",
      "x-triport-archive": "2-servers",
      "x-triport-evidence-check": "runSmcMethod:wallet.seqno",
      "x-triport-parameter-convention": "toncenter-v2",
      "x-triport-transport": "adnl",
      "x-triport-upstream-method": "liteServer.runSmcMethod"
    }
  ],
  "openrpc": "1.2.6",
  "servers": [
    {
      "name": "Production",
      "url": "https://triport.io/rpc/ton"
    }
  ]
}
