> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ton.org/llms.txt
> Use this file to discover all available pages before exploring further.

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.ton.org/feedback

```json
{
  "path": "/ecosystem/api/toncenter/v2/transactions/get-block-transactions-extended",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Get block transactions (extended)

> Returns full transaction objects for all transactions in a specific block. Each transaction includes complete data: inbound and outbound messages, fees, state changes, and BoC-encoded raw data. Use `count` to limit results and `after_lt`/`after_hash` for pagination when `incomplete` is true.



## OpenAPI

````yaml get /api/v2/getBlockTransactionsExt
openapi: 3.1.1
info:
  title: TON HTTP API C++
  description: >
    This API enables HTTP access to TON blockchain - getting accounts and
    wallets information, looking up blocks and transactions, sending messages to
    the blockchain, calling get methods of smart contracts, and more.


    In addition to REST API, all methods are available through a JSON-RPC
    endpoint  with `method` equal to method name and `params` passed as a
    dictionary.


    The response contains a JSON object, which always has a boolean field `ok`
    and either `error` or `result`. If `ok` equals true, the request was
    successful and the result of the query can be found in the `result` field.
    In case of an unsuccessful request, `ok` equals false and the error is
    explained in the `error`.


    API Key should be sent either as `api_key` query parameter or `X-API-Key`
    header
  version: 2.1.1
servers:
  - url: https://toncenter.com
    description: TON Mainnet
  - url: https://testnet.toncenter.com
    description: TON Testnet
security: []
tags:
  - name: Accounts
    description: Information about accounts
  - name: Transactions
    description: Fetching and locating transactions
  - name: Blocks
    description: Information about blocks
  - name: Run method
    description: Run get-method of smart contracts
  - name: Send
    description: Send data to blockchain
  - name: Utils
    description: Some useful methods
  - name: Configuration
    description: Information about blockchain config
  - name: RPC
    description: JSON-RPC and POST endpoints
paths:
  /api/v2/getBlockTransactionsExt:
    get:
      tags:
        - Transactions
      summary: Get block transactions (extended)
      description: >-
        Returns full transaction objects for all transactions in a specific
        block. Each transaction includes complete data: inbound and outbound
        messages, fees, state changes, and BoC-encoded raw data. Use `count` to
        limit results and `after_lt`/`after_hash` for pagination when
        `incomplete` is true.
      operationId: getBlockTransactionsExt_get
      parameters:
        - $ref: '#/components/parameters/workchain'
        - $ref: '#/components/parameters/shard'
        - $ref: '#/components/parameters/seqno'
        - $ref: '#/components/parameters/rootHashOptional'
        - $ref: '#/components/parameters/fileHashOptional'
        - $ref: '#/components/parameters/afterLtOptional'
        - $ref: '#/components/parameters/afterAccountHashOptional'
        - $ref: '#/components/parameters/countOptional'
      responses:
        '200':
          description: >-
            Returns full transaction objects for transactions in the specified
            block.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockTransactionsExtResponse'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '422':
          $ref: '#/components/responses/422_block_tx'
        '429':
          $ref: '#/components/responses/429'
        '504':
          $ref: '#/components/responses/504'
      security:
        - APIKeyHeader: []
        - APIKeyQuery: []
components:
  parameters:
    workchain:
      name: workchain
      in: query
      description: >-
        The workchain to query. Use `-1` for masterchain (validators, system
        contracts, config) or `0` for basechain (regular accounts and
        contracts). Most user transactions happen on workchain `0`.
      required: true
      schema:
        type: integer
        format: int32
    shard:
      name: shard
      in: query
      description: >-
        The shard identifier. Masterchain always uses `-9223372036854775808`.
        For basechain, shards split and merge dynamically. Use the `shards`
        endpoint to discover current shard configuration.
      required: true
      schema:
        type: string
        x-usrv-cpp-type: std::int64_t
    seqno:
      name: seqno
      in: query
      description: >-
        Masterchain block sequence number (block height). Used to query state at
        a specific point in time. If omitted, returns the current state.
      required: true
      schema:
        type: integer
        format: int32
    rootHashOptional:
      name: root_hash
      in: query
      description: >-
        The block's root hash for verification. Together with `file_hash`, this
        uniquely and cryptographically identifies a block. Only needed when
        proof of block identity is required.
      required: false
      schema:
        type: string
        x-usrv-cpp-type: '#/components/schemas/TonHash'
    fileHashOptional:
      name: file_hash
      in: query
      description: >-
        The block's file hash for verification. Together with `root_hash`, this
        provides cryptographic proof of block identity. Only needed for
        trustless verification.
      required: false
      schema:
        type: string
        x-usrv-cpp-type: '#/components/schemas/TonHash'
    afterLtOptional:
      name: after_lt
      in: query
      description: >-
        Pagination cursor. Pass the `lt` value from the last item in the
        previous response to get the next page. Transactions and messages are
        ordered by logical time.
      required: false
      schema:
        type: string
        x-usrv-cpp-format: std::int64_t
    afterAccountHashOptional:
      name: after_hash
      in: query
      description: >-
        Secondary pagination cursor for block transactions. When multiple
        accounts have transactions at the same `lt`, use this to continue from a
        specific account.
      required: false
      schema:
        type: string
        x-usrv-cpp-type: '#/components/schemas/TonAddrWithoutWorkchain'
    countOptional:
      name: count
      in: query
      description: >-
        Maximum number of items to return. The default is 40. Use smaller values
        for faster responses or larger values to reduce the number of API calls.
      required: false
      schema:
        type: integer
        format: int64
        default: 40
        minimum: 1
        maximum: 10000
  schemas:
    BlockTransactionsExtResponse:
      type: object
      additionalProperties: false
      required:
        - ok
        - result
      properties:
        ok:
          type: boolean
          default: true
          description: >-
            Returns `true` if the request succeeded; otherwise `false`. See the
            `error` field for details.
        result:
          $ref: '#/components/schemas/BlockTransactionsExt'
          description: Response data. Present only when `ok` is `true`.
        '@extra':
          type: string
          description: >-
            Optional request ID that can be passed in the request and received
            back in the response. Useful for matching async responses.
    BlockTransactionsExt:
      type: object
      additionalProperties: false
      description: >-
        List of full transaction objects found in a specific block, with a flag
        indicating whether more transactions are available for pagination.
      properties:
        '@type':
          type: string
          enum:
            - blocks.transactionsExt
          default: blocks.transactionsExt
          description: >-
            TonLib type identifier for extended block transaction listings.
            Refer to the [TonLib type
            reference](/ecosystem/api/toncenter/v2-tonlib-types) for a full
            list.
        id:
          $ref: '#/components/schemas/TonBlockIdExt'
          description: Full block identifier for the queried block.
        req_count:
          type: integer
          description: >-
            The maximum number of transactions requested, as specified by the
            `count` request parameter. If `incomplete` is `true`, more
            transactions exist beyond this limit.
        incomplete:
          type: boolean
          description: >-
            Returns `true` if there are more transactions in this block;
            otherwise `false`. Use the last transaction as cursor for
            pagination.
        transactions:
          type: array
          description: >-
            Array of full transaction objects. Each entry contains the account
            address, timestamps, inbound/outbound messages, fees (in nanotons),
            and the raw transaction BoC (base64).
          items:
            $ref: '#/components/schemas/TransactionExt'
      required:
        - '@type'
        - id
        - req_count
        - incomplete
        - transactions
    TonBlockIdExt:
      type: object
      additionalProperties: false
      properties:
        '@type':
          type: string
          enum:
            - ton.blockIdExt
          default: ton.blockIdExt
          description: >-
            TonLib type identifier for full block identifiers. Refer to the
            [TonLib type reference](/ecosystem/api/toncenter/v2-tonlib-types)
            for a full list.
        workchain:
          type: integer
          description: 'Workchain ID: `-1` for masterchain, `0` for basechain.'
        shard:
          type: string
          x-usrv-cpp-type: std::int64_t
          description: >-
            Shard identifier as a signed 64-bit integer string. Masterchain uses
            `-9223372036854775808`.
        seqno:
          type: integer
          description: >-
            Block sequence number within its workchain and shard. For the
            masterchain (workchain `-1`), this equals the global block height.
            For basechain shards (workchain `0`), this is the sequence number
            local to that specific shard, not a global height.
        root_hash:
          $ref: '#/components/schemas/TonHash'
          description: Merkle root hash of the block state tree.
        file_hash:
          $ref: '#/components/schemas/TonHash'
          description: >-
            Hash of the serialized block file. Together with `root_hash`,
            uniquely identifies a block.
      required:
        - '@type'
        - workchain
        - shard
        - seqno
        - root_hash
        - file_hash
      description: >-
        A complete block identifier with cryptographic hashes. Contains
        `workchain`, `shard`, `seqno` (position) plus `root_hash` and
        `file_hash` (verification).
    TransactionExt:
      allOf:
        - $ref: '#/components/schemas/TransactionStd'
        - type: object
          additionalProperties: false
          properties:
            '@type':
              type: string
              enum:
                - raw.transactionExt
              default: raw.transactionExt
              description: 'Object type identifier. '
            account:
              $ref: '#/components/schemas/TonAddr'
              description: The account address that this transaction belongs to.
    TonHash:
      type: string
      x-usrv-cpp-type: ton_http::types::ton_hash
      description: >-
        A 256-bit hash value. Accepts either hex format (64 characters) or
        base64 format (44 characters). Used for block hashes, transaction
        hashes, and cryptographic proofs.
    TransactionStd:
      type: object
      additionalProperties: false
      properties:
        '@type':
          type: string
          enum:
            - raw.transaction
          default: raw.transaction
          description: >-
            TonLib type identifier for raw transaction objects. Refer to the
            [TonLib type reference](/ecosystem/api/toncenter/v2-tonlib-types)
            for a full list.
        address:
          $ref: '#/components/schemas/AccountAddress'
          description: Account address object for this transaction.
        utime:
          type: integer
          description: Unix timestamp when this transaction was executed.
        data:
          $ref: '#/components/schemas/Bytes'
          description: Full transaction data serialized as BoC, base64 encoded.
        transaction_id:
          $ref: '#/components/schemas/InternalTransactionId'
          description: >-
            The transaction identifier, represented by logical time and
            transaction hash.
        fee:
          $ref: '#/components/schemas/Int256'
          description: Total fees paid for this transaction, in nanotons.
        storage_fee:
          $ref: '#/components/schemas/Int256'
          description: >-
            Storage fees in nanotons deducted from the account balance during
            the storage phase of this transaction. Covers the cost of storing
            the contract state on-chain since the last transaction.
        other_fee:
          $ref: '#/components/schemas/Int256'
          description: >-
            Fees in nanotons deducted from the account balance during the
            computation and action phases of this transaction. Covers the cost
            of TVM execution and processing outgoing messages.
        in_msg:
          $ref: '#/components/schemas/MessageStd'
          description: The inbound message that triggered this transaction.
        out_msgs:
          type: array
          items:
            $ref: '#/components/schemas/MessageStd'
          description: >-
            Array of outbound messages produced by this transaction. Each
            message contains sender and recipient address objects, TON amount
            (nanotons as string), forwarding fee, and raw message body.
      required:
        - '@type'
        - address
        - utime
        - data
        - transaction_id
        - fee
        - storage_fee
        - other_fee
        - out_msgs
    TonAddr:
      type: string
      x-usrv-cpp-type: ton_http::types::ton_addr
      description: >-
        Account address in [raw](/foundations/addresses/formats#raw-format)
        format (e.g., `0:ca6e321c...`) or
        [user-friendly](/foundations/addresses/formats#user-friendly-format)
        format (e.g., `EQDKbjIcfM...`). All formats are automatically detected.
    AccountAddress:
      type: object
      additionalProperties: false
      properties:
        '@type':
          type: string
          enum:
            - accountAddress
          default: accountAddress
          description: >-
            TonLib type identifier for account address objects. Refer to the
            [TonLib type reference](/ecosystem/api/toncenter/v2-tonlib-types)
            for a full list.
        account_address:
          type: string
          x-usrv-cpp-type: ton_http::types::ton_addr
          description: >-
            The account address in raw format (`workchain:hex`), e.g.
            `0:abc123...`. Use the [pack
            address](/ecosystem/api/toncenter/v2/utils/pack-address) endpoint to
            convert to user-friendly base64 format.
    Bytes:
      type: string
      x-usrv-cpp-type: ton_http::types::bytes
      description: >-
        Binary data encoded as base64. Used for serialized cells (BoC format),
        message bodies, and smart contract code/data.
    InternalTransactionId:
      type: object
      additionalProperties: false
      description: >-
        A reference to a specific transaction. The combination of `lt` (logical
        time) and `hash` uniquely identifies any transaction. Use these values
        for pagination and lookups.
      properties:
        '@type':
          type: string
          enum:
            - internal.transactionId
          default: internal.transactionId
          description: >-
            TonLib type identifier for transaction ID references. Refer to the
            [TonLib type reference](/ecosystem/api/toncenter/v2-tonlib-types)
            for a full list.
        lt:
          type: string
          description: >-
            Logical time of this transaction. A globally unique counter that
            orders all events on the blockchain.
          x-usrv-cpp-type: std::int64_t
        hash:
          $ref: '#/components/schemas/TonHash'
          description: SHA-256 hash of this transaction, encoded in base64.
      required:
        - '@type'
        - lt
        - hash
    Int256:
      type: string
      x-usrv-cpp-type: ton_http::types::int256
      description: >-
        A large integer represented as a string to avoid precision loss. Used
        for balances and other values that may exceed JavaScript's safe integer
        limit.
    MessageStd:
      type: object
      additionalProperties: false
      properties:
        '@type':
          type: string
          enum:
            - raw.message
          default: raw.message
          description: >-
            TonLib type identifier for raw message objects. Refer to the [TonLib
            type reference](/ecosystem/api/toncenter/v2-tonlib-types) for a full
            list.
        hash:
          $ref: '#/components/schemas/TonHash'
          description: SHA-256 hash of this message, encoded in base64.
        source:
          $ref: '#/components/schemas/AccountAddress'
          description: Sender account address. Empty for external inbound messages.
        destination:
          $ref: '#/components/schemas/AccountAddress'
          description: Recipient account address.
        value:
          $ref: '#/components/schemas/Int256'
          description: TON amount transferred with this message, in nanotons.
        extra_currencies:
          type: array
          items:
            $ref: '#/components/schemas/ExtraCurrencyBalance'
          description: >-
            Array of extra currencies (native blockchain-level tokens, distinct
            from Jettons) transferred in this message. Each entry contains a
            currency ID (integer) and amount (decimal string). Empty array if no
            extra currencies were transferred.
        fwd_fee:
          $ref: '#/components/schemas/Int256'
          description: Forwarding fee deducted from the message value, in nanotons.
        ihr_fee:
          $ref: '#/components/schemas/Int256'
          description: >-
            Instant Hypercube Routing (IHR) fee in nanotons. Always `0`. This is
            hardcoded at the protocol level and cannot be changed.
        created_lt:
          type: string
          description: Logical time when this message was created.
          x-usrv-cpp-type: std::int64_t
        body_hash:
          $ref: '#/components/schemas/TonHash'
          description: Hash of the message body.
        msg_data:
          $ref: '#/components/schemas/MsgData'
          description: Message body payload (raw, text comment, or encrypted).
      required:
        - '@type'
        - hash
        - source
        - destination
        - value
        - extra_currencies
        - fwd_fee
        - ihr_fee
        - created_lt
        - body_hash
        - msg_data
    ExtraCurrencyBalance:
      type: object
      additionalProperties: false
      properties:
        '@type':
          type: string
          enum:
            - extraCurrency
          default: extraCurrency
          description: >-
            TonLib type identifier for extra currency balance entries. Refer to
            the [TonLib type
            reference](/ecosystem/api/toncenter/v2-tonlib-types) for a full
            list.
        id:
          type: integer
          format: int32
          description: >-
            A 32-bit integer identifying the extra currency. Currency IDs are
            defined at the blockchain configuration level and stored in
            `ConfigParam 7` of the masterchain. Refer to the [extra currency
            minting
            documentation](https://docs.ton.org/v3/documentation/infra/minter-flow)
            for details.
        amount:
          $ref: '#/components/schemas/Int256'
          description: Currency balance amount as a decimal string.
      required:
        - '@type'
        - id
        - amount
    MsgData:
      oneOf:
        - $ref: '#/components/schemas/MsgDataRaw'
        - $ref: '#/components/schemas/MsgDataText'
        - $ref: '#/components/schemas/MsgDataDecryptedText'
        - $ref: '#/components/schemas/MsgDataEncryptedText'
      discriminator:
        propertyName: '@type'
        mapping:
          msg.dataRaw:
            $ref: '#/components/schemas/MsgDataRaw'
          msg.dataText:
            $ref: '#/components/schemas/MsgDataText'
          msg.dataDecryptedText:
            $ref: '#/components/schemas/MsgDataDecryptedText'
          msg.dataEncryptedText:
            $ref: '#/components/schemas/MsgDataEncryptedText'
    MsgDataRaw:
      type: object
      additionalProperties: false
      properties:
        '@type':
          type: string
          enum:
            - msg.dataRaw
          default: msg.dataRaw
          description: >-
            TonLib type identifier for raw (binary) message bodies. Refer to the
            [TonLib type reference](/ecosystem/api/toncenter/v2-tonlib-types)
            for a full list.
        body:
          $ref: '#/components/schemas/Bytes'
          description: Raw message body in BoC format, base64 encoded.
        init_state:
          $ref: '#/components/schemas/Bytes'
          description: >-
            Contract init state (code + data) attached to this message, base64
            encoded. Present only for deploy messages.
    MsgDataText:
      type: object
      additionalProperties: false
      properties:
        '@type':
          type: string
          enum:
            - msg.dataText
          default: msg.dataText
          description: >-
            TonLib type identifier for plain text comment message bodies. Refer
            to the [TonLib type
            reference](/ecosystem/api/toncenter/v2-tonlib-types) for a full
            list.
        text:
          $ref: '#/components/schemas/Bytes'
          description: UTF-8 text comment, base64 encoded.
    MsgDataDecryptedText:
      type: object
      additionalProperties: false
      properties:
        '@type':
          type: string
          enum:
            - msg.dataDecryptedText
          default: msg.dataDecryptedText
          description: >-
            TonLib type identifier for decrypted text message bodies. Refer to
            the [TonLib type
            reference](/ecosystem/api/toncenter/v2-tonlib-types) for a full
            list.
        text:
          $ref: '#/components/schemas/Bytes'
          description: Decrypted UTF-8 text content, base64 encoded.
    MsgDataEncryptedText:
      type: object
      additionalProperties: false
      properties:
        '@type':
          type: string
          enum:
            - msg.dataEncryptedText
          default: msg.dataEncryptedText
          description: >-
            TonLib type identifier for encrypted text message bodies. Refer to
            the [TonLib type
            reference](/ecosystem/api/toncenter/v2-tonlib-types) for a full
            list.
        text:
          $ref: '#/components/schemas/Bytes'
          description: Encrypted message payload, base64 encoded.
  responses:
    '401':
      description: API key does not exist. Check for typos or generate a new key.
      content:
        application/json:
          schema:
            type: object
            additionalProperties: false
            required:
              - ok
              - code
              - error
            properties:
              ok:
                type: boolean
                const: false
                description: Always `false` for error responses.
              code:
                type: integer
                const: 401
                description: HTTP status code `401`.
              error:
                type: string
                enum:
                  - API key does not exist
              '@extra':
                type: string
                description: Extra data passed through from the request.
          example:
            ok: false
            code: 401
            error: API key does not exist
    '403':
      description: >-
        API key is not allowed for this network (e.g. testnet key used on
        mainnet).
      content:
        application/json:
          schema:
            type: object
            additionalProperties: false
            required:
              - ok
              - code
              - error
            properties:
              ok:
                type: boolean
                const: false
                description: Always `false` for error responses.
              code:
                type: integer
                const: 403
                description: HTTP status code `403`.
              error:
                type: string
                enum:
                  - Network not allowed
              '@extra':
                type: string
                description: Extra data passed through from the request.
          example:
            ok: false
            code: 403
            error: Network not allowed
    '429':
      description: >-
        Rate limit exceeded. Back off and retry, or use an API key for higher
        limits.
      content:
        application/json:
          schema:
            type: object
            additionalProperties: false
            required:
              - ok
              - code
              - error
            properties:
              ok:
                type: boolean
                const: false
                description: Always `false` for error responses.
              code:
                type: integer
                const: 429
                description: HTTP status code `429`.
              error:
                type: string
                enum:
                  - Ratelimit exceeded
              '@extra':
                type: string
                description: Extra data passed through from the request.
          example:
            ok: false
            code: 429
            error: Ratelimit exceeded
    '504':
      description: Timeout waiting for liteserver response.
      content:
        application/json:
          schema:
            type: object
            additionalProperties: false
            required:
              - ok
              - code
              - error
            properties:
              ok:
                type: boolean
                const: false
                description: Always `false` for error responses.
              code:
                type: integer
                const: 504
                description: HTTP status code `504`.
              error:
                type: string
                enum:
                  - LITE_SERVER_NETWORK timeout
              '@extra':
                type: string
                description: Extra data passed through from the request.
          example:
            ok: false
            code: 504
            error: LITE_SERVER_NETWORK timeout
    422_block_tx:
      description: Invalid block transactions parameters.
      content:
        application/json:
          schema:
            type: object
            additionalProperties: false
            required:
              - ok
              - code
              - error
            properties:
              ok:
                type: boolean
                const: false
                description: Always `false` for error responses.
              code:
                type: integer
                const: 422
                description: HTTP status code `422`.
              error:
                type: string
                enum:
                  - failed to parse workchain
                  - failed to parse shard
                  - failed to parse seqno
                  - after_lt and after_hash should be used together
                  - after_lt should be non-negative
                  - count should be positive
                  - count should be less or equal 10000
              '@extra':
                type: string
                description: Extra data passed through from the request.
          example:
            ok: false
            code: 422
            error: failed to parse workchain
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        API key header of the form `X-API-Key: <token>`, where `<token>` is the
        API key. Requests without a key are limited to 1 RPS. Refer to the
        [authentication guide](/ecosystem/api/toncenter/v2-authentication) for
        details.
    APIKeyQuery:
      type: apiKey
      in: query
      name: api_key
      description: >-
        API key query parameter of the form `?api_key=<token>`, where `<token>`
        is the API key. Equivalent to the header method. Refer to the
        [authentication guide](/ecosystem/api/toncenter/v2-authentication) for
        details.

````