/wallet/updateasset¶
Update a TRC10 token's description, URL, and bandwidth limits (issuer-only).
- Source:
framework/src/main/java/org/tron/core/services/http/UpdateAssetServlet.java - Method:
POST - Contract:
protocol.UpdateAssetContract(asset_issue_contract.proto)
Request parameters¶
| Field | Type | Required | Description |
|---|---|---|---|
owner_address |
string | Yes | Issuer address |
description |
string | No | New description (UTF-8 hex) |
url |
string | No | New URL (UTF-8 hex) |
new_limit |
int64 | No | Per-account free bandwidth quota |
new_public_limit |
int64 | No | Public free bandwidth quota |
permission_id |
int32 | No | Multi-sig permission ID |
visible |
bool | No | Format for addresses and text fields |
Example:
curl --request POST \
--url https://nile.trongrid.io/wallet/updateasset \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"owner_address": "41088a2bfcb1c7271029fd69a66859d55560895884",
"description": "44494345",
"url": "68747470733a2f2f747261782e696f",
"new_limit": 5000,
"new_public_limit": 10000
}
'
Response¶
Returns an unsigned protocol.Transaction.
Response example (txID, ref_block_*, expiration, timestamp, and raw_data_hex vary by the moment of construction):
{
"visible": false,
"txID": "6c1b46170308da102f2b70b4976ead59b3c9c02bba044c18da27f7e25779e10d",
"raw_data": {
"contract": [
{
"parameter": {
"value": {
"owner_address": "41088a2bfcb1c7271029fd69a66859d55560895884",
"description": "44494345",
"url": "68747470733a2f2f747261782e696f",
"new_limit": 5000,
"new_public_limit": 10000
},
"type_url": "type.googleapis.com/protocol.UpdateAssetContract"
},
"type": "UpdateAssetContract"
}
],
"ref_block_bytes": "2799",
"ref_block_hash": "0734893a1ba1ff5e",
"expiration": 1777446327000,
"timestamp": 1777446269173
},
"raw_data_hex": "0a02279922080734893a1ba1ff5e40d8a5bac0dd335a6c080f12680a30747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5570646174654173736574436f6e747261637412340a1541088a2bfcb1c7271029fd69a66859d555608958841204444943451a0f68747470733a2f2f747261782e696f20882728904e70f5e1b6c0dd33"
}
Error responses¶
| Trigger | Response |
|---|---|
Request body exceeds node.maxMessageSize |
{"Error": "class java.lang.Exception : body size is too big, the limit is <N>"} |
| Request body is not valid JSON / field type mismatch | {"Error": "class com.alibaba.fastjson.JSONException : <parser info>"} or {"Error": "class org.tron.core.services.http.JsonFormat$ParseException : <decoder info>"} |
Invalid owner_address |
{"Error": "class org.tron.core.exception.ContractValidateException : Invalid ownerAddress"} |
| Account does not exist | {"Error": "... : Account does not exist"} |
| Account has not issued any token (V1) | {"Error": "... : Account has not issued any asset"} |
| Token not found in AssetIssueStore (V1) | {"Error": "... : Asset is not existed in AssetIssueStore"} |
| Token not found in AssetIssueV2Store | {"Error": "... : Asset is not existed in AssetIssueV2Store"} |
Invalid url |
{"Error": "... : Invalid url"} |
Invalid description |
{"Error": "... : Invalid description"} |
Invalid new_limit |
{"Error": "... : Invalid FreeAssetNetLimit"} |
Invalid new_public_limit |
{"Error": "... : Invalid PublicFreeAssetNetLimit"} |
| Other exceptions | {"Error": "<exceptionClass> : <message>"} |