wallet-cli asset update¶
Change the mutable fields of the TRC10 you issued.
Synopsis¶
wallet-cli asset update [--description <s>] [--url <url>]
[--free-net-per-account <n>] [--public-free-net <n>]
[--dry-run | (--sign-only | --build-only) [--expiration <ms>] | --wait [--wait-timeout <ms>]]
[--permission-id <n>] [options]
Description¶
There is no token argument: the command always targets the TRC10 issued by the signing account. An account that has not issued one fails with not_an_issuer.
Only four fields can ever change — description, URL, free bandwidth per holder, and the shared free-bandwidth pool. Supply, precision, ICO rate, ICO window, and frozen tranches were fixed at issuance and the chain offers no way to alter them.
Pass only the fields you are changing. The others are read from chain and written back unchanged, so nothing is silently cleared; at least one field is required. The receipt shows all four as they now stand.
By default the command returns at submission (stage: "submitted"), not confirmation — add --wait to block until confirmed/failed. Requires an account. The master password (via --password-stdin) is needed only by the modes that sign — --dry-run and --build-only do not unlock the wallet and run without it. Watch-only accounts fail with watch_only_no_signer in a signing mode.
The Ledger TRON app cannot sign TRC10 issuance contract types. Ledger accounts may dry-run or build unsigned hex, but signing modes fail with ledger_unsupported before device interaction.
Options¶
| Option | Description |
|---|---|
--description <s> |
New description, ≤ 200 bytes (unchanged if omitted) |
--url <url> |
New project page, non-empty, ≤ 256 bytes (unchanged if omitted) |
--free-net-per-account <n> |
Free bandwidth each holder may use (unchanged if omitted) |
--public-free-net <n> |
Shared free-bandwidth pool for holders (unchanged if omitted) |
--dry-run |
Build and estimate only, no signature/broadcast; excludes --sign-only / --build-only |
--sign-only |
Sign without broadcasting, output the signed hex; excludes --dry-run / --build-only; pairs with --expiration |
--build-only |
Build and estimate, output the unsigned hex; excludes --dry-run / --sign-only; pairs with --expiration |
--expiration <ms> |
Transaction expiration in ms, up to 86400000 (24h); only with --sign-only or --build-only; omitted = node default (~60s) |
--permission-id <n> |
Permission group to sign with (0=owner, 1=witness, 2-9=active); default 0 |
--wait / --wait-timeout <ms> |
Poll after broadcast until confirmed/failed (cap default: config waitTimeoutMs, built-in 60000) |
--password-stdin |
Master password from stdin (fd 0) |
Plus the global options.
Examples¶
In the examples, $PW is your master password (from an environment variable, password manager, etc.), fed on stdin via --password-stdin.
echo "$PW" | wallet-cli asset update --url https://mytoken.io/v2 --network tron:3448148188 --wait --password-stdin
✅ Asset updated
Asset MyToken (id 1000123)
Issuer TQkXm4vN...5Zt7Uw
Url https://mytoken.io/v2
Description Demo TRC10
Free net/account 0
Public free net 0
TxID 9e3...
Block #57,883,190
Fee 0 TRX
Status success
echo "$PW" | wallet-cli asset update --url https://mytoken.io/v2 --network tron:3448148188 --wait --password-stdin -o json
{"schema":"wallet-cli.result.v1","success":true,"command":"asset.update","data":{"kind":"asset-update","stage":"confirmed","txId":"9e3...","confirmed":true,"blockNumber":57883190,"feeSun":0,"netUsed":295,"netFeeSun":0,"failed":false,"assetId":"1000123","name":"MyToken","issuerAddress":"TQkXm4vN...","url":"https://mytoken.io/v2","description":"Demo TRC10","freeAssetNetLimit":0,"publicFreeAssetNetLimit":0},"meta":{"durationMs":6480,"warnings":[]},"chain":{"family":"tron","network":"tron:3448148188","chainId":"3448148188"}}
Output¶
data varies by stage:
| Stage | Fields |
|---|---|
| default (submit) | kind: "asset-update", stage: "submitted", txId, assetId, name, issuerAddress, and the four fields as submitted |
--wait (confirmed) |
above, plus stage: "confirmed", confirmed (boolean), blockNumber, flat settlement fields when returned (feeSun, energyUsed, netUsed, energyFeeSun, netFeeSun), and failed |
The four fields are url, description, freeAssetNetLimit, and publicFreeAssetNetLimit — always all four, including the ones read back unchanged. Confirmation resource fields are flat; there is no nested resource object.
Exit status¶
0 submitted (or built/signed in early-exit modes) · 1 execution failure (not_an_issuer — this account has not issued a TRC10, watch_only_no_signer, ledger_unsupported, auth_failed) · 2 usage error (invalid_value — no field given at all, or a URL / description that is too long; the command has no required flag, so a bare call is invalid_value, not missing_option).
See also¶
asset issue · asset info · Script safety