Skip to content

/wallet/getdelegatedresource

Legacy lookup: Returns only Stake 1.0 delegation records; does not work with V2 data. There is no version gate in the source, so it can still be called after V2 is enabled to look up legacy V1 positions. For new use cases, use /wallet/getdelegatedresourcev2.

Query all resource delegation records from→to (Stake 1.0).

  • Source: framework/src/main/java/org/tron/core/services/http/GetDelegatedResourceServlet.java
  • Method: GET / POST
  • Response: api.DelegatedResourceList
  • Solidity endpoint: /walletsolidity/getdelegatedresource

Request parameters

Field Type Required Description
fromAddress string Yes Resource lender address
toAddress string Yes Resource receiver address
visible bool No Address format

Example:

curl --request POST \
     --url https://nile.trongrid.io/wallet/getdelegatedresource \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "fromAddress": "41dd791d6b49e190062d650e6a23c575510d35f2f9",
  "toAddress":   "4192ad11c1bf16b3b14b0bd6b5c7e2db73a0b5e83a"
}
'

Response

Field Type Description
delegatedResource repeated DelegatedResource Delegation record list

DelegatedResource fields:

Field Type Description
from string Delegator
to string Receiver
frozen_balance_for_bandwidth int64 Frozen amount delegated for bandwidth
frozen_balance_for_energy int64 Frozen amount delegated for energy
expire_time_for_bandwidth int64 Bandwidth delegation expiry
expire_time_for_energy int64 Energy delegation expiry

Response example (no V1 delegation between the example accounts on Nile, returns empty object):

{}

Response when V1 delegation exists:

{
  "delegatedResource": [
    {
      "from": "41dd791d6b49e190062d650e6a23c575510d35f2f9",
      "to":   "4192ad11c1bf16b3b14b0bd6b5c7e2db73a0b5e83a",
      "frozen_balance_for_energy": 1000000000,
      "expire_time_for_energy":    1700000000000
    }
  ]
}

Error responses

Trigger Response
Request body exceeds node.maxMessageSize {"Error": "class java.lang.Exception : body size is too big, the limit is <N>"}
fromAddress / toAddress is not valid base58check (visible=true) GET: with non-base58 characters, throws {"Error": "class java.lang.IllegalArgumentException : <details>"}; if only the checksum is wrong, Util.getHexAddress silently returns empty string → no record found, returns {}. POST (via JsonFormat.merge): with non-base58 characters, throws {"Error": "class org.tron.core.services.http.JsonFormat$ParseException : <pos>: INVALID base58 String, ..."}; if only the checksum is wrong, throws {"Error": "class java.lang.NullPointerException : null"}
fromAddress / toAddress is not valid hex (visible=false) {"Error": "class org.bouncycastle.util.encoders.DecoderException : <message>"} (GET); {"Error": "class org.tron.core.services.http.JsonFormat$ParseException : <message>"} (POST)
Request body is not valid JSON / field type mismatch (POST) {"Error": "class com.alibaba.fastjson.JSONException : <parser info>"} or {"Error": "class org.tron.core.services.http.JsonFormat$ParseException : <decoder info>"}
Other exceptions {"Error": "<exceptionClass> : <message>"}