delegateresource - Tron

delegateresource. Creates a transaction to delegate bandwidth or energy from one account to another.

delegateresource - tron [Value: 20CU]
Creates a transaction to delegate bandwidth or energy from one account to another.
Use cases

Use cases

  • Share staked bandwidth/energy with a hot wallet or contract-calling address
  • Sponsor gas (energy) for users of a dApp without transferring TRX ownership
Constraints

Constraints

  • Requires the owner_address to already have Stake 2.0 frozen balance to delegate from
  • When lock is true, the delegation cannot be undone via undelegateresource until the lock period ends
Get started
Unlock Access to 100+ chains
Boost your app's speed and reliability with dRPC - get your access API key

Language

Request
Examples
curl --request POST \
     --url https://lb.drpc.live/tron/{API-KEY}/wallet/delegateresource \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '{"owner_address": "TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g", "receiver_address": "TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g", "balance": 1, "resource": "example", "lock": true, "visible": true}'
Copy
Response
200
{
  "visible": false,
  "txID": "<computed from raw_data>",
  "raw_data": {
    "contract": [
      {
        "parameter": {
          "value": {
            "owner_address":    "41dd791d6b49e190062d650e6a23c575510d35f2f9",
            "receiver_address": "4192ad11c1bf16b3b14b0bd6b5c7e2db73a0b5e83a",
            "balance":          1000000000,
            "resource":         "ENERGY",
            "lock":             false
          },
          "type_url": "type.googleapis.com/protocol.DelegateResourceContract"
        },
        "type": "DelegateResourceContract"
      }
    ],
    "ref_block_bytes": "<latest solidified block at construction time>",
    "ref_block_hash":  "<latest solidified block at construction time>",
    "expiration":      "<timestamp + 60_000>",
    "timestamp":       "<construction moment>"
  },
  "raw_data_hex": "<protobuf encoding of raw_data>"
}
Copy

Request params

idinteger
jsonrpcstring
methodstring
Parametersobject
object
owner_addressstring
[Required] The account delegating its staked resource
receiver_addressstring
[Required] The account receiving the delegated resource
balanceinteger
[Required] Amount of TRX-equivalent stake to delegate, in sun
resourcestring
Resource type to delegate: BANDWIDTH or ENERGY
lockboolean
When true, the delegation cannot be reclaimed for a lock period
lock_periodint64
Lock duration (block count, only when lock=true)
Permission_idinteger
Multi-sig permission ID
visibleboolean
When true, addresses are base58check strings; when false (default), hex strings

Response

200
Creates a transaction to delegate bandwidth or energy from one account to another.

Response params

object
visibleboolean
Indicates whether addresses in this transaction are represented in base58 format (true) or hex format (false).
txIDstring
The unique transaction hash (transaction ID), computed as the SHA256 of raw_data.
raw_dataobject
The unsigned transaction body containing the contract instruction and blockchain reference data.
object
contractarray_of_objects
The list of contract instructions to be executed by this transaction.
object
parameterobject
The typed payload describing the specific contract call being made.
object
valueobject
The decoded fields of the contract — here, a Stake 2.0 request to delegate staked resources to another account.
object
owner_addressstring
The address delegating its staked resource, in hex format.
receiver_addressstring
The address receiving the delegated resource, in hex format.
balanceinteger
The amount of TRX, in sun, worth of staked resource being delegated.
resourcestring
The resource type being delegated, either BANDWIDTH or ENERGY.
lockboolean
Whether the delegated balance is locked, preventing the delegator from undelegating it before a fixed period elapses.
type_urlstring
The fully qualified protobuf type identifier describing which contract schema `value` should be decoded with.
typestring
The human-readable name of the contract type being executed (here, DelegateResourceContract).
ref_block_bytesstring
The last two bytes of the reference block number, taken from the latest solidified block at the time the transaction was built, used for replay protection.
ref_block_hashstring
The last eight bytes of the reference block's hash, taken from the same solidified block, paired with ref_block_bytes for replay protection.
expirationinteger
Unix timestamp, in ms, after which this transaction is no longer valid; typically set to the construction timestamp plus 60,000 ms.
timestampinteger
Unix timestamp, in ms, marking the moment the transaction was constructed.
raw_data_hexstring
The hex-encoded protobuf serialization of raw_data, used as the actual payload to sign and broadcast.