Creates a contract interaction transaction request for TRC20 token operations on the Tron blockchain. Supports two methods — approve, which authorizes a fee-payer address to spend tokens on behalf of the holder, and transferFrom, which moves tokens from the holder to a recipient where the fee-payer covers the TRX gas cost.
Sender's Vault ID.
In batch situations the user can use the context to correlate responses with requests. This property is present regardless of whether the response was successful or returned as an error. context is specified by the user.
In batch situations the user can use the context to correlate responses with requests. This property is present regardless of whether the response was successful or returned as an error. context is specified by the user.
Required when method is transfer-from.
TRC20 token Chain Asset ID. Native TRX is not allowed.
Address paying the TRX energy/bandwidth fee. Must belong to the same vault and have positive TRX balance.
Holder address (must belong to the vault). For approve it is the on-chain initiator; for transfer-from it is the token holder being debited.
Optional maximum TRX fee for the transaction.
Contract interaction method, approve = authorize feePayer to spend tokens on behalf of fromAddress (always uint256.max), transfer-from = feePayer moves tokens from fromAddress to toAddress (requires a prior approve).
Transaction note (max 250 characters).
Required when method is transfer-from. Recipient of the tokens.
Unique identifier of the Vault Account.
Specifies the version of the API that incorporates this endpoint.
Defines the ID of the request. The requestId is generated by Vaultody and it's unique for every request.
In batch situations the user can use the context to correlate responses with requests. This property is present regardless of whether the response was successful or returned as an error. context is specified by the user.
Token symbol
Chain Asset ID of the TRC20 token.
Contract interaction details.
TRC20 token contract address.
Address paying the TRX gas fee.
Maximum fee for the transaction.
Method invoked on the contract.
Transaction note with additional details.
For approve: a single entry pointing at the token contract address with amount=0. For transfer-from: a single entry with the recipient address and token amount.
Destination address (token contract for approve; recipient for transfer-from)
Defines the amount sent to the destination address (when method is approve amount is 0 ).
Token symbol.
Amount calculated in USD.
Source of the transaction (the token holder address).
Sender's address.
Token amount of the transaction (0 for approve).
Represents a unique identifier of the transaction request.
Defines the status of the transaction, e.g. "created".
Unique identifier of the wallet associated with the transaction.
Unique identifier of the webhook that triggered this callback.
A unique key used to prevent duplicate processing of this callback if it's sent more than once.
The version of the API that this webhook callback conforms.
Contains the event type and all related transaction information.
Type of webhook event: TRANSACTION_REQUEST indicates a new transaction request has been created and is pending approval or rejection.
Contains detailed metadata about the outgoing mined transaction
The specific vault account id.
The specific asset id.
The specific asset unit.
A unique identifier for the original transaction request that initiated this outgoing transaction.
The type of asset being transferred: COIN, TOKEN, LINKING, SMART_COIN, SMART_TOKEN, FREEZE, UNFREEZE, DELEGATE, UNDELEGATE, WITHDRAW_RESOURCE,BATCH.
cb233681a8ee35665296c1824c1f67bc46691788
PSqeqRLap8rBc/wogNU1DeGGUPb2VyVtg6GiBOaBnYQ=
1681885776
zYgKeueoOq
{
"context": "yourExampleString",
"data": {
"item": {
"amount": "5",
"assetId": "6995822ce883e61317b3d6e8",
"feePayer": "TNVVnKu7aAt4zZ5LstHx3B7nfg6xtKggq9",
"fromAddress": "TZHvDmEiHBhKt4afaD77hGX38uKM4B8Uyq",
"maxFee": "3",
"method": "transfer-from",
"note": "yourAdditionalInformationhere",
"toAddress": "TRQMiKnp2WcJCVbeLwKAAvQAYizsYxpA1P",
"vaultAccountId": "6913471c6b2794841dc8fb81"
}
}
}
{
"apiVersion": "2026-03-20",
"requestId": "601c1710034ed6d407996b30",
"context": "yourExampleString",
"data": {
"item": {
"amountUnit": "USDT",
"assetId": "6995822ce883e61317b3d6e8",
"contractInteractionData": {
"contractAddress": "TXLAQ63Xg1NAzckPwKHvzw7CSEmLMEqcdj"
},
"feePayer": "TNVVnKu7aAt4zZ5LstHx3B7nfg6xtKggq9",
"maxFee": "3",
"method": "transfer-from",
"note": "yourAdditionalInformationhere",
"recipients": [
{
"address": "TRQMiKnp2WcJCVbeLwKAAvQAYizsYxpA1P",
"amount": "5",
"amountUnit": "USDT",
"convertedAmountToUSD": "5"
}
],
"senders": {
"address": "TZHvDmEiHBhKt4afaD77hGX38uKM4B8Uyq"
},
"totalTransactionAmount": "5",
"transactionRequestId": "62daacdbc8a7282e9ea01c35",
"transactionRequestStatus": "created"
}
}
}
{
"walletId": "685121237d7d1e0007ac1a1d",
"webhookId": "68516e9c6620b0a4790ed541",
"idempotencyKey": "928fe1786859b5e33a2f63c569a0351e0c90cbe35bc5a7bb0bb1523cd371dda9",
"apiVersion": "2025-09-23",
"data": {
"event": "TRANSACTION_REQUEST",
"item": {
"vaultAccountId": "69ba58c529eb49000746b311",
"assetId": "6913471c6b2794841dc8fb6f",
"unit": "BTC",
"requestId": "686cd2860ca2f4fd25f77099",
"transactionType": "COIN"
}
}
}