Skip to main content
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

FieldTypeDescriptionSignature Required
tokenTokenIDThe Token to be updatedN/A
symbolstringThe 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
namestringThe 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
treasuryAccountIDThe 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
adminKeyKeyThe new Admin key of the Token. If Token is immutable, transaction will resolve to TOKEN_IS_IMMUTABlE.If updated, required
kycKeyKeyThe 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
freezeKeyKeyThe 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
wipeKeyKeyThe 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
supplyKeyKeyThe 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
autoRenewAccountAccountIDThe new account which will be automatically charged to renew the token’s expiration, at autoRenewPeriod interval.N/A
autoRenewPerioduint64The new interval at which the auto-renew account will be charged to extend the token’s expiry.N/A
expiryuint64The 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_TIMEN/A
memostringThe memo associated with the token (UTF-8 encoding max 100 bytes)N/A
feeScheduleKeyKeyIf 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_KEYN/A
pause_keyKeyThe 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_KEYN/A