A JSON used to store additional data that is blockchain-specific.
TON (Early Access). For TON transfers the object contains:
| Field | Description |
|---|
| tonTransferType | NATIVE for a TON transfer, JETTON for a token transfer. |
| hashes | Hex hashes of the transfer: externalIncoming, and either tonTransfer (native) or jettonTransfer (Jetton). |
| messageContent | The message body (comment) of the transfer, as a base64 string. |
| isFeeExcess | true only on the transaction that records the excess TON returned by a Jetton transfer to one of your wallets other than the sender. That transaction is a plain native transfer to the wallet, its top-level feeInfo has only a recipient struct, like any regular recipient. Omitted otherwise. |
| feeBreakdowns | The fee details of the wallets of your workspace in the transfer: one entry per wallet. Available when the feature is enabled for your workspace. The totals of each wallet are in the top-level feeInfo of the transaction, in its sender and recipient structs (feesDeducted, valueCredited). |
All amounts inside feeBreakdowns are integer strings in nanoTON (1 TON = 1,000,000,000 nanoTON), unlike the top-level feeInfo, which is in TON.
Each entry of feeBreakdowns contains:
| Field | Description |
|---|
| role | SENDER or RECIPIENT: the role of the wallet in the transfer. |
| address | The wallet, as raw and userFriendly addresses. |
| txHash | The hash of the wallet's own on-chain transaction. Omitted for a Jetton recipient with no transaction of its own (see below). |
| feeBreakdown.totalOutMsgsForwardFees | The sum of the forwarding fees of the messages sent by the wallet's transaction. |
| feeBreakdown.chainReported | The fee components reported by the blockchain for the wallet's transaction: totalFees, storageFees, gasFees, actionFees and forwardFees, and, when applicable, importFee, bounceFees and actionFine. totalFees is the sum of storageFees, importFee, gasFees, actionFees and bounceFees. |
| feeBreakdown.fundingSpent | The rest of the sender's loss beyond the fees in this entry: for a Jetton sender, the TON the wallet attached to fund the token wallets and did not get back; for a wallet that sends through a second transaction of its own (a Highload wallet), also the fees of that transaction. For the same wallet, feeInfo.<role>.feesDeducted = totalFees + totalOutMsgsForwardFees + fundingSpent (fundingSpent is 0 when absent), converted from nanoTON to TON. |
A Jetton transfer sent without a forward amount sends the recipient no notification, so the recipient wallet has no transaction and pays nothing: its entry has no txHash, all its figures are "0" and feeInfo.recipient.feesDeducted is "0.000000000". An amount that could not be established from on-chain data is reported as no entry and no struct in feeInfo for that role.
Only the wallets that belong to the notified workspace appear in feeBreakdowns. A transfer between two wallets of your own workspace is a single transaction and carries an entry for each wallet (tell them apart by role), and the top-level feeInfo has both a sender and a recipient struct.
blockchainInfo is kept to 2,048 characters. When a very long message pushes a TON transfer over that, the optional details are dropped to make it fit: feeBreakdowns go first when the message fits without them, messageContent goes when the breakdowns fit without it, and both go when neither does. The hashes, tonTransferType, isFeeExcess and the top-level feeInfo are always kept.
Example of a Jetton transfer sent from one of your wallets (addresses and hashes are placeholders):
{
"tonTransferType": "JETTON",
"hashes": {
"externalIncoming": "0000000000000000000000000000000000000000000000000000000000000001",
"jettonTransfer": "0000000000000000000000000000000000000000000000000000000000000002"
},
"messageContent": "te6cckEBAQEAAgAAAEysuc0=",
"feeBreakdowns": [
{
"address": {
"raw": "0:0000000000000000000000000000000000000000000000000000000000000003",
"userFriendly": "0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
},
"txHash": "0000000000000000000000000000000000000000000000000000000000000004",
"feeBreakdown": {
"totalOutMsgsForwardFees": "86046",
"chainReported": {
"totalFees": "475291",
"storageFees": "1",
"gasFees": "220534",
"actionFees": "43022",
"forwardFees": "129068",
"importFee": "211734"
},
"fundingSpent": "17125078"
}
}
]
}