> ## Documentation Index
> Fetch the complete documentation index at: https://hedera-0c6e0218-mintlify-bc559771.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# TokenUpdate

> TokenUpdateTransaction is the Hedera Token Service protobuf message used to update properties, keys, and metadata of an existing HTS token.

Updates an already created Token.

If no value is given for a field, that field is left unchanged. For an immutable token (that is, a token created without an adminKey), only the expiry may be updated. Setting any other field, in that case, will cause the transaction status to resolve to TOKEN\_IS\_IMMUTABlE.

## TokenUpdateTransactionBody

| Field              | Type                                                   | Description                                                                                                                                                                                                                                                            | Signature Required   |
| ------------------ | ------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- |
| `token`            | [TokenID](/reference/protobuf/basic-types/tokenid)     | The Token to be updated                                                                                                                                                                                                                                                | N/A                  |
| `symbol`           | string                                                 | The new publicly visible symbol of the token. The token name is specified as a Unicode string. Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).                                                                                        | N/A                  |
| `name`             | string                                                 | The new publicly visible name of the token. The token name is specified as a Unicode string. Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).                                                                                          | N/A                  |
| `treasury`         | [AccountID](/reference/protobuf/basic-types/accountid) | The new Treasury account of the Token. If the provided treasury account is not existing or deleted, the response will be INVALID\_TREASURY\_ACCOUNT\_FOR\_TOKEN. If successful, the Token balance held in the previous Treasury Account is transferred to the new one. | If updated, required |
| `adminKey`         | [Key](/reference/protobuf/basic-types/key)             | The new Admin key of the Token. If Token is immutable, transaction will resolve to TOKEN\_IS\_IMMUTABlE.                                                                                                                                                               | If updated, required |
| `kycKey`           | [Key](/reference/protobuf/basic-types/key)             | The new KYC key of the Token. If Token does not have currently a KYC key, transaction will resolve to TOKEN\_HAS\_NO\_KYC\_KEY.                                                                                                                                        | If updated, required |
| `freezeKey`        | [Key](/reference/protobuf/basic-types/key)             | The new Freeze key of the Token. If the Token does not have currently a Freeze key, transaction will resolve to TOKEN\_HAS\_NO\_FREEZE\_KEY.                                                                                                                           | If updated, required |
| `wipeKey`          | [Key](/reference/protobuf/basic-types/key)             | The new Wipe key of the Token. If the Token does not have currently a Wipe key, transaction will resolve to TOKEN\_HAS\_NO\_WIPE\_KEY.                                                                                                                                 | If updated, required |
| `supplyKey`        | [Key](/reference/protobuf/basic-types/key)             | The new Supply key of the Token. If the Token does not have currently a Supply key, transaction will resolve to TOKEN\_HAS\_NO\_SUPPLY\_KEY.                                                                                                                           | If updated, required |
| `autoRenewAccount` | [AccountID](/reference/protobuf/basic-types/accountid) | The new account which will be automatically charged to renew the token's expiration, at autoRenewPeriod interval.                                                                                                                                                      | N/A                  |
| `autoRenewPeriod`  | uint64                                                 | The new interval at which the auto-renew account will be charged to extend the token's expiry.                                                                                                                                                                         | N/A                  |
| `expiry`           | uint64                                                 | The new expiry time of the token. Expiry can be updated even if admin key is not set. If the provided expiry is earlier than the current token expiry, transaction wil resolve to INVALID\_EXPIRATION\_TIME                                                            | N/A                  |
| `memo`             | string                                                 | The memo associated with the token (UTF-8 encoding max 100 bytes)                                                                                                                                                                                                      | N/A                  |
| `feeScheduleKey`   | [Key](/reference/protobuf/basic-types/key)             | If set, the new key to use to update the token's custom fee schedule; if the token does not currently have this key, transaction will resolve to TOKEN\_HAS\_NO\_FEE\_SCHEDULE\_KEY                                                                                    | N/A                  |
| `pause_key`        | Key                                                    | The Key which can pause and unpause the Token. If the Token does not currently have a pause key, transaction will resolve to TOKEN\_HAS\_NO\_PAUSE\_KEY                                                                                                                | N/A                  |
