On-chain Operations
Delegate a TRON Resource
Delegate TRON energy or bandwidth from a vault to a destination party, such as a contact, and get back a pending transaction.
Request example
Response example
POST
/api/external/transactions/
Use resource delegation for chain-level protocol actions. These transactions can have chain-specific data requirements and may require approval before broadcast.
Request body
TransferPartyData
required
Vault that delegates the resource.
TransferPartyData
required
Party that receives the delegated resource.
string
required
Asset symbol.
string
required
Blockchain identifier.
string
required
Decimal amount to delegate.
string
required
One of
TRON_ENERGY or TRON_BANDWIDTH.string
required
Must be
"DELEGATE_RESOURCE".string
Client reference.
string
Human-readable note.
The SDK accepts
chain and serializes it as blockChain. It injects category: "DELEGATE_RESOURCE".Response
Returns the new Transaction. Itsstatus is the lifecycle source of truth.
string
Transaction ID. Use it with Retrieve Transaction to track status.
string
Organization that owns the transaction.
string
Vault the transaction runs from.
string
Lifecycle status. Track it until
COMPLETED, FAILED, or DECLINED. See TransactionStatus.string
See TransactionType.
string
For example
TRANSFER or CONTRACT_CALL. See TransactionCategory.string
string
Creation timestamp (ISO 8601).
string
Last update timestamp (ISO 8601).
boolean
Whether the transaction is deleted.
string
Your own reference, if you set one.
string
Memo you attached, if any.
TransferPartyData
Where the funds come from. Which fields are present depends on
type. See TransferPartyData.TransferPartyData
Where the funds go. Same fields as
source. See TransferPartyData.string
Chain the transaction runs on.
string
Asset moved.
string
Amount as a decimal string.
Approve the transaction
New transactions returnstatus: "PENDING" and wait for approval. Get the approval message for the transaction id, sign it with your API user’s key, then submit the approval. See Approvals.
With the SDK, call approveChangeRequest({ entityId: transaction.id, action: "approve" }) after this call.
Request example
Response example