Chainstack TON Node API

Chainstack-managed The Open Network (TON) HTTP API nodes. 59 documented methods covering accounts, blocks, transactions, jettons, and NFTs.

OpenAPI Specification

chainstack-ton-node-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Chainstack TON Node API
  version: 1.0.0
  description: Chainstack-managed RPC node API for the TON blockchain. Endpoints follow the canonical JSON-RPC over HTTPS
    interface for the network. Authenticate against your Chainstack node's per-node URL (e.g. https://nd-XXX-XXX-XXX.p2pify.com/<key>).
    Merged from the Chainstack Developer Portal per-method fragments at https://github.com/chainstack/dev-portal/tree/main/openapi/ton_node_api.
  contact:
    name: Chainstack API Support
    email: [email protected]
  license:
    name: Chainstack Terms
    url: https://chainstack.com/terms-of-service/
servers:
- url: https://{node_id}.p2pify.com/{api_key}
  description: Chainstack-managed node endpoint
  variables:
    node_id:
      default: nd-000-000-000
      description: Your Chainstack node identifier
    api_key:
      default: <api-key>
      description: Per-node access key
tags:
- name: V2
- name: V3
paths:
  /detectAddress:
    get:
      tags:
      - V2
      summary: detectAddress
      operationId: detectAddress
      parameters:
      - name: address
        in: query
        required: true
        description: The address to detect
        schema:
          type: string
          default: EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2
        example: EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2
      responses:
        '200':
          description: Information about the detected address
          content:
            application/json:
              schema:
                type: object
                properties:
                  raw_form:
                    type: string
                    description: The raw form of the address
                  bounceable:
                    type: object
                    properties:
                      b64:
                        type: string
                        description: The bounceable address in base64 format
                      b64url:
                        type: string
                        description: The bounceable address in base64url format
                  non_bounceable:
                    type: object
                    properties:
                      b64:
                        type: string
                        description: The non-bounceable address in base64 format
                      b64url:
                        type: string
                        description: The non-bounceable address in base64url format
                  given_type:
                    type: string
                    description: The type of the given address
                  test_only:
                    type: boolean
                    description: Whether the address is for testnet only
  /estimateFee:
    post:
      tags:
      - V2
      summary: estimateFee
      operationId: estimateFee
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                address:
                  type: string
                  description: The address to send the message from
                  default: EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs
                body:
                  type: string
                  description: The body of the message in base64 format
                  default: te6cckEBAQEAAgAAAEysuc0=
                init_code:
                  type: string
                  description: Optional init code in base64 format for contract deployment
                init_data:
                  type: string
                  description: Optional init data in base64 format for contract deployment
                ignore_chksig:
                  type: boolean
                  description: Whether to ignore the signature check
                  default: true
              required:
              - address
              - body
      responses:
        '200':
          description: The estimated fee for the message
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    description: Whether the operation was successful
                  result:
                    type: object
                    properties:
                      '@type':
                        type: string
                        description: The type of the result
                      source_fees:
                        type: object
                        properties:
                          '@type':
                            type: string
                          in_fwd_fee:
                            type: integer
                            description: The incoming forward fee
                          storage_fee:
                            type: integer
                            description: The storage fee
                          gas_fee:
                            type: integer
                            description: The gas fee
                          fwd_fee:
                            type: integer
                            description: The forward fee
                      destination_fees:
                        type: array
                        items:
                          type: object
                        description: Array of destination fees
                      '@extra':
                        type: string
                        description: Extra information
  /getAddressBalance:
    get:
      tags:
      - V2
      summary: getAddressBalance
      operationId: getAddressBalance
      parameters:
      - name: address
        in: query
        required: true
        description: The address to get the balance for
        schema:
          type: string
          default: EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2
        example: EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2
      responses:
        '200':
          description: The balance of the specified address
          content:
            application/json:
              schema:
                type: object
                properties:
                  balance:
                    type: string
                    description: The balance of the address in nanotons
  /getAddressInformation:
    get:
      tags:
      - V2
      summary: getAddressInformation
      operationId: getAddressInformation
      parameters:
      - name: address
        in: query
        required: true
        description: The address to get information for
        schema:
          type: string
          default: EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2
        example: EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2
      responses:
        '200':
          description: Information about the specified address
          content:
            application/json:
              schema:
                type: object
                properties:
                  balance:
                    type: string
                    description: The balance of the address
                  state:
                    type: string
                    description: The state of the address
                  code:
                    type: string
                    description: The code of the address
                  data:
                    type: string
                    description: The data of the address
                  last_transaction_id:
                    type: object
                    properties:
                      lt:
                        type: string
                        description: The logical time of the last transaction
                      hash:
                        type: string
                        description: The hash of the last transaction
                  error:
                    type: object
                  id:
                    type: integer
  /getAddressState:
    get:
      tags:
      - V2
      summary: getAddressState
      operationId: getAddressState
      parameters:
      - name: address
        in: query
        required: true
        description: The address to get the state for
        schema:
          type: string
          default: EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2
        example: EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2
      responses:
        '200':
          description: The current state of the specified address
          content:
            application/json:
              schema:
                type: object
                properties:
                  state:
                    type: string
                    description: The current state of the address
                    enum:
                    - active
                    - uninitialized
                    - frozen
  /getBlockHeader:
    get:
      tags:
      - V2
      summary: getBlockHeader
      operationId: getBlockHeader
      parameters:
      - name: workchain
        in: query
        required: true
        description: The workchain ID
        schema:
          type: integer
          default: -1
        example: -1
      - name: shard
        in: query
        required: true
        description: The shard ID
        schema:
          type: string
          default: '-9223372036854775808'
        example: '-9223372036854775808'
      - name: seqno
        in: query
        required: true
        description: The sequence number of the block
        schema:
          type: integer
          default: 39064874
        example: 39064874
      responses:
        '200':
          description: The header of the specified block
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: object
                    properties:
                      workchain:
                        type: integer
                        description: The workchain ID of the block
                      shard:
                        type: string
                        description: The shard ID of the block
                      seqno:
                        type: integer
                        description: The sequence number of the block
                      root_hash:
                        type: string
                        description: The root hash of the block
                      file_hash:
                        type: string
                        description: The file hash of the block
                  global_id:
                    type: integer
                    description: The global ID of the block
                  version:
                    type: integer
                    description: The version of the block
                  after_merge:
                    type: boolean
                    description: Whether the block was created after a merge
                  before_split:
                    type: boolean
                    description: Whether the block was created before a split
                  after_split:
                    type: boolean
                    description: Whether the block was created after a split
                  want_merge:
                    type: boolean
                    description: Whether the block wants to merge
                  want_split:
                    type: boolean
                    description: Whether the block wants to split
                  validator_list_hash_short:
                    type: integer
                    description: The short hash of the validator list
                  catchain_seqno:
                    type: integer
                    description: The sequence number in the catchain
                  min_ref_mc_seqno:
                    type: integer
                    description: The minimum referenced masterchain sequence number
                  is_key_block:
                    type: boolean
                    description: Whether the block is a key block
                  prev_key_block_seqno:
                    type: integer
                    description: The sequence number of the previous key block
                  start_lt:
                    type: string
                    description: The start logical time of the block
                  end_lt:
                    type: string
                    description: The end logical time of the block
                  gen_utime:
                    type: integer
                    description: The generation time of the block
                  vert_seqno:
                    type: integer
                    description: The vertical sequence number of the block
  /getBlockTransactions:
    get:
      tags:
      - V2
      summary: getBlockTransactions
      operationId: getBlockTransactions
      parameters:
      - name: workchain
        in: query
        required: true
        description: The workchain ID
        schema:
          type: integer
          default: -1
        example: -1
      - name: shard
        in: query
        required: true
        description: The shard ID
        schema:
          type: string
          default: '-9223372036854775808'
        example: '-9223372036854775808'
      - name: seqno
        in: query
        required: true
        description: The sequence number of the block
        schema:
          type: integer
          default: 39064874
        example: 39064874
      - name: count
        in: query
        required: false
        description: The maximum number of transactions to return
        schema:
          type: integer
          default: 40
        example: 40
      responses:
        '200':
          description: Transactions from the specified block
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: object
                    properties:
                      workchain:
                        type: integer
                        description: The workchain ID of the block
                      shard:
                        type: string
                        description: The shard ID of the block
                      seqno:
                        type: integer
                        description: The sequence number of the block
                      root_hash:
                        type: string
                        description: The root hash of the block
                      file_hash:
                        type: string
                        description: The file hash of the block
                  transactions:
                    type: array
                    items:
                      type: object
                      properties:
                        account:
                          type: string
                          description: The account address involved in the transaction
                        hash:
                          type: string
                          description: The transaction hash
                        lt:
                          type: string
                          description: The logical time of the transaction
                  incomplete:
                    type: boolean
                    description: Indicates if the returned list is incomplete
  /getBlockTransactionsExt:
    get:
      tags:
      - V2
      summary: getBlockTransactionsExt
      operationId: getBlockTransactionsExt
      parameters:
      - name: workchain
        in: query
        required: true
        description: The workchain ID
        schema:
          type: integer
          default: -1
        example: -1
      - name: shard
        in: query
        required: true
        description: The shard ID
        schema:
          type: string
          default: '-9223372036854775808'
        example: '-9223372036854775808'
      - name: seqno
        in: query
        required: true
        description: The sequence number of the block
        schema:
          type: integer
          default: 39064874
        example: 39064874
      - name: count
        in: query
        required: false
        description: The maximum number of transactions to return
        schema:
          type: integer
          default: 40
        example: 40
      responses:
        '200':
          description: Extended transaction information from the specified block
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: object
                    properties:
                      workchain:
                        type: integer
                        description: The workchain ID of the block
                      shard:
                        type: string
                        description: The shard ID of the block
                      seqno:
                        type: integer
                        description: The sequence number of the block
                      root_hash:
                        type: string
                        description: The root hash of the block
                      file_hash:
                        type: string
                        description: The file hash of the block
                  transactions:
                    type: array
                    items:
                      type: object
                      properties:
                        account:
                          type: string
                          description: The account address involved in the transaction
                        hash:
                          type: string
                          description: The transaction hash
                        lt:
                          type: string
                          description: The logical time of the transaction
                        transaction:
                          type: object
                          description: Detailed transaction information
                  incomplete:
                    type: boolean
                    description: Indicates if the returned list is incomplete
  /getConfigParam:
    get:
      tags:
      - V2
      summary: getConfigParam
      operationId: getConfigParam
      parameters:
      - name: config_id
        in: query
        required: true
        description: The ID of the configuration parameter to retrieve
        schema:
          type: integer
          default: 5
        example: 5
      responses:
        '200':
          description: The requested configuration parameter
          content:
            application/json:
              schema:
                type: object
                properties:
                  config_id:
                    type: integer
                    description: The ID of the configuration parameter
                  value:
                    type: object
                    description: The value of the configuration parameter
                    additionalProperties: true
  /getConsensusBlock:
    get:
      tags:
      - V2
      summary: getConsensusBlock
      operationId: getConsensusBlock
      responses:
        '200':
          description: Information about the latest consensus block
          content:
            application/json:
              schema:
                type: object
                properties:
                  consensus_block:
                    type: integer
                    description: The sequence number of the latest consensus block
                  timestamp:
                    type: integer
                    description: The Unix timestamp of the latest consensus block
                  timestamp_string:
                    type: string
                    description: The human-readable timestamp of the latest consensus block
  /getExtendedAddressInformation:
    get:
      tags:
      - V2
      summary: getExtendedAddressInformation
      operationId: getExtendedAddressInformation
      parameters:
      - name: address
        in: query
        required: true
        description: The address to get extended information for
        schema:
          type: string
          default: EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2
        example: EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2
      responses:
        '200':
          description: Extended information about the specified address
          content:
            application/json:
              schema:
                type: object
                properties:
                  address:
                    type: string
                    description: The address in human-readable form
                  balance:
                    type: string
                    description: The balance of the address in nanotons
                  state:
                    type: string
                    description: The state of the address (active, uninitialized, etc.)
                  last_transaction_id:
                    type: object
                    properties:
                      lt:
                        type: string
                        description: The logical time of the last transaction
                      hash:
                        type: string
                        description: The hash of the last transaction
                  block_id:
                    type: object
                    properties:
                      workchain:
                        type: integer
                        description: The workchain ID
                      shard:
                        type: string
                        description: The shard ID
                      seqno:
                        type: integer
                        description: The sequence number
                  code_hash:
                    type: string
                    description: The hash of the contract code
                  data_hash:
                    type: string
                    description: The hash of the contract data
                  acc_type:
                    type: integer
                    description: The account type
                  acc_type_name:
                    type: string
                    description: The human-readable account type name
  /getMasterchainBlockSignatures:
    get:
      tags:
      - V2
      summary: getMasterchainBlockSignatures
      operationId: getMasterchainBlockSignatures
      parameters:
      - name: seqno
        in: query
        required: true
        description: The sequence number of the masterchain block
        schema:
          type: integer
          default: 39064874
        example: 39064874
      responses:
        '200':
          description: Signatures of the specified masterchain block
          content:
            application/json:
              schema:
                type: object
                properties:
                  signatures:
                    type: array
                    items:
                      type: object
                      properties:
                        node_id:
                          type: string
                          description: The ID of the validator node
                        r:
                          type: string
                          description: The 'r' component of the signature
                        s:
                          type: string
                          description: The 's' component of the signature
                  validator_set_hash:
                    type: string
                    description: The hash of the validator set
                  catchain_seqno:
                    type: integer
                    description: The sequence number in the catchain
  /getMasterchainInfo:
    get:
      tags:
      - V2
      summary: getMasterchainInfo
      operationId: getMasterchainInfo
      responses:
        '200':
          description: Information about the current state of the TON masterchain
          content:
            application/json:
              schema:
                type: object
                properties:
                  last:
                    type: object
                    properties:
                      seqno:
                        type: integer
                        description: The sequence number of the last masterchain block
                      shard:
                        type: string
                        description: The shard identifier of the last masterchain block
                      workchain:
                        type: integer
                        description: The workchain identifier of the last masterchain block
                      fileHash:
                        type: string
                        description: The file hash of the last masterchain block
                      rootHash:
                        type: string
                        description: The root hash of the last masterchain block
                  init:
                    type: object
                    properties:
                      fileHash:
                        type: string
                        description: The file hash of the initial masterchain block
                      rootHash:
                        type: string
                        description: The root hash of the initial masterchain block
                  stateRootHash:
                    type: string
                    description: The state root hash of the masterchain
                  version:
                    type: integer
                    description: The version of the masterchain
  /getShardBlockProof:
    get:
      tags:
      - V2
      summary: getShardBlockProof
      operationId: getShardBlockProof
      parameters:
      - name: workchain
        in: query
        required: true
        description: The workchain ID
        schema:
          type: integer
          default: -1
        example: -1
      - name: shard
        in: query
        required: true
        description: The shard ID
        schema:
          type: string
          default: '-9223372036854775808'
        example: '-9223372036854775808'
      - name: seqno
        in: query
        required: true
        description: The sequence number of the block
        schema:
          type: integer
          default: 39064874
        example: 39064874
      responses:
        '200':
          description: Proof of the specified shard block
          content:
            application/json:
              schema:
                type: object
                properties:
                  masterchain_block_root_hash:
                    type: string
                    description: The root hash of the masterchain block
                  masterchain_block_seq_no:
                    type: integer
                    description: The sequence number of the masterchain block
                  links:
                    type: array
                    items:
                      type: object
                      properties:
                        from:
                          type: string
                          description: The source block hash
                        to:
                          type: string
                          description: The destination block hash
                        dest_proof:
                          type: string
                          description: The proof of the destination block
                        proof:
                          type: string
                          description: The proof of the link
                  block_header:
                    type: string
                    description: The header of the shard block
  /getTokenData:
    get:
      tags:
      - V2
      summary: getTokenData
      operationId: getTokenData
      parameters:
      - name: address
        in: query
        required: true
        description: The address of the token contract
        schema:
          type: string
          default: EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs
        example: EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs
      responses:
        '200':
          description: Data about the specified token
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                    description: The name of the token
                  symbol:
                    type: string
                    description: The symbol of the token
                  decimals:
                    type: integer
                    description: The number of decimal places for the token
                  totalSupply:
                    type: string
                    description: The total supply of the token
                  mintable:
                    type: boolean
                    description: Whether the token is mintable
                  burnable:
                    type: boolean
                    description: Whether the token is burnable
                  address:
                    type: string
                    description: The address of the token contract
  /getTransactions:
    get:
      tags:
      - V2
      summary: getTransactions
      operationId: getTransactions
      parameters:
      - name: address
        in: query
        required: true
        description: The address to get transactions for
        schema:
          type: string
          default: EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2
        example: EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2
      - name: limit
        in: query
        required: false
        description: The maximum number of transactions to return
        schema:
          type: integer
          default: 10
        example: 10
      - name: to_lt
        in: query
        required: false
        description: The logical time to start the search from (0 means from the latest)
        schema:
          type: integer
          default: 0
        example: 0
      - name: archival
        in: query
        required: false
        description: Whether to use archival node for the query
        schema:
          type: boolean
          default: false
        example: false
      responses:
        '200':
          description: Transaction history for the specified address
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    transaction_id:
                      type: object
                      properties:
                        lt:
                          type: string
                          description: The logical time of the transaction
                        hash:
                          type: string
                          description: The hash of the transaction
                    utime:
                      type: integer
                      description: Unix timestamp of the transaction
                    fee:
                      type: string
                      description: The fee for the transaction in nanotons
                    storage_fee:
                      type: string
                      description: The storage fee for the transaction in nanotons
                    other_fee:
                      type: string
                      description: Other fees for the transaction in nanotons
                    transaction_type:
                      type: string
                      description: The type of the transaction
                    compute:
                      type: object
                      description: Computation details of the transaction
                    action:
                      type: object
                      description: Action details of the transaction
                    in_msg:
                      type: object
                      description: Details of the incoming message
                    out_msgs:
                      type: array
                      description: Details of the outgoing messages
  /getWalletInformation:
    get:
      tags:
      - V2
      summary: getWalletInformation
      operationId: getWalletInformation
      parameters:
      - name: address
        in: query
        required: true
        description: The address to get wallet information for
        schema:
          type: string
          default: EQDtFpEwcFAEcRe5mLVh2N6C0

# --- truncated at 32 KB (155 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/chainstack/refs/heads/main/openapi/chainstack-ton-node-api-openapi.yml