Returns full transaction details for all transactions in a block. Unlike getBlockTransactions, this includes complete transaction data with messages, fees, and state changes. Useful for block explorers and indexers that need to process entire blocks.
curl --request POST \
--url https://toncenter.com/api/v2/getBlockTransactionsExt \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"workchain": "<string>",
"shard": "<string>",
"seqno": "<string>",
"root_hash": "<string>",
"file_hash": "<string>",
"after_lt": "<string>",
"after_hash": "<string>",
"count": "<string>"
}
'{
"ok": true,
"result": {
"@type": "blocks.transactionsExt",
"id": {
"@type": "ton.blockIdExt",
"workchain": 123,
"shard": "<string>",
"seqno": 123,
"root_hash": "<string>",
"file_hash": "<string>"
},
"req_count": 123,
"incomplete": true,
"transactions": [
{
"@type": "raw.transactionExt",
"address": {
"@type": "accountAddress",
"account_address": "<string>"
},
"utime": 123,
"data": "<string>",
"transaction_id": {
"@type": "internal.transactionId",
"lt": "<string>",
"hash": "<string>"
},
"fee": "<string>",
"storage_fee": "<string>",
"other_fee": "<string>",
"out_msgs": [
{
"@type": "raw.message",
"hash": "<string>",
"source": {
"@type": "accountAddress",
"account_address": "<string>"
},
"destination": {
"@type": "accountAddress",
"account_address": "<string>"
},
"value": "<string>",
"extra_currencies": [
{
"@type": "extraCurrency",
"id": 123,
"amount": "<string>"
}
],
"fwd_fee": "<string>",
"ihr_fee": "<string>",
"created_lt": "<string>",
"body_hash": "<string>",
"msg_data": {
"@type": "msg.dataRaw",
"body": "<string>",
"init_state": "<string>"
}
}
],
"in_msg": {
"@type": "raw.message",
"hash": "<string>",
"source": {
"@type": "accountAddress",
"account_address": "<string>"
},
"destination": {
"@type": "accountAddress",
"account_address": "<string>"
},
"value": "<string>",
"extra_currencies": [
{
"@type": "extraCurrency",
"id": 123,
"amount": "<string>"
}
],
"fwd_fee": "<string>",
"ihr_fee": "<string>",
"created_lt": "<string>",
"body_hash": "<string>",
"msg_data": {
"@type": "msg.dataRaw",
"body": "<string>",
"init_state": "<string>"
}
},
"account": "<string>"
}
]
},
"@extra": "<string>"
}Request to fetch transactions from a specific block with optional pagination.
Workchain ID: -1 for masterchain, 0 for basechain. Most user transactions are on workchain 0.
Shard identifier. A signed 64-bit integer. Masterchain uses -9223372036854775808.
Block or wallet sequence number. For blocks, this is the block height. For wallets, increment this for each outgoing transaction.
Merkle root hash of the block state tree. Used for cryptographic verification.
Hash of the serialized block data. Together with root_hash, uniquely identifies a block.
Return items after this logical time (for pagination).
Return items after this hash (for pagination within same lt).
Maximum number of items to return.
OK
Response containing detailed transactions from a block.
Indicates if the request succeeded. If false, check the error field for details.
The response data. Only present when ok is true.
Show child attributes
Object type identifier.
blocks.transactionsExt Request ID. Pass any string and it will be echoed in the response.
Show child attributes
Object type identifier.
ton.blockIdExt Workchain ID: -1 for masterchain, 0 for basechain. Most user transactions are on workchain 0.
Shard identifier. A signed 64-bit integer. Masterchain uses -9223372036854775808.
Block or wallet sequence number. For blocks, this is the block height. For wallets, increment this for each outgoing transaction.
Merkle root hash of the block state tree. Used for cryptographic verification.
Hash of the serialized block data. Together with root_hash, uniquely identifies a block.
Number of requested transactions
Indicates if the transaction list is incomplete
List of short transaction identifiers
Show child attributes
Object type identifier. Object type identifier.
Unix timestamp (seconds since 1970-01-01). When this event occurred in real-world time.
Raw transaction or contract data in BOC (Bag of Cells) format, base64 encoded.
Reference to this transaction. Use lt and hash to fetch full details.
Show child attributes
Object type identifier.
internal.transactionId Logical time of this event. A globally unique counter that orders all blockchain events. Higher values are more recent.
Unique identifier hash for this object.
Total fees paid for this transaction in nanotons.
Fees paid for storing the contract state on-chain, in nanotons. Charged based on contract size and time.
Computation and action fees in nanotons. Covers gas for executing contract code.
Messages sent by this transaction. A transaction can send multiple messages to different destinations.
Show child attributes
Object type identifier.
raw.message Unique identifier hash for this object.
Sender address. Empty string for external messages (sent from outside the blockchain).
Amount of TON transferred in this message, in nanotons (1 TON = 10^9 nanotons).
Non-TON currencies transferred. TON supports multiple native currencies.
Show child attributes
Object type identifier.
extraCurrency Request ID. Pass any string and it will be echoed in the response.
Balance amount as string.
Fee for forwarding this message to its destination, in nanotons.
Instant Hypercube Routing fee in nanotons. Usually 0 as IHR is rarely used.
Logical time when this message was created. Use with source and destination to uniquely identify a message.
Hash of the message body. Use this to verify message content without the full body.
The message body containing instructions for the destination contract.
Show child attributes
Object type identifier.
msg.dataRaw Message body in BOC format, base64 encoded.
Contract init state in base64.
The incoming message that triggered this transaction. External messages come from outside the blockchain.
Show child attributes
Object type identifier.
raw.message Unique identifier hash for this object.
Sender address. Empty string for external messages (sent from outside the blockchain).
Amount of TON transferred in this message, in nanotons (1 TON = 10^9 nanotons).
Non-TON currencies transferred. TON supports multiple native currencies.
Show child attributes
Object type identifier.
extraCurrency Request ID. Pass any string and it will be echoed in the response.
Balance amount as string.
Fee for forwarding this message to its destination, in nanotons.
Instant Hypercube Routing fee in nanotons. Usually 0 as IHR is rarely used.
Logical time when this message was created. Use with source and destination to uniquely identify a message.
Hash of the message body. Use this to verify message content without the full body.
The message body containing instructions for the destination contract.
Show child attributes
Object type identifier.
msg.dataRaw Message body in BOC format, base64 encoded.
Contract init state in base64.
The account address that this transaction belongs to.
Optional request ID that you can pass in the request and receive back in the response. Useful for matching async responses.
Was this page helpful?
curl --request POST \
--url https://toncenter.com/api/v2/getBlockTransactionsExt \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"workchain": "<string>",
"shard": "<string>",
"seqno": "<string>",
"root_hash": "<string>",
"file_hash": "<string>",
"after_lt": "<string>",
"after_hash": "<string>",
"count": "<string>"
}
'{
"ok": true,
"result": {
"@type": "blocks.transactionsExt",
"id": {
"@type": "ton.blockIdExt",
"workchain": 123,
"shard": "<string>",
"seqno": 123,
"root_hash": "<string>",
"file_hash": "<string>"
},
"req_count": 123,
"incomplete": true,
"transactions": [
{
"@type": "raw.transactionExt",
"address": {
"@type": "accountAddress",
"account_address": "<string>"
},
"utime": 123,
"data": "<string>",
"transaction_id": {
"@type": "internal.transactionId",
"lt": "<string>",
"hash": "<string>"
},
"fee": "<string>",
"storage_fee": "<string>",
"other_fee": "<string>",
"out_msgs": [
{
"@type": "raw.message",
"hash": "<string>",
"source": {
"@type": "accountAddress",
"account_address": "<string>"
},
"destination": {
"@type": "accountAddress",
"account_address": "<string>"
},
"value": "<string>",
"extra_currencies": [
{
"@type": "extraCurrency",
"id": 123,
"amount": "<string>"
}
],
"fwd_fee": "<string>",
"ihr_fee": "<string>",
"created_lt": "<string>",
"body_hash": "<string>",
"msg_data": {
"@type": "msg.dataRaw",
"body": "<string>",
"init_state": "<string>"
}
}
],
"in_msg": {
"@type": "raw.message",
"hash": "<string>",
"source": {
"@type": "accountAddress",
"account_address": "<string>"
},
"destination": {
"@type": "accountAddress",
"account_address": "<string>"
},
"value": "<string>",
"extra_currencies": [
{
"@type": "extraCurrency",
"id": 123,
"amount": "<string>"
}
],
"fwd_fee": "<string>",
"ihr_fee": "<string>",
"created_lt": "<string>",
"body_hash": "<string>",
"msg_data": {
"@type": "msg.dataRaw",
"body": "<string>",
"init_state": "<string>"
}
},
"account": "<string>"
}
]
},
"@extra": "<string>"
}