TOP Group (The Open Platform) Blockchain API

The Blockchain API from TOP Group (The Open Platform) — 22 operation(s) for blockchain.

OpenAPI Specification

top-group-blockchain-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: REST api to TON explorer Accounts Blockchain API
  version: 2.0.0
  description: Provide access to indexed TON blockchain
  contact:
    name: Support
    email: support@tonkeeper.com
servers:
- url: https://tonapi.io
- url: https://testnet.tonapi.io
- url: http://localhost:8081
tags:
- name: Blockchain
  externalDocs:
    description: Additional documentation
    url: https://docs.tonconsole.com/tonapi/rest-api/blockchain
paths:
  /v2/blockchain/reduced/blocks:
    get:
      description: Get reduced blockchain blocks data
      operationId: getReducedBlockchainBlocks
      tags:
      - Blockchain
      parameters:
      - $ref: '#/components/parameters/fromQuery'
      - $ref: '#/components/parameters/toQuery'
      responses:
        '200':
          description: blockchain reduced blocks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReducedBlocks'
        default:
          $ref: '#/components/responses/Error'
  /v2/blockchain/blocks/{block_id}:
    get:
      description: Get blockchain block data
      operationId: getBlockchainBlock
      tags:
      - Blockchain
      parameters:
      - $ref: '#/components/parameters/blockchainBlockIDParameter'
      responses:
        '200':
          description: blockchain block
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockchainBlock'
        default:
          $ref: '#/components/responses/Error'
  /v2/blockchain/blocks/{block_id}/boc:
    get:
      description: Download blockchain block BOC
      operationId: downloadBlockchainBlockBoc
      tags:
      - Blockchain
      parameters:
      - $ref: '#/components/parameters/blockchainBlockIDParameter'
      responses:
        '200':
          description: Block BOC file
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
          headers:
            Content-Disposition:
              schema:
                type: string
                example: attachment; filename="block.boc"
        default:
          $ref: '#/components/responses/Error'
  /v2/blockchain/masterchain/{masterchain_seqno}/shards:
    get:
      description: Get blockchain block shards
      operationId: getBlockchainMasterchainShards
      tags:
      - Blockchain
      parameters:
      - $ref: '#/components/parameters/masterchainSeqno'
      responses:
        '200':
          description: blockchain block shards
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockchainBlockShards'
        default:
          $ref: '#/components/responses/Error'
  /v2/blockchain/masterchain/{masterchain_seqno}/blocks:
    get:
      description: Get all blocks in all shards and workchains between target and previous masterchain block according to shards last blocks snapshot in masterchain.  We don't recommend to build your app around this method because it has problem with scalability and will work very slow in the future.
      operationId: getBlockchainMasterchainBlocks
      tags:
      - Blockchain
      parameters:
      - $ref: '#/components/parameters/masterchainSeqno'
      responses:
        '200':
          description: blockchain blocks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockchainBlocks'
        default:
          $ref: '#/components/responses/Error'
  /v2/blockchain/masterchain/{masterchain_seqno}/transactions:
    get:
      description: Get all transactions in all shards and workchains between target and previous masterchain block according to shards last blocks snapshot in masterchain. We don't recommend to build your app around this method because it has problem with scalability and will work very slow in the future.
      operationId: getBlockchainMasterchainTransactions
      tags:
      - Blockchain
      parameters:
      - $ref: '#/components/parameters/masterchainSeqno'
      - $ref: '#/components/parameters/offsetQuery'
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          example: 100
          minimum: 1
      responses:
        '200':
          description: blockchain transactions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transactions'
        default:
          $ref: '#/components/responses/Error'
  /v2/blockchain/masterchain/{masterchain_seqno}/config:
    get:
      description: Get blockchain config from a specific block, if present.
      operationId: getBlockchainConfigFromBlock
      tags:
      - Blockchain
      parameters:
      - $ref: '#/components/parameters/masterchainSeqno'
      responses:
        '200':
          description: blockchain config
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockchainConfig'
        default:
          $ref: '#/components/responses/Error'
  /v2/blockchain/masterchain/{masterchain_seqno}/config/raw:
    get:
      description: Get raw blockchain config from a specific block, if present.
      operationId: getRawBlockchainConfigFromBlock
      tags:
      - Blockchain
      parameters:
      - $ref: '#/components/parameters/masterchainSeqno'
      responses:
        '200':
          description: blockchain config
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RawBlockchainConfig'
        default:
          $ref: '#/components/responses/Error'
  /v2/blockchain/blocks/{block_id}/transactions:
    get:
      description: Get transactions from block
      operationId: getBlockchainBlockTransactions
      tags:
      - Blockchain
      parameters:
      - $ref: '#/components/parameters/blockchainBlockIDParameter'
      responses:
        '200':
          description: blockchain block transactions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transactions'
        default:
          $ref: '#/components/responses/Error'
  /v2/blockchain/transactions/{transaction_id}:
    get:
      description: Get transaction data
      operationId: getBlockchainTransaction
      tags:
      - Blockchain
      parameters:
      - $ref: '#/components/parameters/transactionIDParameter'
      responses:
        '200':
          description: blockchain transaction
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transaction'
        default:
          $ref: '#/components/responses/Error'
  /v2/blockchain/messages/{msg_id}/transaction:
    get:
      description: Get transaction data by message hash
      operationId: getBlockchainTransactionByMessageHash
      tags:
      - Blockchain
      parameters:
      - $ref: '#/components/parameters/messageIDParameter'
      responses:
        '200':
          description: transaction by message hash
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transaction'
        default:
          $ref: '#/components/responses/Error'
  /v2/blockchain/validators:
    get:
      description: Get blockchain validators
      operationId: getBlockchainValidators
      tags:
      - Blockchain
      responses:
        '200':
          description: blockchain validators
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Validators'
        default:
          $ref: '#/components/responses/Error'
  /v2/blockchain/masterchain-head:
    get:
      description: Get last known masterchain block
      operationId: getBlockchainMasterchainHead
      tags:
      - Blockchain
      responses:
        '200':
          description: blockchain masterchain head
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockchainBlock'
        default:
          $ref: '#/components/responses/Error'
  /v2/blockchain/accounts/{account_id}:
    get:
      description: Get low-level information about an account taken directly from the blockchain.
      operationId: getBlockchainRawAccount
      tags:
      - Blockchain
      parameters:
      - $ref: '#/components/parameters/accountIDParameter'
      responses:
        '200':
          description: raw account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockchainRawAccount'
        default:
          $ref: '#/components/responses/Error'
  /v2/blockchain/accounts/_bulk:
    post:
      description: Get low-level information about several accounts taken directly from the blockchain.
      operationId: getBlockchainRawAccounts
      tags:
      - Blockchain
      requestBody:
        $ref: '#/components/requestBodies/AccountIDs'
      responses:
        '200':
          description: a list of raw accounts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockchainRawAccounts'
        default:
          $ref: '#/components/responses/Error'
  /v2/blockchain/accounts/{account_id}/transactions:
    get:
      description: Get account transactions
      operationId: getBlockchainAccountTransactions
      tags:
      - Blockchain
      parameters:
      - $ref: '#/components/parameters/accountIDParameter'
      - name: after_lt
        in: query
        description: omit this parameter to get last transactions
        schema:
          type: integer
          format: int64
          example: 39787624000003
          x-js-format: bigint
      - name: before_lt
        in: query
        description: omit this parameter to get last transactions
        schema:
          type: integer
          format: int64
          example: 39787624000003
          x-js-format: bigint
      - name: limit
        in: query
        schema:
          type: integer
          format: int32
          maximum: 1000
          default: 100
          example: 100
          minimum: 1
      - name: sort_order
        in: query
        schema:
          type: string
          description: used to sort the result-set in ascending or descending order by lt.
          default: desc
          enum:
          - desc
          - asc
      responses:
        '200':
          description: blockchain account transactions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transactions'
        default:
          $ref: '#/components/responses/Error'
  /v2/blockchain/accounts/{account_id}/methods/{method_name}:
    get:
      description: Execute get method for account
      operationId: execGetMethodForBlockchainAccount
      tags:
      - Blockchain
      parameters:
      - $ref: '#/components/parameters/accountIDParameter'
      - $ref: '#/components/parameters/methodNameParameter'
      - name: args
        in: query
        required: false
        schema:
          type: array
          description: 'Array of method arguments in string format. Supported value formats:

            - "NaN" for Not-a-Number type

            - "Null" for Null type

            - Decimal integers for tinyint type (e.g., "100500")

            - 0x-prefixed hex strings for int257 type (e.g., "0xfa01d78381ae32")

            - TON blockchain addresses for slice type (e.g., "0:6e731f2e28b73539a7f85ac47ca104d5840b229351189977bb6151d36b5e3f5e")

            - Base64-encoded BOC for cell type (e.g., "te6ccgEBAQEAAgAAAA==")

            - Hex-encoded BOC for slice type (e.g., "b5ee9c72010101010002000000")'
          items:
            type: string
          example:
          - 0:9a33970f617bcd71acf2cd28357c067aa31859c02820d8f01d74c88063a8f4d8
      responses:
        '200':
          description: method execution result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MethodExecutionResult'
        default:
          $ref: '#/components/responses/Error'
    post:
      description: Execute get method for account
      operationId: execGetMethodWithBodyForBlockchainAccount
      tags:
      - Blockchain
      parameters:
      - $ref: '#/components/parameters/accountIDParameter'
      - $ref: '#/components/parameters/methodNameParameter'
      requestBody:
        $ref: '#/components/requestBodies/ExecGetMethodArgs'
      responses:
        '200':
          description: method execution result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MethodExecutionResult'
        default:
          $ref: '#/components/responses/Error'
  /v2/blockchain/message:
    post:
      description: Send message to blockchain
      operationId: sendBlockchainMessage
      tags:
      - Blockchain
      requestBody:
        $ref: '#/components/requestBodies/BatchBoc'
      responses:
        '200':
          description: the message has been sent
        default:
          $ref: '#/components/responses/Error'
  /v2/blockchain/config:
    get:
      description: Get blockchain config
      operationId: getBlockchainConfig
      tags:
      - Blockchain
      responses:
        '200':
          description: blockchain config
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockchainConfig'
        default:
          $ref: '#/components/responses/Error'
  /v2/blockchain/config/raw:
    get:
      description: Get raw blockchain config
      operationId: getRawBlockchainConfig
      tags:
      - Blockchain
      responses:
        '200':
          description: blockchain config
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RawBlockchainConfig'
        default:
          $ref: '#/components/responses/Error'
  /v2/blockchain/accounts/{account_id}/inspect:
    get:
      description: Blockchain account inspect
      operationId: blockchainAccountInspect
      tags:
      - Blockchain
      parameters:
      - $ref: '#/components/parameters/accountIDParameter'
      responses:
        '200':
          description: blockchain account inspect
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockchainAccountInspect'
        default:
          $ref: '#/components/responses/Error'
  /v2/blockchain/libraries/{hash}:
    get:
      description: Get library cell
      operationId: getLibraryByHash
      tags:
      - Blockchain
      parameters:
      - $ref: '#/components/parameters/hashParameter'
      responses:
        '200':
          description: library cell
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockchainLibrary'
        default:
          $ref: '#/components/responses/Error'
components:
  schemas:
    ExecGetMethodArgType:
      type: string
      description: 'Data type of the argument value:

        - `nan`: Not-a-Number value

        - `null`: Null value

        - `tinyint`: Decimal integer (e.g., `100500`)

        - `int257`: 257-bit integer in hex format with 0x prefix (e.g., `0xfa01d78381ae32`)

        - `slice`: TON blockchain address (e.g., `0:6e731f2e...`)

        - `cell_boc_base64`: Base64-encoded cell BOC (Binary Object Code) (e.g., `te6ccgEBAQEAAgAAAA==`)

        - `slice_boc_hex`: Hex-encoded slice BOC (e.g., `b5ee9c72...`)

        '
      enum:
      - nan
      - 'null'
      - tinyint
      - int257
      - slice
      - cell_boc_base64
      - slice_boc_hex
      example: int257
    Source:
      type: object
      required:
      - files
      properties:
        files:
          type: array
          items:
            $ref: '#/components/schemas/SourceFile'
    ConfigProposalSetup:
      type: object
      required:
      - min_tot_rounds
      - max_tot_rounds
      - min_wins
      - max_losses
      - min_store_sec
      - max_store_sec
      - bit_price
      - cell_price
      properties:
        min_tot_rounds:
          type: integer
          example: 2
        max_tot_rounds:
          type: integer
          example: 6
        min_wins:
          type: integer
          example: 2
        max_losses:
          type: integer
          example: 6
        min_store_sec:
          type: integer
          format: int64
          example: 1000000
        max_store_sec:
          type: integer
          format: int64
          example: 10000000
        bit_price:
          type: integer
          format: int64
          example: 1
        cell_price:
          type: integer
          format: int64
          example: 500
    BlockCurrencyCollection:
      type: object
      required:
      - grams
      - other
      properties:
        grams:
          type: integer
          format: int64
          example: 10000000000
          x-js-format: bigint
        other:
          type: array
          items:
            type: object
            required:
            - id
            - value
            properties:
              id:
                type: integer
                format: int64
                example: 13
              value:
                type: string
                x-js-format: bigint
                example: '10000000000'
    MsgForwardPrices:
      type: object
      required:
      - lump_price
      - bit_price
      - cell_price
      - ihr_price_factor
      - first_frac
      - next_frac
      properties:
        lump_price:
          type: integer
          format: int64
          example: 1000000
        bit_price:
          type: integer
          format: int64
          example: 1000000
        cell_price:
          type: integer
          format: int64
          example: 1000000
        ihr_price_factor:
          type: integer
          format: int64
          example: 1000000
        first_frac:
          type: integer
          format: int64
          example: 1000000
        next_frac:
          type: integer
          format: int64
          example: 1000000
    ActionPhase:
      type: object
      required:
      - success
      - result_code
      - total_actions
      - skipped_actions
      - fwd_fees
      - total_fees
      properties:
        success:
          type: boolean
          example: true
        result_code:
          type: integer
          format: int32
          example: 5
        total_actions:
          type: integer
          format: int32
          example: 5
        skipped_actions:
          type: integer
          format: int32
          example: 5
        fwd_fees:
          type: integer
          format: int64
          x-js-format: bigint
          example: 1000
        total_fees:
          type: integer
          format: int64
          x-js-format: bigint
          example: 1000
        result_code_description:
          type: string
    BouncePhaseType:
      type: string
      example: cskip_no_state
      enum:
      - TrPhaseBounceNegfunds
      - TrPhaseBounceNofunds
      - TrPhaseBounceOk
    MisbehaviourPunishmentConfig:
      type: object
      required:
      - default_flat_fine
      - default_proportional_fine
      - severity_flat_mult
      - severity_proportional_mult
      - unpunishable_interval
      - long_interval
      - long_flat_mult
      - long_proportional_mult
      - medium_interval
      - medium_flat_mult
      - medium_proportional_mult
      properties:
        default_flat_fine:
          type: integer
          format: int64
          example: 1000000
        default_proportional_fine:
          type: integer
          format: int64
          example: 1000000
        severity_flat_mult:
          type: integer
          example: 1000000
        severity_proportional_mult:
          type: integer
          example: 1000000
        unpunishable_interval:
          type: integer
          example: 1000000
        long_interval:
          type: integer
          example: 1000000
        long_flat_mult:
          type: integer
          example: 1000000
        long_proportional_mult:
          type: integer
          example: 1000000
        medium_interval:
          type: integer
          example: 1000000
        medium_flat_mult:
          type: integer
          example: 1000000
        medium_proportional_mult:
          type: integer
          example: 1000000
    Method:
      type: object
      required:
      - id
      - method
      properties:
        id:
          type: integer
          format: int64
        method:
          type: string
          example: get_something
    Message:
      type: object
      required:
      - msg_type
      - created_lt
      - ihr_disabled
      - bounce
      - bounced
      - value
      - fwd_fee
      - ihr_fee
      - import_fee
      - created_at
      - hash
      properties:
        msg_type:
          type: string
          example: int_msg
          enum:
          - int_msg
          - ext_in_msg
          - ext_out_msg
        created_lt:
          type: integer
          format: int64
          example: 25713146000001
          x-js-format: bigint
        ihr_disabled:
          type: boolean
          example: true
        bounce:
          type: boolean
          example: true
        bounced:
          type: boolean
          example: true
        value:
          type: integer
          format: int64
          x-js-format: bigint
          example: 60000000
        value_extra:
          type: array
          items:
            $ref: '#/components/schemas/ExtraCurrency'
        fwd_fee:
          type: integer
          format: int64
          x-js-format: bigint
          example: 5681002
        ihr_fee:
          type: integer
          format: int64
          x-js-format: bigint
          example: 5681002
        destination:
          $ref: '#/components/schemas/AccountAddress'
        source:
          $ref: '#/components/schemas/AccountAddress'
        import_fee:
          type: integer
          format: int64
          x-js-format: bigint
          example: 5681002
        created_at:
          type: integer
          format: int64
          example: 5681002
        op_code:
          type: string
          x-js-format: bigint
          example: '0xdeadbeaf'
        init:
          $ref: '#/components/schemas/StateInit'
        hash:
          type: string
          example: 1219de582369ac80ee1afe12147930f458a54ff1eea612611a8bc6bd31581a6c
        raw_body:
          type: string
          format: cell
          description: hex-encoded BoC with raw message body
          example: B5EE9C7201010101001100001D00048656C6C6F2C20776F726C64218
        decoded_op_name:
          type: string
          example: nft_transfer
        decoded_body: {}
    BlockValueFlow:
      type: object
      required:
      - from_prev_blk
      - to_next_blk
      - imported
      - exported
      - fees_collected
      - fees_imported
      - recovered
      - created
      - minted
      properties:
        from_prev_blk:
          $ref: '#/components/schemas/BlockCurrencyCollection'
        to_next_blk:
          $ref: '#/components/schemas/BlockCurrencyCollection'
        imported:
          $ref: '#/components/schemas/BlockCurrencyCollection'
        exported:
          $ref: '#/components/schemas/BlockCurrencyCollection'
        fees_collected:
          $ref: '#/components/schemas/BlockCurrencyCollection'
        burned:
          $ref: '#/components/schemas/BlockCurrencyCollection'
        fees_imported:
          $ref: '#/components/schemas/BlockCurrencyCollection'
        recovered:
          $ref: '#/components/schemas/BlockCurrencyCollection'
        created:
          $ref: '#/components/schemas/BlockCurrencyCollection'
        minted:
          $ref: '#/components/schemas/BlockCurrencyCollection'
    ValidatorsSet:
      type: object
      required:
      - utime_since
      - utime_until
      - total
      - main
      - list
      properties:
        utime_since:
          type: integer
        utime_until:
          type: integer
        total:
          type: integer
        main:
          type: integer
        total_weight:
          type: string
          x-js-format: bigint
          example: '1152921504606846800'
        list:
          type: array
          items:
            type: object
            required:
            - public_key
            - weight
            properties:
              public_key:
                type: string
              weight:
                type: integer
                format: int64
                x-js-format: bigint
              adnl_addr:
                type: string
                example: 45061C1D4EC44A937D0318589E13C73D151D1CEF5D3C0E53AFBCF56A6C2FE2BD
    InsufficientFunds:
      type: object
      description: 'Present on an error when a request failed because the source wallet does not hold enough TON to cover the required gas (error_code 50000).

        '
      required:
      - required
      - available
      properties:
        required:
          type: integer
          format: int64
          description: TON in nanotons required to cover transfer gas
          x-js-format: bigint
        available:
          type: integer
          format: int64
          description: TON in nanotons currently available on the source wallet
          x-js-format: bigint
    AccStatusChange:
      type: string
      example: acst_unchanged
      enum:
      - acst_unchanged
      - acst_frozen
      - acst_deleted
    Transaction:
      type: object
      required:
      - hash
      - lt
      - account
      - end_balance
      - success
      - utime
      - orig_status
      - end_status
      - total_fees
      - transaction_type
      - state_update_old
      - state_update_new
      - out_msgs
      - block
      - aborted
      - destroyed
      - raw
      properties:
        hash:
          type: string
          example: 55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122
        lt:
          type: integer
          format: int64
          example: 25713146000001
          x-js-format: bigint
        account:
          $ref: '#/components/schemas/AccountAddress'
        success:
          type: boolean
          example: true
        utime:
          type: integer
          format: int64
          example: 1645544908
        orig_status:
          $ref: '#/components/schemas/AccountStatus'
        end_status:
          $ref: '#/components/schemas/AccountStatus'
        total_fees:
          type: integer
          format: int64
          x-js-format: bigint
          example: 25713146000001
        end_balance:
          type: integer
          format: int64
          x-js-format: bigint
          example: 25713146000001
        transaction_type:
          $ref: '#/components/schemas/TransactionType'
        state_update_old:
          type: string
          example: 55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122
        state_update_new:
          type: string
          example: 55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122
        in_msg:
          $ref: '#/components/schemas/Message'
        out_msgs:
          type: array
          items:
            $ref: '#/components/schemas/Message'
        block:
          type: string
          example: (-1,4234234,8000000000000000)
        prev_trans_hash:
          type: string
          example: 55e8809519cd3c49098c9ee45afdafcea7a894a74d0f628d94a115a50e045122
        prev_trans_lt:
          type: integer
          format: int64
          x-js-format: bigint
          example: 25713146000001
        compute_phase:
          $ref: '#/components/schemas/ComputePhase'
        storage_phase:
          $ref: '#/components/schemas/StoragePhase'
        credit_phase:
          $ref: '#/components/schemas/CreditPhase'
        action_phase:
          $ref: '#/components/schemas/ActionPhase'
        bounce_phase:
          $ref: '#/components/schemas/BouncePhaseType'
        aborted:
          type: boolean
          example: true
        destroyed:
          type: boolean
          example: true
        raw:
          type: string
          format: cell
          description: hex encoded boc with raw transaction
          example: b5ee9c72410206010001380003b372cf3b5b8c891e517c9addbda1c0386a09ccacbb0e3faf630b51cfc8152325acb00002ac5795c0e41fdf79135cb7da03cc623b165d614b562a51eeccd8a5e097f405abf6b37f4e73000002ac5629732c1666887ed000144030480102030101a004008272abc8f2971aa4404ac6da1597720f348b2e1247b1ad9f55cbd3b6812f0a5f08b269bb65039fb1f6074d00f794e857f6dfd01131d299df456af10a8a4943d4d165000d0c80608840492001ab48015581f575c3b8c6ab3d6
    TvmStackRecord:
      type: object
      format: tuple-item
      required:
      - type
      properties:
        type:
          type: string
          example: cell
          enum:
          - cell
          - num
          - nan
          - 'null'
          - tuple
        cell:
          type: string
          format: cell
        slice:
          type: string
          format: cell
        num:
          type: string
          example: ''
        tuple:
          type: array
          example: []
          items:
            $ref: '#/components/schemas/TvmStackRecord'
    NewConsensusConfig:
      type: object
      required:
      - flags
      - use_quic
      - slots_per_leader_window
      properties:
        flags:
          type: integer
          format: int
          example: 0
          x-js-format: bigint
        use_quic:
          type: boolean
          example: false
        target_rate_ms:
          type: integer
          format: int64
          example: 1000
          x-js-format: bigint
        slots_per_leader_window:
          type: integer
          format: int64
          example: 1
          x-js-format: bigint
        first_block_timeout_ms:
          type: integer
          format: int64
          example: 1000
          x-js-format: bigint
        max_leader_window_desync:
          type: integer
          format: int64
          example: 4
          x-js-format: bigint
        noncritical_params:
          type: object
          additionalProperties:
            type: integer
            format: int64
            x-js-format: bigint
    MethodExecutionResult:
      type: object
      required:
      - success
      - exit_code
      - stack
      properties:
        success:
          type: boolean
          example: true
        exit_code:
          type: integer
          example: 0
          description: tvm exit code
        stack:
          type: array
          items:
            $ref: '#/components/schemas/TvmStackRecord'
        decoded: {}
    StateInit:
      type: object
      required:
      - boc
      - interfaces
      properties:
        boc:
          type: string
          format: cell
          example: b5ee9c72010106010044000114ff00f4a413f4bcf2c80b01020120020302014804050004f2300038d06c21d31f30ed44d0d33f3001c00197a4c8cb3fc9ed549330f206e20011a13431da89a1a67e61
        interfaces:
          type: array
          items:
            type: string
    TransactionType:
      type: string
      example: TransOrd
      enum:
      - TransOrd
      - TransTickTock
      - TransSplitPrepare
      - TransSplitInstall
      - TransMergePrepare
      - TransMergeInstall
      - TransStorage
    ComputePhase:
      type: object
      required:
      - skipped
      properties:
        skipped:
          type: boolean
          example: true
        skip_reason:
          $ref: '#/components/schemas/ComputeSkipReason'
        success:
          type: boolean
          example: true
        gas_fees:
          type: integer
          format: int64
          x-js-format: bigint
          example: 1000
        gas_used:
          type: integer
          format: int64
          x-js-format: bigint
          example: 10000
        vm_steps:
          type: integer
          format: int32
          example: 5
        exit_code:
          type: integer
          format: int32
          example: 0
        exit_code_description:
          type: string
    BlockchainBlockShards:
      type: object
      required:
      - shards
      properties:
        shards:
          type: array
          items:
            type: object
            required:
            - last_known_block_id
            - last_known_block
        

# --- truncated at 32 KB (73 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/top-group/refs/heads/main/openapi/top-group-blockchain-api-openapi.yml